projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
x86, efi: Fix PCI ROM handing in EFI boot stub, in 32-bit mode
[cascardo/linux.git]
/
fs
/
binfmt_misc.c
diff --git
a/fs/binfmt_misc.c
b/fs/binfmt_misc.c
index
b0b70fb
..
0c8869f
100644
(file)
--- a/
fs/binfmt_misc.c
+++ b/
fs/binfmt_misc.c
@@
-117,10
+117,6
@@
static int load_misc_binary(struct linux_binprm *bprm)
if (!enabled)
goto _ret;
if (!enabled)
goto _ret;
- retval = -ENOEXEC;
- if (bprm->recursion_depth > BINPRM_MAX_RECURSION)
- goto _ret;
-
/* to keep locking time low, we copy the interpreter string */
read_lock(&entries_lock);
fmt = check_file(bprm);
/* to keep locking time low, we copy the interpreter string */
read_lock(&entries_lock);
fmt = check_file(bprm);
@@
-176,7
+172,10
@@
static int load_misc_binary(struct linux_binprm *bprm)
goto _error;
bprm->argc ++;
goto _error;
bprm->argc ++;
- bprm->interp = iname; /* for binfmt_script */
+ /* Update interp in case binfmt_script needs it. */
+ retval = bprm_change_interp(iname, bprm);
+ if (retval < 0)
+ goto _error;
interp_file = open_exec (iname);
retval = PTR_ERR (interp_file);
interp_file = open_exec (iname);
retval = PTR_ERR (interp_file);
@@
-197,8
+196,6
@@
static int load_misc_binary(struct linux_binprm *bprm)
if (retval < 0)
goto _error;
if (retval < 0)
goto _error;
- bprm->recursion_depth++;
-
retval = search_binary_handler(bprm);
if (retval < 0)
goto _error;
retval = search_binary_handler(bprm);
if (retval < 0)
goto _error;