summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorDmitriy Okunev <dokunevdmitriy@gmail.com>2026-09-14 12:15:57 +0300
committerPaolo Abeni <pabeni@redhat.com>2026-09-17 14:43:29 +0200
commit14cb1e7702e5cb3c58888f6aed498381a73927d2 (patch)
tree8dc204235313dd83a6f1bf390efe087be5320e9b /tools/perf/scripts/python
parent9ca4ba24259183ce15665be86b2956cd896c4687 (diff)
downloadlinux-next-14cb1e7702e5cb3c58888f6aed498381a73927d2.tar.gz
linux-next-14cb1e7702e5cb3c58888f6aed498381a73927d2.zip
net: mvpp2: prevent buffer overflow in page_pool allocation
The per‑processor buffering scheme is supported only if the number of pools (nrxqs * 2) does not exceed MVPP2_BM_MAX_POOLS (8). This is already checked in mvpp2_probe() during the initial activation of percpu_pools. However, mvpp2_change_mtu() may later call mvpp2_bm_switch_buffers(priv, true) without this check, which can lead to an out-of-bounds access in the priv->page_pool array in mvpp2_bm_init(). The array is sized to hold MVPP2_PORT_MAX_RXQ entries, and mvpp2_get_nrxqs() may return exactly that value. The per-CPU scheme then doubles it to nrxqs * 2, exceeding the array bounds. Check that the hardware version is MVPP22 or newer and that the number of pools (nrxqs * 2) does not exceed MVPP2_BM_MAX_POOLS before switching to per-CPU mode. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: 7d04b0b13b11 ("mvpp2: percpu buffers") Signed-off-by: Dmitriy Okunev <dokunevdmitriy@gmail.com> Link: https://patch.msgid.link/20260914091557.71769-1-dokunevdmitriy@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions