CVE-2022-49379

driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction

published February 26, 2025

CVSS
—
EPSS
0%
Percentile
9.8
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction

Mounting NFS rootfs was timing out when deferred_probe_timeout was

non-zero [1]. This was because ip_auto_config() initcall times out

waiting for the network interfaces to show up when

deferred_probe_timeout was non-zero. While ip_auto_config() calls

wait_for_device_probe() to make sure any currently running deferred

probe work or asynchronous probe finishes, that wasn't sufficient to

account for devices being deferred until deferred_probe_timeout.

Commit 35a672363ab3 ("driver core: Ensure wait_for_device_probe() waits

until the deferred_probe_timeout fires") tried to fix that by making

sure wait_for_device_probe() waits for deferred_probe_timeout to expire

before returning.

However, if wait_for_device_probe() is called from the kernel_init()

context:

- Before deferred_probe_initcall() [2], it causes the boot process to

hang due to a deadlock.

- After deferred_probe_initcall() [3], it blocks kernel_init() from

continuing till deferred_probe_timeout expires and beats the point of

deferred_probe_timeout that's trying to wait for userspace to load

modules.

Neither of this is good. So revert the changes to

wait_for_device_probe().

[1] - https://lore.kernel.org/lkml/TYAPR01MB45443DF63B9EF29054F7C41FD8C60@TYAPR01MB4544.jpnprd01.prod.outlook.com/

[2] - https://lore.kernel.org/lkml/[email protected]/

[3] - https://lore.kernel.org/lkml/[email protected]/

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00203 · 9.8th percentile
Published
2025-02-26T02:11Z
EPSS history
Timeline
  • 26 FEB 02:11Z
    driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction
    cvelistv5