diff options
| author | Jiangshan Yi <yijiangshan@kylinos.cn> | 2026-08-15 20:21:49 +0800 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-08-20 12:39:53 -0700 |
| commit | d2796ffe38cb4155afe0eab23636295b096c27a5 (patch) | |
| tree | a78932685ac2de41c2f2684748537aa7eea6dcbb /tools/perf/scripts/python | |
| parent | d2c26c2911dd1a363c488add4fb63eb5f0f28f87 (diff) | |
| download | linux-d2796ffe38cb4155afe0eab23636295b096c27a5.tar.gz linux-d2796ffe38cb4155afe0eab23636295b096c27a5.zip | |
bnx2x: fix double free in bnx2x_init_firmware() error path
bnx2x_init_firmware() frees bp->init_ops, bp->init_data and
bp->init_ops_offsets in its error path without setting them to NULL.
The cleanup function bnx2x_release_firmware() frees the same three
pointers unconditionally, so if init_firmware fails and
release_firmware is later called (e.g. from __bnx2x_remove or through
the function state machine), all three are freed a second time.
Set each pointer to NULL after kfree() in the error path so that the
subsequent kfree(NULL) in bnx2x_release_firmware() is a safe no-op.
Fixes: 94a78b79cb5f ("bnx2x: Separated FW from the source.")
Cc: stable@vger.kernel.org
Signed-off-by: Jiangshan Yi <yijiangshan@kylinos.cn>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260815122149.951215-1-yijiangshan@kylinos.cn
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
