mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 14:12:06 +00:00
b16a87d0ae
The npgs member of struct xdp_umem is an u32 entity, and stores the
number of pages the UMEM consumes. The calculation of npgs
npgs = size / PAGE_SIZE
can overflow.
To avoid overflow scenarios, the division is now first stored in a
u64, and the result is verified to fit into 32b.
An alternative would be storing the npgs as a u64, however, this
wastes memory and is an unrealisticly large packet area.
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
xdp_umem.c | ||
xdp_umem.h | ||
xsk_diag.c | ||
xsk_queue.c | ||
xsk_queue.h | ||
xsk.c | ||
xsk.h |