s390/vfio_ccw: Free all memory if cp_init() fails
- 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: s390/vfio_ccw: Free all memory if cp_init() fails The routine cp_free() is called to unpin/free any memory once an I/O is completed successfully, or if cp_prefetch() fails. But if cp_init() fails, and cp->initialized is not enabled, the same routine cannot be used to free all the memory. An attempt to address this exists in ccwchain_handle_ccw(), where a single call to ccwchain_free() is made for the currently-processed CCW segment. But this will leak other segments (created as a result of a Transfer in Channel) that had been allocated as part of the same channel program. Address this by performing the cleanup outside of the recursive ccwchain_handle_ccw()/ccwchain_loop_tic() logic.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
5.3
References 8
git.kernel.org
- stable/c/276bd7ed34d56c48c65c43c0b08f2ee77029b2fa
- stable/c/f9bcff265556796834122f95de16d52a8375206c
- stable/c/17e01e342af74de12899c206dcc9ec90684703aa
- stable/c/152fcb74a26804b70909381c6acc90595a0ae1c1
- stable/c/6a917199aaf97904f5619afe3dfdacb155b03e8c
- stable/c/32e3d364a7b8295120d37e6a6bd433d2de26f748
- stable/c/4699b54fada156534cbb39834d47fc9374d7a1f5
- stable/c/74186c2968f8f756ac3226b545b598457c910c75