[PATCH net v3 0/3] net: liquidio: Fix memory leaks in setup_nic_devices()
From: Zilin Guan <hidden>
Date: 2026-01-27 15:12:53
Also in:
lkml
This series fixes memory leaks in the initialization paths of the NIC devices. Patch 1 fixes an off-by-one error in the PF cleanup loop. It ensures the current device index is cleaned up and correctly handles the post-loop devlink_alloc failure case. Patch 2 fixes the same off-by-one error in the VF cleanup loop. Patch 3 moves the initialization of oct->props[i].netdev before queue setup calls. This ensures that if queue setup fails, the cleanup function can find and free the allocated netdev. It also initializes lio->oct_dev early to prevent a crash in the cleanup path. Signed-off-by: Zilin Guan <redacted> Changes in v3: - Split the off-by-one fix into separate patches for PF and VF. - Patch 1: Decrement i in the devlink_alloc error path before jumping to cleanup to avoid accessing an invalid index. - Patch 3: Initialize lio->oct_dev alongside props->netdev to prevent NULL pointer dereference in cleanup_rx_oom_poll_fn(). Changes in v2: - Add patch 1 to fix an off-by-one error in the error handling loop logic. Zilin Guan (3): net: liquidio: Fix off-by-one error in PF setup_nic_devices() cleanup net: liquidio: Fix off-by-one error in VF setup_nic_devices() cleanup net: liquidio: Initialize netdev pointer before queue setup .../net/ethernet/cavium/liquidio/lio_main.c | 38 ++++++++++--------- .../ethernet/cavium/liquidio/lio_vf_main.c | 3 +- 2 files changed, 22 insertions(+), 19 deletions(-) -- 2.34.1