{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2022-49379","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-02-26T02:08:31.558Z","datePublished":"2025-02-26T02:11:17.795Z","dateUpdated":"2025-05-04T08:36:25.934Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2025-05-04T08:36:25.934Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndriver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction\n\nMounting NFS rootfs was timing out when deferred_probe_timeout was\nnon-zero [1].  This was because ip_auto_config() initcall times out\nwaiting for the network interfaces to show up when\ndeferred_probe_timeout was non-zero. While ip_auto_config() calls\nwait_for_device_probe() to make sure any currently running deferred\nprobe work or asynchronous probe finishes, that wasn't sufficient to\naccount for devices being deferred until deferred_probe_timeout.\n\nCommit 35a672363ab3 (\"driver core: Ensure wait_for_device_probe() waits\nuntil the deferred_probe_timeout fires\") tried to fix that by making\nsure wait_for_device_probe() waits for deferred_probe_timeout to expire\nbefore returning.\n\nHowever, if wait_for_device_probe() is called from the kernel_init()\ncontext:\n\n- Before deferred_probe_initcall() [2], it causes the boot process to\n  hang due to a deadlock.\n\n- After deferred_probe_initcall() [3], it blocks kernel_init() from\n  continuing till deferred_probe_timeout expires and beats the point of\n  deferred_probe_timeout that's trying to wait for userspace to load\n  modules.\n\nNeither of this is good. So revert the changes to\nwait_for_device_probe().\n\n[1] - https://lore.kernel.org/lkml/TYAPR01MB45443DF63B9EF29054F7C41FD8C60@TYAPR01MB4544.jpnprd01.prod.outlook.com/\n[2] - https://lore.kernel.org/lkml/YowHNo4sBjr9ijZr@dev-arch.thelio-3990X/\n[3] - https://lore.kernel.org/lkml/Yo3WvGnNk3LvLb7R@linutronix.de/"}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/base/dd.c"],"versions":[{"version":"35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe","lessThan":"71cbce75031aed26c72c2dc8a83111d181685f1b","status":"affected","versionType":"git"},{"version":"35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe","lessThan":"29357883a89193863f3cc6a2c5e0b42ceb022761","status":"affected","versionType":"git"},{"version":"35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe","lessThan":"528229474e1cbb1b3451cb713d94aecb5f6ee264","status":"affected","versionType":"git"},{"version":"35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe","lessThan":"4ad6af07efcca85369c21e4897b3020cff2c170b","status":"affected","versionType":"git"},{"version":"35a672363ab3e8dfe4ebcadb4dd0b2d06bb85ebe","lessThan":"5ee76c256e928455212ab759c51d198fedbe7523","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/base/dd.c"],"versions":[{"version":"5.7","status":"affected"},{"version":"0","lessThan":"5.7","status":"unaffected","versionType":"semver"},{"version":"5.10.122","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.47","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"5.17.15","lessThanOrEqual":"5.17.*","status":"unaffected","versionType":"semver"},{"version":"5.18.4","lessThanOrEqual":"5.18.*","status":"unaffected","versionType":"semver"},{"version":"5.19","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.10.122"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.15.47"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.17.15"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.18.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.19"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/71cbce75031aed26c72c2dc8a83111d181685f1b"},{"url":"https://git.kernel.org/stable/c/29357883a89193863f3cc6a2c5e0b42ceb022761"},{"url":"https://git.kernel.org/stable/c/528229474e1cbb1b3451cb713d94aecb5f6ee264"},{"url":"https://git.kernel.org/stable/c/4ad6af07efcca85369c21e4897b3020cff2c170b"},{"url":"https://git.kernel.org/stable/c/5ee76c256e928455212ab759c51d198fedbe7523"}],"title":"driver core: Fix wait_for_device_probe() & deferred_probe_timeout interaction","x_generator":{"engine":"bippy-1.2.0"}}}}