Description
In the Linux kernel, the following vulnerability has been resolved: io_uring: fix filename leak in __io_openat_prep() __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak. Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.
Product status
b9445598d8c60a1379887b957024b71343965f74 (git) before 2420ef01b2e836fbc05a0a8c73a1016504eb0458
b9445598d8c60a1379887b957024b71343965f74 (git) before 8f44c4a550570cd5903625133f938c6b51310c9b
b9445598d8c60a1379887b957024b71343965f74 (git) before 18b99fa603d0df5e1c898699c17d3b92ddc80746
b9445598d8c60a1379887b957024b71343965f74 (git) before e232269d511566b1f80872256a48593acc1becf4
b9445598d8c60a1379887b957024b71343965f74 (git) before 7fbfb85b05bc960cc50e09d03e5e562131e48d45
b9445598d8c60a1379887b957024b71343965f74 (git) before b14fad555302a2104948feaff70503b64c80ac01
5.15
Any version before 5.15
5.15.198 (semver)
6.1.160 (semver)
6.6.120 (semver)
6.12.64 (semver)
6.18.3 (semver)
6.19 (original_commit_for_fix)
References
git.kernel.org/...c/2420ef01b2e836fbc05a0a8c73a1016504eb0458
git.kernel.org/...c/8f44c4a550570cd5903625133f938c6b51310c9b
git.kernel.org/...c/18b99fa603d0df5e1c898699c17d3b92ddc80746
git.kernel.org/...c/e232269d511566b1f80872256a48593acc1becf4
git.kernel.org/...c/7fbfb85b05bc960cc50e09d03e5e562131e48d45
git.kernel.org/...c/b14fad555302a2104948feaff70503b64c80ac01