diff options
| author | Christian Brauner <brauner@kernel.org> | 2026-07-10 11:33:02 +0200 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-07-28 15:50:26 +0200 |
| commit | db1856ea9196cf6e015d12199a34c0b9313c7bfa (patch) | |
| tree | dafb8ed30bc35831060cda4aa95bc57b1b49249c /drivers/gpu/drm/savage/git@git.tavy.me:linux-stable.git | |
| parent | 5d03425c63b4def9d4309b6f35de7449cce2b287 (diff) | |
binfmt_misc: restore write access when removing an entry
Registering an entry with the MISC_FMT_OPEN_FILE flag opens the
interpreter via open_exec() which denies write access to it for as
long as the entry exists. Removing the entry closes the interpreter
file via filp_close() but never restores write access, leaving the
inode's i_writecount permanently negative. Opening the interpreter
for writing keeps failing with ETXTBSY long after the entry is gone
until the inode is evicted from the inode cache.
Commit 90f601b497d7 ("binfmt_misc: restore write access before
closing files opened by open_exec()") fixed the same imbalance in the
error path of bm_register_write() but the actual removal path has
been leaking the write denial since the introduction of the flag.
Restore write access in put_binfmt_handler() before closing the
interpreter file.
Link: https://patch.msgid.link/20260710-work-binfmt_misc-locking-v3-1-a162f7cb58d6@kernel.org
Fixes: 948b701a607f ("binfmt_misc: add persistent opened binary handler for containers")
Cc: stable@vger.kernel.org
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/savage/git@git.tavy.me:linux-stable.git')
0 files changed, 0 insertions, 0 deletions
