---
id: CVE-2022-49220
title: 'dax: make sure inodes are flushed before destroy cache'
summary: |-
  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_c…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 <
    770d42fff12d8595adda9025a0b92091f543e775
  - >-
    Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 <
    ec376f5c11c88c0215d173599db8449cd4196759
  - >-
    Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 <
    e2951eaa9398415ac054b7bd80b8163b6838ead4
  - >-
    Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 <
    f2a1e0eb70c2d954176c07d75d28742bde30e9f3
  - >-
    Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 <
    b786abe7c67c6ef71410c8e23292b3091d616ad1
  - >-
    Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 <
    a7e8de822e0b1979f08767c751f6c8a9c1d4ad86
  - Linux 4.12
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T19:44:40.008228Z'
published: '2025-02-26'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T19:49:37.552Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2022-49220'
references:
  - url: 'https://git.kernel.org/stable/c/770d42fff12d8595adda9025a0b92091f543e775'
  - url: 'https://git.kernel.org/stable/c/ec376f5c11c88c0215d173599db8449cd4196759'
  - url: 'https://git.kernel.org/stable/c/e2951eaa9398415ac054b7bd80b8163b6838ead4'
  - url: 'https://git.kernel.org/stable/c/f2a1e0eb70c2d954176c07d75d28742bde30e9f3'
  - url: 'https://git.kernel.org/stable/c/b786abe7c67c6ef71410c8e23292b3091d616ad1'
  - url: 'https://git.kernel.org/stable/c/a7e8de822e0b1979f08767c751f6c8a9c1d4ad86'
tags:
  - cve.org
epss: 0.00269
epssPercentile: 0.19244
ingestedAt: '2026-11-05T22:38:31.567Z'
---

## Overview

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.

## Affected

- `Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 < 770d42fff12d8595adda9025a0b92091f543e775`
- `Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 < ec376f5c11c88c0215d173599db8449cd4196759`
- `Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 < e2951eaa9398415ac054b7bd80b8163b6838ead4`
- `Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 < f2a1e0eb70c2d954176c07d75d28742bde30e9f3`
- `Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 < b786abe7c67c6ef71410c8e23292b3091d616ad1`
- `Linux >= 7b6be8444e0f0dd675b54d059793423d3c9b4c03 < a7e8de822e0b1979f08767c751f6c8a9c1d4ad86`
- `Linux 4.12`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
