[PATCH next] binfmt_elf: Fix potential Oops in load_elf_binary()

From: Dan Carpenter
Date: Wed Dec 11 2024 - 04:24:30 EST


This function call was changed from allow_write_access() which has a NULL
check to exe_file_allow_write_access() which doesn't. Check for NULL
before calling it.

Fixes: 871387b27c20 ("fs: don't block write during exec on pre-content watched files")
Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
---
fs/binfmt_elf.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index 8054f44d39cf..db9cb4c20125 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -1354,9 +1354,10 @@ static int load_elf_binary(struct linux_binprm *bprm)
kfree(interp_elf_ex);
kfree(interp_elf_phdata);
out_free_file:
- exe_file_allow_write_access(interpreter);
- if (interpreter)
+ if (interpreter) {
+ exe_file_allow_write_access(interpreter);
fput(interpreter);
+ }
out_free_ph:
kfree(elf_phdata);
goto out;
--
2.45.2