Description
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Null out freed pointers in qla2x00_mem_alloc() error path When qla2x00_mem_alloc() fails, qla2x00_probe_one() jumps to probe_hw_failed and calls qla2x00_mem_free(). Several error labels in qla2x00_mem_alloc() freed adapter members (elsrej.c, purex_dma_pool, flt, sfp_data, loop_id_map, async_pd, sf_init_cb, ex_init_cb, npiv_info) but left the pointers dangling. qla2x00_mem_free() then freed them a second time. Worse, for the dma_pool members it issued dma_pool_free(ha->s_dma_pool, ...) after s_dma_pool had already been destroyed and set to NULL at fail_s_dma_pool, dereferencing a NULL pool. Clear each freed pointer (and its DMA handle) in the error labels so the subsequent qla2x00_mem_free() skips them.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d64d6c5671db5e693a0caaee79f2571b098749c9 to < 5e0d6ffabbbd86b3fb9168b9dbb62190ecb20d84affectedd64d6c5671db5e693a0caaee79f2571b098749c9 to < 84f5de696b8c924aeb4bf430a0bdc762fc50e99faffectedd64d6c5671db5e693a0caaee79f2571b098749c9 to < a57570229edb7a0990d5c8067daeb9ac8858a961affectedd64d6c5671db5e693a0caaee79f2571b098749c9 to < 286d9594a022dd7e0caa3de9daa63b896bc70d43affectedd64d6c5671db5e693a0caaee79f2571b098749c9 to < 6d90f0feb929f6c0f3010f9af4747c7230b75993affected8540351ee8a4d540b1b7ee64b88d5e42c7c0bfbcaffected7142b10b87d5b393a0688358b16a4b1d3680ec7daffected4.14.27 to < 4.15affected4.15.10 to < 4.16affected
Linux Linux
Default version status: affected
4.16affected0 to < 4.16unaffected6.6.160 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/5e0d6ffabbbd86b3fb9168b9dbb62190ecb20d84 ↗
- https://git.kernel.org/stable/c/84f5de696b8c924aeb4bf430a0bdc762fc50e99f ↗
- https://git.kernel.org/stable/c/a57570229edb7a0990d5c8067daeb9ac8858a961 ↗
- https://git.kernel.org/stable/c/286d9594a022dd7e0caa3de9daa63b896bc70d43 ↗
- https://git.kernel.org/stable/c/6d90f0feb929f6c0f3010f9af4747c7230b75993 ↗