summaryrefslogtreecommitdiff
path: root/include/uapi/linux/netdev.h
diff options
context:
space:
mode:
authorMuhammad Bilal <meatuni001@gmail.com>2026-05-24 10:37:10 +0000
committerRob Herring (Arm) <robh@kernel.org>2026-06-04 17:43:27 -0500
commitee6d9b6e51626f259c6f0e38d94f91be4fd14754 (patch)
tree93e92e6c9bd7efd70b906ec5783d1a7b27fd2f95 /include/uapi/linux/netdev.h
parente703843f242b28e35ac79408de571ae110c740b5 (diff)
downloadlwn-ee6d9b6e51626f259c6f0e38d94f91be4fd14754.tar.gz
lwn-ee6d9b6e51626f259c6f0e38d94f91be4fd14754.zip
accel/ethosu: fix arithmetic issues in dma_length()
dma_length() derives DMA region usage from command stream values and updates region_size[]: len = ((len + stride[0]) * size0 + stride[1]) * size1 region_size[region] = max(..., len + dma->offset) Several arithmetic issues can corrupt the derived region size: - signed stride values may underflow when added to len - intermediate multiplications may overflow - len + dma->offset may overflow during region_size updates - dma_length() error returns were not validated by the caller region_size[] is later used by ethosu_job.c to validate command stream accesses against GEM buffer sizes. Arithmetic wraparound can therefore under-report region usage and bypass the bounds validation. Fix by validating signed additions, using overflow helpers for multiplications and offset updates, and propagating dma_length() failures to the caller. Fixes: 5a5e9c0228e6 ("accel: Add Arm Ethos-U NPU driver") Cc: stable@vger.kernel.org Signed-off-by: Muhammad Bilal <meatuni001@gmail.com> Link: https://patch.msgid.link/20260524103710.47397-1-meatuni001@gmail.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Diffstat (limited to 'include/uapi/linux/netdev.h')
0 files changed, 0 insertions, 0 deletions