diff options
| author | Junrui Luo <moonafterrain@outlook.com> | 2026-01-28 16:07:34 +0800 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-01-29 18:33:56 -0800 |
| commit | ed48a84a72fefb20a82dd90a7caa7807e90c6f66 (patch) | |
| tree | 662eabd4c672cc406edbb92da62fd2115e0b5f9c /tools/perf/scripts/python/bin | |
| parent | Merge branch 'net-fix-potential-crash-in-net-sched-cls_u32-c' (diff) | |
| download | linux-ed48a84a72fefb20a82dd90a7caa7807e90c6f66.tar.gz linux-ed48a84a72fefb20a82dd90a7caa7807e90c6f66.zip | |
dpaa2-switch: prevent ZERO_SIZE_PTR dereference when num_ifs is zero
The driver allocates arrays for ports, FDBs, and filter blocks using
kcalloc() with ethsw->sw_attr.num_ifs as the element count. When the
device reports zero interfaces (either due to hardware configuration
or firmware issues), kcalloc(0, ...) returns ZERO_SIZE_PTR (0x10)
instead of NULL.
Later in dpaa2_switch_probe(), the NAPI initialization unconditionally
accesses ethsw->ports[0]->netdev, which attempts to dereference
ZERO_SIZE_PTR (address 0x10), resulting in a kernel panic.
Add a check to ensure num_ifs is greater than zero after retrieving
device attributes. This prevents the zero-sized allocations and
subsequent invalid pointer dereference.
Reported-by: Yuhao Jiang <danisjiang@gmail.com>
Reported-by: Junrui Luo <moonafterrain@outlook.com>
Fixes: 0b1b71370458 ("staging: dpaa2-switch: handle Rx path on control interface")
Signed-off-by: Junrui Luo <moonafterrain@outlook.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/SYBPR01MB7881BEABA8DA896947962470AF91A@SYBPR01MB7881.ausprd01.prod.outlook.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions
