CVE: CVE-2023-53306
Published: 2025-09-16
Description: In the Linux kernel, the following vulnerability has been resolved:

fsdax: force clear dirty mark if CoW

XFS allows CoW on non-shared extents to combat fragmentation[1].  The old
non-shared extent could be mwrited before, its dax entry is marked dirty. 

This results in a WARNing:

[   28.512349] ------------[ cut here ]------------
[   28.512622] WARNING: CPU: 2 PID: 5255 at fs/dax.c:390 dax_insert_entry+0x342/0x390
[   28.513050] Modules linked in: rpcsec_gss_krb5 auth_rpcgss nfsv4 nfs lockd grace fscache netfs nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables
[   28.515462] CPU: 2 PID: 5255 Comm: fsstress Kdump: loaded Not tainted 6.3.0-rc1-00001-g85e1481e19c1-dirty #117
[   28.515902] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS Arch Linux 1.16.1-1-1 04/01/2014
[   28.516307] RIP: 0010:dax_insert_entry+0x342/0x390
[   28.516536] Code: 30 5b 5d 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc 48 8b 45 20 48 83 c0 01 e9 e2 fe ff ff 48 8b 45 20 48 83 c0 01 e9 cd fe ff ff <0f> 0b e9 53 ff ff ff 48 8b 7c 24 08 31 f6 e8 1b 61 a1 00 eb 8c 48
[   28.517417] RSP: 0000:ffffc9000845fb18 EFLAGS: 00010086
[   28.517721] RAX: [PII_REDACTED] RBX: [PII_REDACTED] RCX:[PII_REDACTED]18824b
[   28.518113] RDX: [PII_REDACTED] RSI: ffffffff827525a6 RDI: 00000000ffffffff
[   28.518515] RBP: ffffea00062092c0 R08: [PII_REDACTED] R09: ffffc9000845f9c8
[   28.518905] R10: [PII_REDACTED] R11: ffffffff82ddb7e8 R12: [PII_REDACTED]
[   28.519301] R13: [PII_REDACTED] R14:[PII_REDACTED]18824b R15: ffff88810cfa76b8
[   28.519703] FS:  00007f14a0c94740(0000) GS:ffff88817bd00000(0000) knlGS:[PII_REDACTED]
[   28.520148] CS:  0010 DS: 0000 ES: 0000 CR0: [PII_REDACTED]
[   28.520472] CR2: 00007f14a0c8d000 CR3:[PII_REDACTED]21c004 CR4:[PII_REDACTED]770ee0
[   28.520863] PKRU: 55555554
[   28.521043] Call Trace:
[   28.521219]  <TASK>
[   28.521368]  dax_fault_iter+0x196/0x390
[   28.521595]  dax_iomap_pte_fault+0x19b/0x3d0
[   28.521852]  __xfs_filemap_fault+0x234/0x2b0
[   28.522116]  __do_fault+0x30/0x130
[   28.522334]  do_fault+0x193/0x340
[   28.522586]  __handle_mm_fault+0x2d3/0x690
[   28.522975]  handle_mm_fault+0xe6/0x2c0
[   28.523259]  do_user_addr_fault+0x1bc/0x6f0
[   28.523521]  exc_page_fault+0x60/0x140
[   28.523763]  asm_exc_page_fault+0x22/0x30
[   28.524001] RIP: 0033:0x7f14a0b589ca
[   28.524225] Code: c5 fe 7f 07 c5 fe 7f 47 20 c5 fe 7f 47 40 c5 fe 7f 47 60 c5 f8 77 c3 66 0f 1f 84 00 00 00 00 00 40 0f b6 c6 48 89 d1 48 89 fa <f3> aa 48 89 d0 c5 f8 77 c3 66 66 2e 0f 1f 84 00 00 00 00 00 66 90
[   28.525198] RSP: 002b:00007fff1dea1c98 EFLAGS: 00010202
[   28.525505] RAX:[PII_REDACTED]00001e RBX:[PII_REDACTED]14a000 RCX: [PII_REDACTED]
[   28.525895] RDX: 00007f14a0c82000 RSI:[PII_REDACTED]00001e RDI: 00007f14a0c8d000
[   28.526290] RBP:[PII_REDACTED]00006f R08: [PII_REDACTED] R09:[PII_REDACTED]14a000
[   28.526681] R10: [PII_REDACTED] R11: [PII_REDACTED] R12: 028f5c28f5c28f5c
[   28.527067] R13: 8f5c28f5c28f5c29 R14: [PII_REDACTED] R15: 00007f14a0c946c0
[   28.527449]  </TASK>
[   28.527600] ---[ end trace [PII_REDACTED] ]---


To be able to delete this entry, clear its dirty mark before
invalidate_inode_pages2_range().

[1] https://lore.kernel.org/linux-xfs/[PII_REDACTED]1339.GA11376@frogsfrogsfrogs/
CVSS Score: 5.5 (MEDIUM)
References: https://git.kernel.org/stable/c/f76b3a32879de215ced3f8c754c4077b0c2f79e3; https://git.kernel.org/stable/c/fac05f800abb63dc4d7cc48fe7edf16e0520dc1f