On Tue, Sep 18, 2012 at 02:51:57AM +0200, Sebastian Gottschall (DD-WRT) wrote:
> this following function is missing a important NULL check. if DMI is
> not available or not enabled in the kernel config (which is common
> in my case, since its a ARM Platform with XHCI support)
> the xhci-hcd driver will crash due nullpointer access since
> dmi_get_system_info returns always NULL if DMI support is not
> enabled.
>
> static bool compliance_mode_recovery_timer_quirk_check(void)
> {
> const char *dmi_product_name, *dmi_sys_vendor;
>
> dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME);
> dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR);
>
> if (!(strstr(dmi_sys_vendor, "Hewlett-Packard")))
> return false;
>
> if (strstr(dmi_product_name, "Z420") ||
> strstr(dmi_product_name, "Z620") ||
> strstr(dmi_product_name, "Z820"))
> return true;
>
> return false;
> }
>
> proposed patch: simply add
>
> if (!dmi_sys_vendor || !dmi_product_name)
> return false;
>
> even better. disable the whole quirk handling for this case if
> CONFIG_DMI is not set
Care to send a patch to fix this up?
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html