Description
In the Linux kernel, the following vulnerability has been resolved: platform/x86: intel-hid: Protect ACPI notify handler against recursion Since commit e2ffcda16290 ("ACPI: OSL: Allow Notify () handlers to run on all CPUs") ACPI notify handlers like the intel-hid notify_handler() may run on multiple CPU cores racing with themselves. On convertibles and detachables (matched by DMI chassis-type 31 and 32 in dmi_auto_add_switch[]) the SW_TABLET_MODE input device is registered lazily from notify_handler() on the first tablet-mode event, via intel_hid_switches_setup(). When two such events race on different CPUs both can pass the !priv->switches check and register the priv->switches input device twice, resulting in a duplicate sysfs entry and a subsequent NULL pointer dereference. This is the same class of bug fixed by commit e075c3b13a0a ("platform/x86: intel-vbtn: Protect ACPI notify handler against recursion") for the sibling intel-vbtn driver. Protect intel-hid notify_handler() from racing with itself with a mutex to fix this.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
e2ffcda1629012a2c1a3706432bc45fdc899a584 to < a6402808e552e44e9c26a9fe8395ac11703d5800affectede2ffcda1629012a2c1a3706432bc45fdc899a584 to < 86df6499dfd232fbc1c82c0d6eb9322ca67b8cd0affectede2ffcda1629012a2c1a3706432bc45fdc899a584 to < eace3b3e729d5ba11794d69acfafb58a7950217caffectede2ffcda1629012a2c1a3706432bc45fdc899a584 to < c085d82613d5618814b84406c8b2d64f1bc305e7affected
Linux Linux
Default version status: affected
6.8affected0 to < 6.8unaffected6.12.96 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected