Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 63de51327a64c74e85611a0161eaae71256a3b6d before cf97ea7b164a1881c7219f5222219c9d0fac4204; affected 63de51327a64c74e85611a0161eaae71256a3b6d before 1c6e186c722cfa9a58ebe841f91ab2ddf8570cc7; affected 63de51327a64c74e85611a0161eaae71256a3b6d before 62cf39a9770a6f29df59fd0edb0a05234a8b07f2; affected 63de51327a64c74e85611a0161eaae71256a3b6d before faa59add4808fbf92e7d15bfd8770d2682c2b953; affected 63de51327a64c74e85611a0161eaae71256a3b6d before 9b871369cbb4532f6715e044d6b9c4ceb036e5b6; affected 63de51327a64c74e85611a0161eaae71256a3b6d before 747eaead2db298abfda2aa505f6d03775b40fe5f; affected 63de51327a64c74e85611a0161eaae71256a3b6d before 2c007acf7b31c39c08ce4959451ad00b19be4c1f |
| Linux / Linux | affected 5.14; unaffected 0 before 5.14; unaffected 5.15.212 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.97 through 6.12.*; unaffected 6.18.40 through 6.18.*; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
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