CVE: CVE-2023-54257
Published: 2025-12-30
Description: In the Linux kernel, the following vulnerability has been resolved:

net: macb: fix a memory corruption in extended buffer descriptor mode

For quite some time we were chasing a bug which looked like a sudden
permanent failure of networking and mmc on some of our devices.
The bug was very sensitive to any software changes and even more to
any kernel debug options.

Finally we got a setup where the problem was reproducible with
CONFIG_DMA_API_DEBUG=y and it revealed the issue with the rx dma:

[   16.992082] ------------[ cut here ]------------
[   16.996779] DMA-API: macb ff0b0000.ethernet: device driver tries to free DMA memory it has not allocated [device address=0x[PII_REDACTED]e3e244] [size=1536 bytes]
[   17.011049] WARNING: CPU: 0 PID: 85 at kernel/dma/debug.c:1011 check_unmap+0x6a0/0x900
[   17.018977] Modules linked in: xxxxx
[   17.038823] CPU: 0 PID: 85 Comm: irq/55-8000f000 Not tainted 5.4.0 #28
[   17.045345] Hardware name: xxxxx
[   17.049528] pstate: 60000005 (nZCv daif -PAN -UAO)
[   17.054322] pc : check_unmap+0x6a0/0x900
[   17.058243] lr : check_unmap+0x6a0/0x900
[   17.062163] sp : ffffffc010003c40
[   17.065470] x29: ffffffc010003c40 x28:[PII_REDACTED]00c03c
[   17.070783] x27: ffffffc010da7048 x26: ffffff8878e38800
[   17.076095] x25: ffffff8879d22810 x24: ffffffc010003cc8
[   17.081407] x23: [PII_REDACTED] x22: ffffffc010a08750
[   17.086719] x21: ffffff8878e3c7c0 x20: ffffffc010acb000
[   17.092032] x19:[PII_REDACTED]e3e244 x18: [PII_REDACTED]
[   17.097343] x17: [PII_REDACTED] x16: [PII_REDACTED]
[   17.102647] x15: ffffff8879e4a988 x14: [PII_REDACTED]
[   17.107959] x13: [PII_REDACTED] x12: [PII_REDACTED]
[   17.113261] x11: [PII_REDACTED] x10: [PII_REDACTED]
[   17.118565] x9 : [PII_REDACTED] x8 :[PII_REDACTED]00022d
[   17.123869] x7 : [PII_REDACTED] x6 : [PII_REDACTED]
[   17.129173] x5 : [PII_REDACTED] x4 : [PII_REDACTED]
[   17.134475] x3 : 00000000ffffffff x2 : ffffffc010a1d370
[   17.139778] x1 : b420c9d75d27bb00 x0 : [PII_REDACTED]
[   17.145082] Call trace:
[   17.147524]  check_unmap+0x6a0/0x900
[   17.151091]  debug_dma_unmap_page+0x88/0x90
[   17.155266]  gem_rx+0x114/0x2f0
[   17.158396]  macb_poll+0x58/0x100
[   17.161705]  net_rx_action+0x118/0x400
[   17.165445]  __do_softirq+0x138/0x36c
[   17.169100]  irq_exit+0x98/0xc0
[   17.172234]  __handle_domain_irq+0x64/0xc0
[   17.176320]  gic_handle_irq+0x5c/0xc0
[   17.179974]  el1_irq+0xb8/0x140
[   17.183109]  xiic_process+0x5c/0xe30
[   17.186677]  irq_thread_fn+0x28/0x90
[   17.190244]  irq_thread+0x208/0x2a0
[   17.193724]  kthread+0x130/0x140
[   17.196945]  ret_from_fork+0x10/0x20
[   17.200510] ---[ end trace[PII_REDACTED]f81d6f ]---

[  237.021490] ------------[ cut here ]------------
[  237.026129] DMA-API: exceeded 7 overlapping mappings of cacheline 0x[PII_REDACTED]d79e7b
[  237.033886] WARNING: CPU: 0 PID: 0 at kernel/dma/debug.c:499 add_dma_entry+0x214/0x240
[  237.041802] Modules linked in: xxxxx
[  237.061637] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W         5.4.0 #28
[  237.068941] Hardware name: xxxxx
[  237.073116] pstate: 80000085 (Nzcv daIf -PAN -UAO)
[  237.077900] pc : add_dma_entry+0x214/0x240
[  237.081986] lr : add_dma_entry+0x214/0x240
[  237.086072] sp : ffffffc010003c30
[  237.089379] x29: ffffffc010003c30 x28: ffffff8878a0be00
[  237.094683] x27: [PII_REDACTED] x26: ffffff8878e387c0
[  237.099987] x25: [PII_REDACTED] x24: [PII_REDACTED]
[  237.105290] x23:[PII_REDACTED]00003b x22: ffffffc010a0fa00
[  237.110594] x21:[PII_REDACTED]d79e7b x20: ffffffc010abe600
[  237.115897] x19: 00000000ffffffef x18: [PII_REDACTED]
[  237.121201] x17: [PII_REDACTED] x16: [PII_REDACTED]
[  237.126504] x15: ffffffc010a0fdc8 x14: [PII_REDACTED]
[  237.131807] x13: [PII_REDACTED] x12: [PII_REDACTED]
[  237.137111] x11: [PII_REDACTED] x10: [PII_REDACTED]
[  237.142415] x9 : [PII_REDACTED] x8 : [PII_REDACTED]
[  237.147718] x7 : [PII_REDACTED] x6 : [PII_REDACTED]
[  237.15302
---truncated---
References: https://git.kernel.org/stable/c/1bec9da233f779e7b6954ee07ad7e6d8f2a4dd83; https://git.kernel.org/stable/c/5dcf3a6843d0d7cc76960fbe8511d425f217744c; https://git.kernel.org/stable/c/7169d1638824c4bf7e0fe0baad381ddec861fa70