Linux: x86/amd_node: Fix potential NULL pointer dereference
What fixes it
No source in this snapshot names a fixed version.
Description
In the Linux kernel, the following vulnerability has been resolved:
x86/amd_node: Fix potential NULL pointer dereference
amd_smn_read/write() are exported functions around __amd_smn_rw(), so they are always available even if amd_smn_init() fails. In that case, 'amd_roots' is NULL and __amd_smn_rw() will access uninitialized memory.
Then, commit:
83518453074d ("x86/amd_node: Add SMN offsets to exclusive region access")
added the 'smn_exclusive' flag, which indicated the calls to pci_request_config_region_exclusive() succeeded, to prevent concurrent userspace access.
Commit:
0a4b61d9c2e4 ("x86/amd_node: Fix AMD root device caching")
re-ordered initialization so pci_request_config_region_exclusive() is called earlier and a failure exits amd_smn_init() before allocating 'amd_roots'. The setting of 'smn_exclusive' moved to the end of amd_smn_init(), after 'amd_roots' is allocated. It became redundant and can be removed.
Replace 'smn_exclusive' with directly checking 'amd_roots', to fix a potential NULL pointer dereference and to simplify the logic.
[ bp: Reorg commit message, touchup comment. ] [ mingo: Rebase & further touchups. ]
Text from CVE List
Affected versions 8
- Linuxaffected: 77466b798d59d6761501ff36094cf430d3876549 before fcd19bc829eca237742a3b123f839ad1c473ec85CVE List
- Linuxaffected: 77466b798d59d6761501ff36094cf430d3876549 before a797a2331e5d2ecdbccbae222ea71c759fdb2c2bCVE List
- Linuxaffected: 77466b798d59d6761501ff36094cf430d3876549 before aefdbd574a362dcf7569bada6d72f64a006b9fb9CVE List
- Linuxaffected: 6.14CVE List
- Linuxunaffected: all versions before 6.14CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List