[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025022621-CVE-2022-49220-7247@gregkh>
Date: Wed, 26 Feb 2025 02:57:05 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2022-49220: dax: make sure inodes are flushed before destroy cache
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
dax: make sure inodes are flushed before destroy cache
A bug can be triggered by following command
$ modprobe nd_pmem && modprobe -r nd_pmem
[ 10.060014] BUG dax_cache (Not tainted): Objects remaining in dax_cache on __kmem_cache_shutdown()
[ 10.060938] Slab 0x0000000085b729ac objects=9 used=1 fp=0x000000004f5ae469 flags=0x200000000010200(slab|head|node)
[ 10.062433] Call Trace:
[ 10.062673] dump_stack_lvl+0x34/0x44
[ 10.062865] slab_err+0x90/0xd0
[ 10.063619] __kmem_cache_shutdown+0x13b/0x2f0
[ 10.063848] kmem_cache_destroy+0x4a/0x110
[ 10.064058] __x64_sys_delete_module+0x265/0x300
This is caused by dax_fs_exit() not flushing inodes before destroy cache.
To fix this issue, call rcu_barrier() before destroy cache.
The Linux kernel CVE team has assigned CVE-2022-49220 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.12 with commit 7b6be8444e0f0dd675b54d059793423d3c9b4c03 and fixed in 5.4.189 with commit 770d42fff12d8595adda9025a0b92091f543e775
Issue introduced in 4.12 with commit 7b6be8444e0f0dd675b54d059793423d3c9b4c03 and fixed in 5.10.110 with commit ec376f5c11c88c0215d173599db8449cd4196759
Issue introduced in 4.12 with commit 7b6be8444e0f0dd675b54d059793423d3c9b4c03 and fixed in 5.15.33 with commit e2951eaa9398415ac054b7bd80b8163b6838ead4
Issue introduced in 4.12 with commit 7b6be8444e0f0dd675b54d059793423d3c9b4c03 and fixed in 5.16.19 with commit f2a1e0eb70c2d954176c07d75d28742bde30e9f3
Issue introduced in 4.12 with commit 7b6be8444e0f0dd675b54d059793423d3c9b4c03 and fixed in 5.17.2 with commit b786abe7c67c6ef71410c8e23292b3091d616ad1
Issue introduced in 4.12 with commit 7b6be8444e0f0dd675b54d059793423d3c9b4c03 and fixed in 5.18 with commit a7e8de822e0b1979f08767c751f6c8a9c1d4ad86
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2022-49220
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/dax/super.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/770d42fff12d8595adda9025a0b92091f543e775
https://git.kernel.org/stable/c/ec376f5c11c88c0215d173599db8449cd4196759
https://git.kernel.org/stable/c/e2951eaa9398415ac054b7bd80b8163b6838ead4
https://git.kernel.org/stable/c/f2a1e0eb70c2d954176c07d75d28742bde30e9f3
https://git.kernel.org/stable/c/b786abe7c67c6ef71410c8e23292b3091d616ad1
https://git.kernel.org/stable/c/a7e8de822e0b1979f08767c751f6c8a9c1d4ad86
Powered by blists - more mailing lists