CVE-2023-54268

Summary

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

debugobjects: Don't wake up kswapd from fill_pool()

syzbot is reporting a lockdep warning in fill_pool() because the allocation from debugobjects is using GFP_ATOMIC, which is (__GFP_HIGH | __GFP_KSWAPD_RECLAIM) and therefore tries to wake up kswapd, which acquires kswapd_wait::lock.

Since fill_pool() might be called with arbitrary locks held, fill_pool() should not assume that acquiring kswapd_wait::lock is safe.

Use __GFP_HIGH instead and remove __GFP_NORETRY as it is pointless for !__GFP_DIRECT_RECLAIM allocation.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux3ac7fe5a4aab409bd5674d0b070bce97f9d20872 < be646802b3dc408c4dc72a3ac32c3f4a0282414daffected
LinuxLinux3ac7fe5a4aab409bd5674d0b070bce97f9d20872 < fd673079749bac97bb30f1461df079e6c8e86511affected
LinuxLinux3ac7fe5a4aab409bd5674d0b070bce97f9d20872 < aee97eec77029270866c704f66cdf2881cbd2fe1affected
LinuxLinux3ac7fe5a4aab409bd5674d0b070bce97f9d20872 < d7fff52c99d52f180d8bef95d8ed8fec6343889caffected
LinuxLinux3ac7fe5a4aab409bd5674d0b070bce97f9d20872 < 4c088d30a72d9b8f9c6ae9362222942e4075cb00affected
LinuxLinux3ac7fe5a4aab409bd5674d0b070bce97f9d20872 < eb799279fb1f9c63c520fe8c1c41cb9154252db6affected
LinuxLinux2.6.26affected
LinuxLinux0 < 2.6.26unaffected
LinuxLinux5.4.244 <= 5.4.*unaffected
LinuxLinux5.10.181 <= 5.10.*unaffected
LinuxLinux5.15.114 <= 5.15.*unaffected
LinuxLinux6.1.31 <= 6.1.*unaffected
LinuxLinux6.3.5 <= 6.3.*unaffected
LinuxLinux6.4 <= *unaffected

Weaknesses

References