mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
If one of the later PF or VF CID bitmap allocations fails,
qed_cid_map_alloc() jumps to cid_map_fail and frees the previously
allocated CID bitmaps before returning an error. qed_cxt_tables_alloc()
then calls qed_cxt_mngr_free(), which invokes qed_cid_map_free()
again.
Fix this by setting each CID bitmap pointer to NULL after bitmap_free()
to avoid double free.
The bug was first flagged by an experimental analysis tool we are
developing for kernel memory-management bugs while analyzing
v6.13-rc1. The tool is still under development and is not yet publicly
available. Manual inspection confirms that the bug is still
present in v7.1-rc3.
Runtime reproduction was not attempted because exercising the failing
allocation path requires device-specific setup.
Fixes:
|
||
|---|---|---|
| .. | ||
| netxen | ||
| qed | ||
| qede | ||
| qlcnic | ||
| Kconfig | ||
| Makefile | ||
| qla3xxx.c | ||
| qla3xxx.h | ||