scsi: elx: efct: Fix refcount leak in efct_hw_io_abort()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
5.14
References 7
git.kernel.org
- stable/c/cf97ea7b164a1881c7219f5222219c9d0fac4204
- stable/c/1c6e186c722cfa9a58ebe841f91ab2ddf8570cc7
- stable/c/62cf39a9770a6f29df59fd0edb0a05234a8b07f2
- stable/c/faa59add4808fbf92e7d15bfd8770d2682c2b953
- stable/c/9b871369cbb4532f6715e044d6b9c4ceb036e5b6
- stable/c/747eaead2db298abfda2aa505f6d03775b40fe5f
- stable/c/2c007acf7b31c39c08ce4959451ad00b19be4c1f