]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
binfmt_misc: restore write access before closing files opened by open_exec()
authorZilin Guan <zilin@seu.edu.cn>
Wed, 5 Nov 2025 02:29:23 +0000 (02:29 +0000)
committerChristian Brauner <brauner@kernel.org>
Wed, 5 Nov 2025 13:00:16 +0000 (14:00 +0100)
commit90f601b497d76f40fa66795c3ecf625b6aced9fd
tree9b0c9869cd10acee9c1fc71f817df2b1d8554e2b
parentc014021253d77cd89b2d8788ce522283d83fbd40
binfmt_misc: restore write access before closing files opened by open_exec()

bm_register_write() opens an executable file using open_exec(), which
internally calls do_open_execat() and denies write access on the file to
avoid modification while it is being executed.

However, when an error occurs, bm_register_write() closes the file using
filp_close() directly. This does not restore the write permission, which
may cause subsequent write operations on the same file to fail.

Fix this by calling exe_file_allow_write_access() before filp_close() to
restore the write permission properly.

Fixes: e7850f4d844e ("binfmt_misc: fix possible deadlock in bm_register_write")
Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
Link: https://patch.msgid.link/20251105022923.1813587-1-zilin@seu.edu.cn
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/binfmt_misc.c