CVE-2022-49666

Source
https://cve.org/CVERecord?id=CVE-2022-49666
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49666.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-49666
Downstream
Published
2025-02-26T02:24:01.148Z
Modified
2026-04-02T08:27:48.358130Z
Summary
powerpc/memhotplug: Add add_pages override for PPC
Details

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

powerpc/memhotplug: Add add_pages override for PPC

With commit ffa0b64e3be5 ("powerpc: Fix virtaddrvalid() for 64-bit Book3E & 32-bit") the kernel now validate the addr against highmemory value. This results in the below BUGON with dax pfns.

[ 635.798741][T26531] kernel BUG at mm/pagealloc.c:5521! 1:mon> e cpu 0x1: Vector: 700 (Program Check) at [c000000007287630] pc: c00000000055ed48: freepages.part.0+0x48/0x110 lr: c00000000053ca70: tlbfinishmmu+0x80/0xd0 sp: c0000000072878d0 msr: 800000000282b033 current = 0xc00000000afabe00 paca = 0xc00000037ffff300 irqmask: 0x03 irqhappened: 0x05 pid = 26531, comm = 50-landscape-sy kernel BUG at :5521! Linux version 5.19.0-rc3-14659-g4ec05be7c2e1 (kvaneesh@ltc-boston8) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #625 SMP Thu Jun 23 00:35:43 CDT 2022 1:mon> t [link register ] c00000000053ca70 tlbfinishmmu+0x80/0xd0 [c0000000072878d0] c00000000053ca54 tlbfinishmmu+0x64/0xd0 (unreliable) [c000000007287900] c000000000539424 exitmmap+0xe4/0x2a0 [c0000000072879e0] c00000000019fc1c mmput+0xcc/0x210 [c000000007287a20] c000000000629230 beginnewexec+0x5e0/0xf40 [c000000007287ae0] c00000000070b3cc loadelfbinary+0x3ac/0x1e00 [c000000007287c10] c000000000627af0 bprmexecve+0x3b0/0xaf0 [c000000007287cd0] c000000000628414 doexecveatcommon.isra.0+0x1e4/0x310 [c000000007287d80] c00000000062858c sysexecve+0x4c/0x60 [c000000007287db0] c00000000002c1b0 systemcallexception+0x160/0x2c0 [c000000007287e10] c00000000000c53c systemcallcommon+0xec/0x250

The fix is to make sure we update highmemory on memory hotplug. This is similar to what x86 does in commit 3072e413e305 ("mm/memoryhotplug: introduce add_pages")

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49666.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
fddb88bd266f4513abab7c36bca98935c9148a98
Fixed
89296ac435e2cf8a5101f7fab8f0c7b754b92052
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
ffa0b64e3be58519ae472ea29a1a1ad681e32f48
Fixed
84d146fd35a01b08e9515041de60f0f915a417d5
Fixed
ac790d09885d36143076e7e02825c541e8eee899
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
deab81144d5a043f42804207fb76cfbd8a806978
Last affected
d36febbcd537fcc50284e8b89609632d0146529f
Last affected
a3727c25eacd7e437c4f560957fa3a376fe93e6b
Last affected
cbc065efcba000ad8f615f506ebe61b6d3c5145b

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49666.json"