Description
In the Linux kernel, the following vulnerability has been resolved: scsi: elx: efct: Fix refcount leak in efct_hw_io_abort() When efct_hw_reqtag_alloc() fails in efct_hw_io_abort(), the error path returns -ENOSPC without releasing the reference obtained via kref_get_unless_zero() earlier in the function. All other error paths correctly drop the reference. This causes a permanent reference leak on the io_to_abort object. Additionally, the abort_in_progress flag is left set to true on this path, which means future abort attempts for the same I/O will immediately return -EINPROGRESS even though the abort was never submitted, effectively blocking recovery. Fix this by adding the missing kref_put() call and reset abort_in_progress to false, matching the cleanup done in the efct_hw_wq_write() failure path below.
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
63de51327a64c74e85611a0161eaae71256a3b6d to < cf97ea7b164a1881c7219f5222219c9d0fac4204affected63de51327a64c74e85611a0161eaae71256a3b6d to < 1c6e186c722cfa9a58ebe841f91ab2ddf8570cc7affected63de51327a64c74e85611a0161eaae71256a3b6d to < 62cf39a9770a6f29df59fd0edb0a05234a8b07f2affected63de51327a64c74e85611a0161eaae71256a3b6d to < faa59add4808fbf92e7d15bfd8770d2682c2b953affected63de51327a64c74e85611a0161eaae71256a3b6d to < 9b871369cbb4532f6715e044d6b9c4ceb036e5b6affected63de51327a64c74e85611a0161eaae71256a3b6d to < 747eaead2db298abfda2aa505f6d03775b40fe5faffected63de51327a64c74e85611a0161eaae71256a3b6d to < 2c007acf7b31c39c08ce4959451ad00b19be4c1faffected
Linux Linux
Default version status: affected
5.14affected0 to < 5.14unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/cf97ea7b164a1881c7219f5222219c9d0fac4204 ↗
- https://git.kernel.org/stable/c/1c6e186c722cfa9a58ebe841f91ab2ddf8570cc7 ↗
- https://git.kernel.org/stable/c/62cf39a9770a6f29df59fd0edb0a05234a8b07f2 ↗
- https://git.kernel.org/stable/c/faa59add4808fbf92e7d15bfd8770d2682c2b953 ↗
- https://git.kernel.org/stable/c/9b871369cbb4532f6715e044d6b9c4ceb036e5b6 ↗
- https://git.kernel.org/stable/c/747eaead2db298abfda2aa505f6d03775b40fe5f ↗
- https://git.kernel.org/stable/c/2c007acf7b31c39c08ce4959451ad00b19be4c1f ↗