CVE-2022-49081

Source
https://cve.org/CVERecord?id=CVE-2022-49081
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49081.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49081
Downstream
Published
2025-02-26T01:54:41.639Z
Modified
2026-03-20T12:22:09.186114Z
Summary
highmem: fix checks in __kmap_local_sched_{in,out}
Details

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

highmem: fix checks in _kmaplocalsched{in,out}

When CONFIGDEBUGKMAP_LOCAL is enabled kmaplocalsched{in,out} check that even slots in the tsk->kmapctrl.pteval are unmapped. The slots are initialized with 0 value, but the check is done with ptenone. 0 pte however does not necessarily mean that ptenone will return true. e.g. on xtensa it returns false, resulting in the following runtime warnings:

WARNING: CPU: 0 PID: 101 at mm/highmem.c:627 __kmaplocalschedout+0x51/0x108 CPU: 0 PID: 101 Comm: touch Not tainted 5.17.0-rc7-00010-gd3a1cdde80d2-dirty #13 Call Trace: dumpstack+0xc/0x40 __warn+0x8f/0x174 warnslowpathfmt+0x48/0xac __kmaplocalsched_out+0x51/0x108 _schedule+0x71a/0x9c4 preemptscheduleirq+0xa0/0xe0 commonexceptionreturn+0x5c/0x93 dowppage+0x30e/0x330 handlemmfault+0xa70/0xc3c dopagefault+0x1d8/0x3c4 commonexception+0x7f/0x7f

WARNING: CPU: 0 PID: 101 at mm/highmem.c:664 __kmaplocalschedin+0x50/0xe0 CPU: 0 PID: 101 Comm: touch Tainted: G W 5.17.0-rc7-00010-gd3a1cdde80d2-dirty #13 Call Trace: dumpstack+0xc/0x40 __warn+0x8f/0x174 warnslowpathfmt+0x48/0xac __kmaplocalschedin+0x50/0xe0 finishtask_switch$isra$0+0x1ce/0x2f8 _schedule+0x86e/0x9c4 preemptscheduleirq+0xa0/0xe0 commonexceptionreturn+0x5c/0x93 dowppage+0x30e/0x330 handlemmfault+0xa70/0xc3c dopagefault+0x1d8/0x3c4 commonexception+0x7f/0x7f

Fix it by replacing !ptenone(pteval) with pteval(pteval) != 0.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49081.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
5fbda3ecd14a5343644979c98d6eb65b7e7de9d8
Fixed
c21d040de6225414547d9bd31cd200f290991c85
Fixed
85550b0f5fa5dd3c30469ea702c44444ef242c83
Fixed
7dd5b3b97716a611fcf67d92fd2370fcb8d50372
Fixed
66f133ceab7456c789f70a242991ed1b27ba1c3d

Database specific

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