Commit 457a73d3 authored by Vivek Gautam's avatar Vivek Gautam Committed by Sarah Sharp

usb: host: xhci: Fix Null pointer dereferencing with 71c731a2 for non-x86 systems

In 71c731a2: usb: host: xhci: Fix Compliance Mode on SN65LVPE502CP Hardware
when extracting DMI strings (vendor or product_name) to mark them as quirk
we may get NULL pointer in case of non-x86 systems which won't define
CONFIG_DMI. Hence susbsequent strstr() calls crash while driver probing.

So, returning 'false' here in case we get a NULL vendor or product_name.

This is tested with ARM (exynos) system.

This patch should be backported to stable kernels as old as 3.6, that
contain the commit 71c731a2 "usb: host:
xhci: Fix Compliance Mode on SN65LVPE502CP Hardware"
Signed-off-by: default avatarVivek Gautam <gautam.vivek@samsung.com>
Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
Reported-by: default avatarSebastian Gottschall (DD-WRT) <s.gottschall@dd-wrt.com>
Cc: stable@vger.kernel.org
parent a6e097df
...@@ -471,6 +471,8 @@ static bool compliance_mode_recovery_timer_quirk_check(void) ...@@ -471,6 +471,8 @@ static bool compliance_mode_recovery_timer_quirk_check(void)
dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME); dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME);
dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR); dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR);
if (!dmi_product_name || !dmi_sys_vendor)
return false;
if (!(strstr(dmi_sys_vendor, "Hewlett-Packard"))) if (!(strstr(dmi_sys_vendor, "Hewlett-Packard")))
return false; return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment