CVE-2022-50870

Summary

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

powerpc/rtas: avoid device tree lookups in rtas_os_term()

rtas_os_term() is called during panic. Its behavior depends on a couple of conditions in the /rtas node of the device tree, the traversal of which entails locking and local IRQ state changes. If the kernel panics while devtree_lock is held, rtas_os_term() as currently written could hang.

Instead of discovering the relevant characteristics at panic time, cache them in file-static variables at boot. Note the lookup for "ibm,extended-os-term" is converted to of_property_read_bool() since it is a boolean property, not an RTAS function token.

[mpe: Incorporate suggested change from Nick]

Affected Software

VendorProductVersion RangeStatus
LinuxLinux088186ded490ced80758200cf8f906ed741df306 < e23822c7381c59d9e42e65771b6e17c71ed30ea7affected
LinuxLinux088186ded490ced80758200cf8f906ed741df306 < 06a07fbb32b3a23eec20a42b1e64474da0a3b33eaffected
LinuxLinux088186ded490ced80758200cf8f906ed741df306 < c2fa91abf22a705cf02f886cd99cff41f4ceda60affected
LinuxLinux088186ded490ced80758200cf8f906ed741df306 < f2167f10fcca68ab9ae3f8d94d2c704c5541ac69affected
LinuxLinux088186ded490ced80758200cf8f906ed741df306 < d8939315b7342860df143afe0adda6212cdd3193affected
LinuxLinux088186ded490ced80758200cf8f906ed741df306 < 698e682c849e356fb47a8be47ca8baa817cf31e0affected
LinuxLinux088186ded490ced80758200cf8f906ed741df306 < 464d10e8d797454e16a173ef1292a446b2adf21caffected
LinuxLinux088186ded490ced80758200cf8f906ed741df306 < ed2213bfb192ab51f09f12e9b49b5d482c6493f3affected
LinuxLinux2.6.16affected
LinuxLinux0 < 2.6.16unaffected
LinuxLinux4.14.303 <= 4.14.*unaffected
LinuxLinux4.19.270 <= 4.19.*unaffected
LinuxLinux5.4.229 <= 5.4.*unaffected
LinuxLinux5.10.163 <= 5.10.*unaffected
LinuxLinux5.15.87 <= 5.15.*unaffected
LinuxLinux6.0.17 <= 6.0.*unaffected
LinuxLinux6.1.3 <= 6.1.*unaffected
LinuxLinux6.2 <= *unaffected

Weaknesses

References