CVE-2026-68330: net: airoha: Fix DMA direction for NPU mailbox buffer

Greg Kroah-Hartman <[email protected]>
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026081035-CVE-2026-68330-b794@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

net: airoha: Fix DMA direction for NPU mailbox buffer

airoha_npu_send_msg() always maps the mailbox buffer with DMA_TO_DEVICE,
but some callers expect the NPU to write response data back into the
same buffer:

- airoha_npu_wlan_msg_get() (NPU_OP_GET): NPU writes response into
  the buffer, then the caller reads it via memcpy()
- airoha_npu_ppe_stats_setup() (NPU_OP_SET): NPU writes back
  npu_stats_addr field in the response

On non-cache-coherent architectures like EN7581 (Cortex-A53 without
hardware cache coherency for NPU DMA), DMA_TO_DEVICE unmap is a no-op
— it does not invalidate the CPU cache. If the NPU-written cache line
is still present in the CPU cache when the caller reads the buffer,
the CPU observes stale data instead of the NPU response.

This is a timing-sensitive bug: small mailbox buffers (~24 bytes)
typically fit in a single cache line and may survive in the cache
until the caller reads them, producing silent data corruption rather
than a crash. The bug is more likely to trigger when the caller reads
the response immediately after dma_unmap_single() without intervening
cache-evicting operations.

Fix by using DMA_BIDIRECTIONAL for both map and unmap, which ensures
dma_unmap_single() invalidates the CPU cache on non-coherent systems.
The mailbox buffers are small so there is no performance concern.

The Linux kernel CVE team has assigned CVE-2026-68330 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 6.16 with commit c52918744ee1e49cea86622a2633b9782446428f and fixed in 6.18.42 with commit 76fc5604308a109bf5838c2a0a0eb3ac6819f1ea
	Issue introduced in 6.16 with commit c52918744ee1e49cea86622a2633b9782446428f and fixed in 7.1.6 with commit 4c4d866a64f36718cbcdf20add372a599dd44311
	Issue introduced in 6.16 with commit c52918744ee1e49cea86622a2633b9782446428f and fixed in 7.2-rc5 with commit 6f884eb87a79e0c482baef2ad96c96b81d024235

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-2026-68330
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/net/ethernet/airoha/airoha_npu.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/76fc5604308a109bf5838c2a0a0eb3ac6819f1ea
	https://git.kernel.org/stable/c/4c4d866a64f36718cbcdf20add372a599dd44311
	https://git.kernel.org/stable/c/6f884eb87a79e0c482baef2ad96c96b81d024235
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.