prctl_map 1880 kernel/sys.c static int validate_prctl_map_addr(struct prctl_mm_map *prctl_map) prctl_map 1904 kernel/sys.c u64 val = *(u64 *)((char *)prctl_map + offsets[i]); prctl_map 1915 kernel/sys.c ((unsigned long)prctl_map->__m1 __op \ prctl_map 1916 kernel/sys.c (unsigned long)prctl_map->__m2) ? 0 : -EINVAL prctl_map 1931 kernel/sys.c if (prctl_map->start_brk <= prctl_map->end_data || prctl_map 1932 kernel/sys.c prctl_map->brk <= prctl_map->end_data) prctl_map 1938 kernel/sys.c if (check_data_rlimit(rlimit(RLIMIT_DATA), prctl_map->brk, prctl_map 1939 kernel/sys.c prctl_map->start_brk, prctl_map->end_data, prctl_map 1940 kernel/sys.c prctl_map->start_data)) prctl_map 1951 kernel/sys.c struct prctl_mm_map prctl_map = { .exe_fd = (u32)-1, }; prctl_map 1960 kernel/sys.c return put_user((unsigned int)sizeof(prctl_map), prctl_map 1963 kernel/sys.c if (data_size != sizeof(prctl_map)) prctl_map 1966 kernel/sys.c if (copy_from_user(&prctl_map, addr, sizeof(prctl_map))) prctl_map 1969 kernel/sys.c error = validate_prctl_map_addr(&prctl_map); prctl_map 1973 kernel/sys.c if (prctl_map.auxv_size) { prctl_map 1977 kernel/sys.c if (!prctl_map.auxv || prctl_map 1978 kernel/sys.c prctl_map.auxv_size > sizeof(mm->saved_auxv)) prctl_map 1983 kernel/sys.c (const void __user *)prctl_map.auxv, prctl_map 1984 kernel/sys.c prctl_map.auxv_size)) prctl_map 1992 kernel/sys.c if (prctl_map.exe_fd != (u32)-1) { prctl_map 2001 kernel/sys.c error = prctl_set_mm_exe_file(mm, prctl_map.exe_fd); prctl_map 2025 kernel/sys.c mm->start_code = prctl_map.start_code; prctl_map 2026 kernel/sys.c mm->end_code = prctl_map.end_code; prctl_map 2027 kernel/sys.c mm->start_data = prctl_map.start_data; prctl_map 2028 kernel/sys.c mm->end_data = prctl_map.end_data; prctl_map 2029 kernel/sys.c mm->start_brk = prctl_map.start_brk; prctl_map 2030 kernel/sys.c mm->brk = prctl_map.brk; prctl_map 2031 kernel/sys.c mm->start_stack = prctl_map.start_stack; prctl_map 2032 kernel/sys.c mm->arg_start = prctl_map.arg_start; prctl_map 2033 kernel/sys.c mm->arg_end = prctl_map.arg_end; prctl_map 2034 kernel/sys.c mm->env_start = prctl_map.env_start; prctl_map 2035 kernel/sys.c mm->env_end = prctl_map.env_end; prctl_map 2046 kernel/sys.c if (prctl_map.auxv_size) prctl_map 2088 kernel/sys.c struct prctl_mm_map prctl_map = { prctl_map 2129 kernel/sys.c prctl_map.start_code = mm->start_code; prctl_map 2130 kernel/sys.c prctl_map.end_code = mm->end_code; prctl_map 2131 kernel/sys.c prctl_map.start_data = mm->start_data; prctl_map 2132 kernel/sys.c prctl_map.end_data = mm->end_data; prctl_map 2133 kernel/sys.c prctl_map.start_brk = mm->start_brk; prctl_map 2134 kernel/sys.c prctl_map.brk = mm->brk; prctl_map 2135 kernel/sys.c prctl_map.start_stack = mm->start_stack; prctl_map 2136 kernel/sys.c prctl_map.arg_start = mm->arg_start; prctl_map 2137 kernel/sys.c prctl_map.arg_end = mm->arg_end; prctl_map 2138 kernel/sys.c prctl_map.env_start = mm->env_start; prctl_map 2139 kernel/sys.c prctl_map.env_end = mm->env_end; prctl_map 2143 kernel/sys.c prctl_map.start_code = addr; prctl_map 2146 kernel/sys.c prctl_map.end_code = addr; prctl_map 2149 kernel/sys.c prctl_map.start_data = addr; prctl_map 2152 kernel/sys.c prctl_map.end_data = addr; prctl_map 2155 kernel/sys.c prctl_map.start_stack = addr; prctl_map 2158 kernel/sys.c prctl_map.start_brk = addr; prctl_map 2161 kernel/sys.c prctl_map.brk = addr; prctl_map 2164 kernel/sys.c prctl_map.arg_start = addr; prctl_map 2167 kernel/sys.c prctl_map.arg_end = addr; prctl_map 2170 kernel/sys.c prctl_map.env_start = addr; prctl_map 2173 kernel/sys.c prctl_map.env_end = addr; prctl_map 2179 kernel/sys.c error = validate_prctl_map_addr(&prctl_map); prctl_map 2202 kernel/sys.c mm->start_code = prctl_map.start_code; prctl_map 2203 kernel/sys.c mm->end_code = prctl_map.end_code; prctl_map 2204 kernel/sys.c mm->start_data = prctl_map.start_data; prctl_map 2205 kernel/sys.c mm->end_data = prctl_map.end_data; prctl_map 2206 kernel/sys.c mm->start_brk = prctl_map.start_brk; prctl_map 2207 kernel/sys.c mm->brk = prctl_map.brk; prctl_map 2208 kernel/sys.c mm->start_stack = prctl_map.start_stack; prctl_map 2209 kernel/sys.c mm->arg_start = prctl_map.arg_start; prctl_map 2210 kernel/sys.c mm->arg_end = prctl_map.arg_end; prctl_map 2211 kernel/sys.c mm->env_start = prctl_map.env_start; prctl_map 2212 kernel/sys.c mm->env_end = prctl_map.env_end;