/kernel/linux/linux-5.10/fs/ |
H A D | binfmt_misc.c | 59 const char *interpreter; /* filename of interpreter */ member 142 /* to keep locking time low, we copy the interpreter string */ in load_misc_binary() 172 retval = copy_string_kernel(fmt->interpreter, bprm); in load_misc_binary() 178 retval = bprm_change_interp(fmt->interpreter, bprm); in load_misc_binary() 187 interp_file = open_exec(fmt->interpreter); in load_misc_binary() 193 bprm->interpreter = interp_file; in load_misc_binary() 255 pr_debug("register: flag: F: open interpreter file now\n"); in check_special_flags() 269 * ':name:type:offset:magic:mask:interpreter:flags' 443 /* Parse the 'interpreter' fiel in create_entry() [all...] |
H A D | binfmt_elf.c | 238 /* Create the ELF interpreter info */ in create_elf_tables() 376 * total_size is the size of the ELF (interpreter) image. in elf_map() 521 * @is_interp: True if the phdr is from the interpreter of the ELF being 529 * interpreter. 546 * @has_interp: True if the ELF has an interpreter, else false. 547 * @interp_ehdr: The interpreter's ELF header 589 struct file *interpreter, in load_elf_interp() 609 if (!interpreter->f_op->mmap) in load_elf_interp() 634 map_addr = elf_map(interpreter, load_addr + vaddr, in load_elf_interp() 822 struct file *interpreter in load_elf_binary() local 588 load_elf_interp(struct elfhdr *interp_elf_ex, struct file *interpreter, unsigned long no_base, struct elf_phdr *interp_elf_phdata, struct arch_elf_state *arch_state) load_elf_interp() argument [all...] |
H A D | binfmt_elf_fdpic.c | 194 struct file *interpreter = NULL; /* to shut gcc up */ in load_elf_fdpic_binary() local 228 /* scan for a program header that specifies an interpreter */ in load_elf_fdpic_binary() 241 /* read the name of the interpreter into memory */ in load_elf_fdpic_binary() 259 kdebug("Using ELF interpreter %s", interpreter_name); in load_elf_fdpic_binary() 261 /* replace the program with the interpreter */ in load_elf_fdpic_binary() 262 interpreter = open_exec(interpreter_name); in load_elf_fdpic_binary() 263 retval = PTR_ERR(interpreter); in load_elf_fdpic_binary() 264 if (IS_ERR(interpreter)) { in load_elf_fdpic_binary() 265 interpreter = NULL; in load_elf_fdpic_binary() 271 * mm->dumpable = 0 regardless of the interpreter' in load_elf_fdpic_binary() [all...] |
H A D | binfmt_em86.c | 52 * parsing to find our interpreter... it's hardcoded! in load_em86() 59 * Splice in (1) the interpreter's name for argv[0] in load_em86() 60 * (2) (optional) argument to interpreter in load_em86() 80 * OK, now restart the process with the interpreter's inode. in load_em86() 88 bprm->interpreter = file; in load_em86()
|
H A D | binfmt_script.c | 46 * interpreter path and argument strings. We must be careful in load_script() 51 * We do not want to exec a truncated interpreter path, so either in load_script() 53 * we find a space/tab/NUL after the interpreter path (which in load_script() 55 * arguments is fine: the interpreter can re-read the script to in load_script() 66 * interpreter path is truncated. in load_script() 79 return -ENOEXEC; /* No interpreter name found */ in load_script() 90 * up now (on the assumption that the interpreter will want to load in load_script() 97 * OK, we've parsed out the interpreter name and in load_script() 99 * Splice in (1) the interpreter's name for argv[0] in load_script() 100 * (2) (optional) argument to interpreter in load_script() [all...] |
H A D | exec.c | 1391 /* Pass the opened binary to the interpreter. */ in begin_new_exec() 1774 if (!bprm->interpreter) in exec_binprm() 1778 bprm->file = bprm->interpreter; in exec_binprm() 1779 bprm->interpreter = NULL; in exec_binprm() 1832 * interpreter and an open file descriptor is not passed to in bprm_execve() 1833 * the interpreter. This makes for a better user experience in bprm_execve() 1834 * than having the interpreter start and then immediately fail in bprm_execve()
|
/kernel/linux/linux-6.6/fs/ |
H A D | binfmt_misc.c | 59 const char *interpreter; /* filename of interpreter */ member 142 /* to keep locking time low, we copy the interpreter string */ in load_misc_binary() 174 retval = copy_string_kernel(fmt->interpreter, bprm); in load_misc_binary() 180 retval = bprm_change_interp(fmt->interpreter, bprm); in load_misc_binary() 189 interp_file = open_exec(fmt->interpreter); in load_misc_binary() 195 bprm->interpreter = interp_file; in load_misc_binary() 257 pr_debug("register: flag: F: open interpreter file now\n"); in check_special_flags() 271 * ':name:type:offset:magic:mask:interpreter:flags' 445 /* Parse the 'interpreter' fiel in create_entry() [all...] |
H A D | binfmt_elf.c | 242 /* Create the ELF interpreter info */ in create_elf_tables() 386 * total_size is the size of the ELF (interpreter) image. in elf_map() 524 * @is_interp: True if the phdr is from the interpreter of the ELF being 532 * interpreter. 549 * @has_interp: True if the ELF has an interpreter, else false. 550 * @interp_ehdr: The interpreter's ELF header 592 struct file *interpreter, in load_elf_interp() 612 if (!interpreter->f_op->mmap) in load_elf_interp() 637 map_addr = elf_map(interpreter, load_addr + vaddr, in load_elf_interp() 825 struct file *interpreter in load_elf_binary() local 591 load_elf_interp(struct elfhdr *interp_elf_ex, struct file *interpreter, unsigned long no_base, struct elf_phdr *interp_elf_phdata, struct arch_elf_state *arch_state) load_elf_interp() argument [all...] |
H A D | compat_binfmt_elf.c | 114 #define COMPAT_ARCH_SETUP_ADDITIONAL_PAGES(bprm, ex, interpreter) \ 115 compat_arch_setup_additional_pages(bprm, interpreter)
|
H A D | binfmt_elf_fdpic.c | 194 struct file *interpreter = NULL; /* to shut gcc up */ in load_elf_fdpic_binary() local 228 /* scan for a program header that specifies an interpreter */ in load_elf_fdpic_binary() 241 /* read the name of the interpreter into memory */ in load_elf_fdpic_binary() 259 kdebug("Using ELF interpreter %s", interpreter_name); in load_elf_fdpic_binary() 261 /* replace the program with the interpreter */ in load_elf_fdpic_binary() 262 interpreter = open_exec(interpreter_name); in load_elf_fdpic_binary() 263 retval = PTR_ERR(interpreter); in load_elf_fdpic_binary() 264 if (IS_ERR(interpreter)) { in load_elf_fdpic_binary() 265 interpreter = NULL; in load_elf_fdpic_binary() 271 * mm->dumpable = 0 regardless of the interpreter' in load_elf_fdpic_binary() [all...] |
H A D | binfmt_script.c | 46 * interpreter path and argument strings. We must be careful in load_script() 51 * We do not want to exec a truncated interpreter path, so either in load_script() 53 * we find a space/tab/NUL after the interpreter path (which in load_script() 55 * arguments is fine: the interpreter can re-read the script to in load_script() 66 * interpreter path is truncated. in load_script() 79 return -ENOEXEC; /* No interpreter name found */ in load_script() 90 * up now (on the assumption that the interpreter will want to load in load_script() 97 * OK, we've parsed out the interpreter name and in load_script() 99 * Splice in (1) the interpreter's name for argv[0] in load_script() 100 * (2) (optional) argument to interpreter in load_script() [all...] |
H A D | exec.c | 1401 /* Pass the opened binary to the interpreter. */ in begin_new_exec() 1788 if (!bprm->interpreter) in exec_binprm() 1792 bprm->file = bprm->interpreter; in exec_binprm() 1793 bprm->interpreter = NULL; in exec_binprm() 1847 * interpreter and an open file descriptor is not passed to in bprm_execve() 1848 * the interpreter. This makes for a better user experience in bprm_execve() 1849 * than having the interpreter start and then immediately fail in bprm_execve()
|
/kernel/linux/linux-5.10/tools/testing/selftests/kselftest/ |
H A D | runner.sh | 79 interpreter=$(head -n 1 "$TEST" | cut -c 3-) 80 cmd="$interpreter ./$BASENAME_TEST"
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | elf.h | 31 #define ARCH_SETUP_ADDITIONAL_PAGES(bprm, ex, interpreter) \ 32 arch_setup_additional_pages(bprm, interpreter)
|
H A D | binfmts.h | 46 struct file *executable; /* Executable to pass to the interpreter */ 47 struct file *interpreter; member 74 /* preserve argv0 for the interpreter */
|
/kernel/linux/linux-6.6/tools/testing/selftests/kselftest/ |
H A D | runner.sh | 119 interpreter=$(head -n 1 "$TEST" | cut -c 3-) 120 cmd="$stdbuf $interpreter ./$BASENAME_TEST"
|
/kernel/linux/linux-5.10/arch/alpha/kernel/ |
H A D | binfmt_loader.c | 32 bprm->interpreter = file; in load_binary()
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | binfmts.h | 48 struct file *executable; /* Executable to pass to the interpreter */ 49 struct file *interpreter; member
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | elf.h | 375 #define COMPAT_ARCH_SETUP_ADDITIONAL_PAGES(bprm, ex, interpreter) \ 376 compat_arch_setup_additional_pages(bprm, interpreter, \
|