powerpc/rtas: avoid device tree lookups in rtas_os_term()
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]
02 / AFFECTED SOFTWARE
Affected packages
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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]
05 / REFERENCES
Further evidence
- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
- https://git.kernel.org/stable/c/06a07fbb32b3a23eec20a42b1e64474da0a3b33e
- https://git.kernel.org/stable/c/464d10e8d797454e16a173ef1292a446b2adf21c
- https://git.kernel.org/stable/c/698e682c849e356fb47a8be47ca8baa817cf31e0
- https://git.kernel.org/stable/c/c2fa91abf22a705cf02f886cd99cff41f4ceda60
- https://git.kernel.org/stable/c/d8939315b7342860df143afe0adda6212cdd3193
- https://git.kernel.org/stable/c/e23822c7381c59d9e42e65771b6e17c71ed30ea7
- https://git.kernel.org/stable/c/ed2213bfb192ab51f09f12e9b49b5d482c6493f3
- https://git.kernel.org/stable/c/f2167f10fcca68ab9ae3f8d94d2c704c5541ac69
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50870.json
- https://nvd.nist.gov/vuln/detail/CVE-2022-50870