Description
In the Linux kernel, the following vulnerability has been resolved: 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.
Product status
0b1b71370458860579831e77485883fcf2e8fbbe (git) before 2fcccca88456b592bd668db13aa1d29ed257ca2b
0b1b71370458860579831e77485883fcf2e8fbbe (git) before 80165ff16051448d6f840585ebe13f2400415df3
0b1b71370458860579831e77485883fcf2e8fbbe (git) before b97415c4362f739e25ec6f71012277086fabdf6f
0b1b71370458860579831e77485883fcf2e8fbbe (git) before 4acc40db06ffd0fd92683505342b00c8a7394c60
0b1b71370458860579831e77485883fcf2e8fbbe (git) before 155eb99aff2920153bf21217ae29565fff81e6af
0b1b71370458860579831e77485883fcf2e8fbbe (git) before ed48a84a72fefb20a82dd90a7caa7807e90c6f66
5.13
Any version before 5.13
5.15.200 (semver)
6.1.163 (semver)
6.6.124 (semver)
6.12.70 (semver)
6.18.10 (semver)
6.19 (original_commit_for_fix)
References
git.kernel.org/...c/2fcccca88456b592bd668db13aa1d29ed257ca2b
git.kernel.org/...c/80165ff16051448d6f840585ebe13f2400415df3
git.kernel.org/...c/b97415c4362f739e25ec6f71012277086fabdf6f
git.kernel.org/...c/4acc40db06ffd0fd92683505342b00c8a7394c60
git.kernel.org/...c/155eb99aff2920153bf21217ae29565fff81e6af
git.kernel.org/...c/ed48a84a72fefb20a82dd90a7caa7807e90c6f66