list_first_entry() never returns NULL — if the list is empty, it still returns a pointer to an invalid object, leading to potential invalid memory access when dereferenced. The calls to list_first_entry() are always guarded by !list_empty(), which guarantees a valid entry is returned. Therefore, the additional `if (!p_buffer) break;` checks in qed_ooo_release_connection_isles(), qed_ooo_release_all_isles(), and qed_ooo_free() are redundant and unreachable. Remove the dead code for clarity and consistency with common list handling patterns in the kernel. No functional change intended. Signed-off-by: Zhen Ni <zhen.ni@easystack.cn> Link: https://patch.msgid.link/20250924030219.1252773-1-zhen.ni@easystack.cn Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
||
|---|---|---|
| .. | ||
| Makefile | ||
| qed.h | ||
| qed_chain.c | ||
| qed_cxt.c | ||
| qed_cxt.h | ||
| qed_dbg_hsi.h | ||
| qed_dcbx.c | ||
| qed_dcbx.h | ||
| qed_debug.c | ||
| qed_debug.h | ||
| qed_dev.c | ||
| qed_dev_api.h | ||
| qed_devlink.c | ||
| qed_devlink.h | ||
| qed_fcoe.c | ||
| qed_fcoe.h | ||
| qed_hsi.h | ||
| qed_hw.c | ||
| qed_hw.h | ||
| qed_init_fw_funcs.c | ||
| qed_init_ops.c | ||
| qed_init_ops.h | ||
| qed_int.c | ||
| qed_int.h | ||
| qed_iro_hsi.h | ||
| qed_iscsi.c | ||
| qed_iscsi.h | ||
| qed_iwarp.c | ||
| qed_iwarp.h | ||
| qed_l2.c | ||
| qed_l2.h | ||
| qed_ll2.c | ||
| qed_ll2.h | ||
| qed_main.c | ||
| qed_mcp.c | ||
| qed_mcp.h | ||
| qed_mfw_hsi.h | ||
| qed_mng_tlv.c | ||
| qed_nvmetcp.c | ||
| qed_nvmetcp.h | ||
| qed_nvmetcp_fw_funcs.c | ||
| qed_nvmetcp_fw_funcs.h | ||
| qed_ooo.c | ||
| qed_ooo.h | ||
| qed_ptp.c | ||
| qed_ptp.h | ||
| qed_rdma.c | ||
| qed_rdma.h | ||
| qed_reg_addr.h | ||
| qed_roce.c | ||
| qed_roce.h | ||
| qed_selftest.c | ||
| qed_selftest.h | ||
| qed_sp.h | ||
| qed_sp_commands.c | ||
| qed_spq.c | ||
| qed_sriov.c | ||
| qed_sriov.h | ||
| qed_vf.c | ||
| qed_vf.h | ||