26 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2#ifndef _UAPI_LINUX_BINFMTS_H3#define _UAPI_LINUX_BINFMTS_H4 5#include <linux/capability.h>6 7struct pt_regs;8 9/*10 * These are the maximum length and maximum number of strings passed to the11 * execve() system call. MAX_ARG_STRLEN is essentially random but serves to12 * prevent the kernel from being unduly impacted by misaddressed pointers.13 * MAX_ARG_STRINGS is chosen to fit in a signed 32-bit integer.14 */15#define MAX_ARG_STRLEN (PAGE_SIZE * 32)16#define MAX_ARG_STRINGS 0x7FFFFFFF17 18/* sizeof(linux_binprm->buf) */19#define BINPRM_BUF_SIZE 25620 21/* preserve argv0 for the interpreter */22#define AT_FLAGS_PRESERVE_ARGV0_BIT 023#define AT_FLAGS_PRESERVE_ARGV0 (1 << AT_FLAGS_PRESERVE_ARGV0_BIT)24 25#endif /* _UAPI_LINUX_BINFMTS_H */26