CVE-2022-50614
Description
In the Linux kernel, the following vulnerability has been resolved:
misc: pci_endpoint_test: Fix pci_endpoint_test_{copy,write,read}() panic
The dma_map_single() doesn't permit zero length mapping. It causes a follow panic.
A panic was reported on arm64:
[ 60.137988] ------------[ cut here ]------------ [ 60.142630] kernel BUG at kernel/dma/swiotlb.c:624! [ 60.147508] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP [ 60.152992] Modules linked in: dw_hdmi_cec crct10dif_ce simple_bridge rcar_fdp1 vsp1 rcar_vin videobuf2_vmalloc rcar_csi2 v4l 2_mem2mem videobuf2_dma_contig videobuf2_memops pci_endpoint_test videobuf2_v4l2 videobuf2_common rcar_fcp v4l2_fwnode v4l2_asyn c videodev mc gpio_bd9571mwv max9611 pwm_rcar ccree at24 authenc libdes phy_rcar_gen3_usb3 usb_dmac display_connector pwm_bl [ 60.186252] CPU: 0 PID: 508 Comm: pcitest Not tainted 6.0.0-rc1rpci-dev+ #237 [ 60.193387] Hardware name: Renesas Salvator-X 2nd version board based on r8a77951 (DT) [ 60.201302] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 60.208263] pc : swiotlb_tbl_map_single+0x2c0/0x590 [ 60.213149] lr : swiotlb_map+0x88/0x1f0 [ 60.216982] sp : ffff80000a883bc0 [ 60.220292] x29: ffff80000a883bc0 x28: 0000000000000000 x27: 0000000000000000 [ 60.227430] x26: 0000000000000000 x25: ffff0004c0da20d0 x24: ffff80000a1f77c0 [ 60.234567] x23: 0000000000000002 x22: 0001000040000010 x21: 000000007a000000 [ 60.241703] x20: 0000000000200000 x19: 0000000000000000 x18: 0000000000000000 [ 60.248840] x17: 0000000000000000 x16: 0000000000000000 x15: ffff0006ff7b9180 [ 60.255977] x14: ffff0006ff7b9180 x13: 0000000000000000 x12: 0000000000000000 [ 60.263113] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 [ 60.270249] x8 : 0001000000000010 x7 : ffff0004c6754b20 x6 : 0000000000000000 [ 60.277385] x5 : ffff0004c0da2090 x4 : 0000000000000000 x3 : 0000000000000001 [ 60.284521] x2 : 0000000040000000 x1 : 0000000000000000 x0 : 0000000040000010 [ 60.291658] Call trace: [ 60.294100] swiotlb_tbl_map_single+0x2c0/0x590 [ 60.298629] swiotlb_map+0x88/0x1f0 [ 60.302115] dma_map_page_attrs+0x188/0x230 [ 60.306299] pci_endpoint_test_ioctl+0x5e4/0xd90 [pci_endpoint_test] [ 60.312660] __arm64_sys_ioctl+0xa8/0xf0 [ 60.316583] invoke_syscall+0x44/0x108 [ 60.320334] el0_svc_common.constprop.0+0xcc/0xf0 [ 60.325038] do_el0_svc+0x2c/0xb8 [ 60.328351] el0_svc+0x2c/0x88 [ 60.331406] el0t_64_sync_handler+0xb8/0xc0 [ 60.335587] el0t_64_sync+0x18c/0x190 [ 60.339251] Code: 52800013 d2e00414 35fff45c d503201f (d4210000) [ 60.345344] ---[ end trace 0000000000000000 ]---
To fix it, this patch adds a checking the payload length if it is zero.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A panic in the Linux kernel's pci_endpoint_test driver occurs when dma_map_single() is called with a zero-length mapping.
Vulnerability
Analysis
The vulnerability resides in the pci_endpoint_test driver within the Linux kernel. The root cause is that the functions pci_endpoint_test_copy(), pci_endpoint_test_write(), and pci_endpoint_test_read() call dma_map_single() with a size of zero. The DMA mapping API explicitly forbids zero-length mappings, and on arm64 systems using swiotlb, this leads to a kernel BUG trigger at swiotlb_tbl_map_single() [1].
Attack
Vector & Prerequisites
Exploitation requires the attacker to have the ability to interact with the PCI endpoint test driver—typically through the pcitest user-space tool or similar interface. The attacker must be able to trigger a read, write, or copy operation with a zero-length buffer. This can be achieved by a local user with sufficient privileges to access the PCI endpoint test character device, though the exact permissions depend on the system configuration. No special network position is required; the attack is local [1].
Impact
When triggered, the vulnerability causes a kernel panic, resulting in a denial of service (DoS) on the affected system. The panic is immediate and terminates all user-space processes, requiring a reboot to restore normal operation. The impact is limited to availability; there is no evidence of privilege escalation or data corruption [1].
Mitigation
The issue was fixed in the Linux kernel by adding a check for a zero transfer size before calling the DMA mapping functions. Patched versions are available in stable kernel updates, including commits referenced as [1], [2], and [3]. Users should apply the latest kernel updates from their distribution vendor or compile a patched kernel. No workaround exists other than not using the affected driver or upgrading.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2- Range: >= 6.0.0-rc1
Patches
50df206bdc620e5ebcbb4f967279116cb0bc56c01739c2aba8e30538eca01Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- git.kernel.org/stable/c/0df206bdc6204b758585bbe159a55e23e7917b13nvd
- git.kernel.org/stable/c/279116cb0bc5cd8af65d6a00ffe074bd09842f88nvd
- git.kernel.org/stable/c/6c01739c2aba19553beb20491b05515af9246f0fnvd
- git.kernel.org/stable/c/8e30538eca016de8e252bef174beadecd64239f0nvd
- git.kernel.org/stable/c/e5ebcbb4f967af2083d409271aaf7c7d8351603fnvd
News mentions
0No linked articles in our index yet.