hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/fs/binfmt_em86.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * linux/fs/binfmt_em86.c
34 *
....@@ -47,10 +48,6 @@
4748 if (bprm->interp_flags & BINPRM_FLAGS_PATH_INACCESSIBLE)
4849 return -ENOENT;
4950
50
- allow_write_access(bprm->file);
51
- fput(bprm->file);
52
- bprm->file = NULL;
53
-
5451 /* Unlike in the script case, we don't have to do any hairy
5552 * parsing to find our interpreter... it's hardcoded!
5653 */
....@@ -67,15 +64,15 @@
6764 * user environment and arguments are stored.
6865 */
6966 remove_arg_zero(bprm);
70
- retval = copy_strings_kernel(1, &bprm->filename, bprm);
67
+ retval = copy_string_kernel(bprm->filename, bprm);
7168 if (retval < 0) return retval;
7269 bprm->argc++;
7370 if (i_arg) {
74
- retval = copy_strings_kernel(1, &i_arg, bprm);
71
+ retval = copy_string_kernel(i_arg, bprm);
7572 if (retval < 0) return retval;
7673 bprm->argc++;
7774 }
78
- retval = copy_strings_kernel(1, &i_name, bprm);
75
+ retval = copy_string_kernel(i_name, bprm);
7976 if (retval < 0) return retval;
8077 bprm->argc++;
8178
....@@ -88,13 +85,8 @@
8885 if (IS_ERR(file))
8986 return PTR_ERR(file);
9087
91
- bprm->file = file;
92
-
93
- retval = prepare_binprm(bprm);
94
- if (retval < 0)
95
- return retval;
96
-
97
- return search_binary_handler(bprm);
88
+ bprm->interpreter = file;
89
+ return 0;
9890 }
9991
10092 static struct linux_binfmt em86_format = {