Lines Matching refs:prctl_map
1896 static int validate_prctl_map_addr(struct prctl_mm_map *prctl_map) in validate_prctl_map_addr() argument
1920 u64 val = *(u64 *)((char *)prctl_map + offsets[i]); in validate_prctl_map_addr()
1931 ((unsigned long)prctl_map->__m1 __op \ in validate_prctl_map_addr()
1932 (unsigned long)prctl_map->__m2) ? 0 : -EINVAL in validate_prctl_map_addr()
1947 if (prctl_map->start_brk <= prctl_map->end_data || in validate_prctl_map_addr()
1948 prctl_map->brk <= prctl_map->end_data) in validate_prctl_map_addr()
1954 if (check_data_rlimit(rlimit(RLIMIT_DATA), prctl_map->brk, in validate_prctl_map_addr()
1955 prctl_map->start_brk, prctl_map->end_data, in validate_prctl_map_addr()
1956 prctl_map->start_data)) in validate_prctl_map_addr()
1967 struct prctl_mm_map prctl_map = { .exe_fd = (u32)-1, }; in prctl_set_mm_map() local
1976 return put_user((unsigned int)sizeof(prctl_map), in prctl_set_mm_map()
1979 if (data_size != sizeof(prctl_map)) in prctl_set_mm_map()
1982 if (copy_from_user(&prctl_map, addr, sizeof(prctl_map))) in prctl_set_mm_map()
1985 error = validate_prctl_map_addr(&prctl_map); in prctl_set_mm_map()
1989 if (prctl_map.auxv_size) { in prctl_set_mm_map()
1993 if (!prctl_map.auxv || in prctl_set_mm_map()
1994 prctl_map.auxv_size > sizeof(mm->saved_auxv)) in prctl_set_mm_map()
1999 (const void __user *)prctl_map.auxv, in prctl_set_mm_map()
2000 prctl_map.auxv_size)) in prctl_set_mm_map()
2008 if (prctl_map.exe_fd != (u32)-1) { in prctl_set_mm_map()
2020 error = prctl_set_mm_exe_file(mm, prctl_map.exe_fd); in prctl_set_mm_map()
2044 mm->start_code = prctl_map.start_code; in prctl_set_mm_map()
2045 mm->end_code = prctl_map.end_code; in prctl_set_mm_map()
2046 mm->start_data = prctl_map.start_data; in prctl_set_mm_map()
2047 mm->end_data = prctl_map.end_data; in prctl_set_mm_map()
2048 mm->start_brk = prctl_map.start_brk; in prctl_set_mm_map()
2049 mm->brk = prctl_map.brk; in prctl_set_mm_map()
2050 mm->start_stack = prctl_map.start_stack; in prctl_set_mm_map()
2051 mm->arg_start = prctl_map.arg_start; in prctl_set_mm_map()
2052 mm->arg_end = prctl_map.arg_end; in prctl_set_mm_map()
2053 mm->env_start = prctl_map.env_start; in prctl_set_mm_map()
2054 mm->env_end = prctl_map.env_end; in prctl_set_mm_map()
2065 if (prctl_map.auxv_size) in prctl_set_mm_map()
2107 struct prctl_mm_map prctl_map = { in prctl_set_mm() local
2148 prctl_map.start_code = mm->start_code; in prctl_set_mm()
2149 prctl_map.end_code = mm->end_code; in prctl_set_mm()
2150 prctl_map.start_data = mm->start_data; in prctl_set_mm()
2151 prctl_map.end_data = mm->end_data; in prctl_set_mm()
2152 prctl_map.start_brk = mm->start_brk; in prctl_set_mm()
2153 prctl_map.brk = mm->brk; in prctl_set_mm()
2154 prctl_map.start_stack = mm->start_stack; in prctl_set_mm()
2155 prctl_map.arg_start = mm->arg_start; in prctl_set_mm()
2156 prctl_map.arg_end = mm->arg_end; in prctl_set_mm()
2157 prctl_map.env_start = mm->env_start; in prctl_set_mm()
2158 prctl_map.env_end = mm->env_end; in prctl_set_mm()
2162 prctl_map.start_code = addr; in prctl_set_mm()
2165 prctl_map.end_code = addr; in prctl_set_mm()
2168 prctl_map.start_data = addr; in prctl_set_mm()
2171 prctl_map.end_data = addr; in prctl_set_mm()
2174 prctl_map.start_stack = addr; in prctl_set_mm()
2177 prctl_map.start_brk = addr; in prctl_set_mm()
2180 prctl_map.brk = addr; in prctl_set_mm()
2183 prctl_map.arg_start = addr; in prctl_set_mm()
2186 prctl_map.arg_end = addr; in prctl_set_mm()
2189 prctl_map.env_start = addr; in prctl_set_mm()
2192 prctl_map.env_end = addr; in prctl_set_mm()
2198 error = validate_prctl_map_addr(&prctl_map); in prctl_set_mm()
2221 mm->start_code = prctl_map.start_code; in prctl_set_mm()
2222 mm->end_code = prctl_map.end_code; in prctl_set_mm()
2223 mm->start_data = prctl_map.start_data; in prctl_set_mm()
2224 mm->end_data = prctl_map.end_data; in prctl_set_mm()
2225 mm->start_brk = prctl_map.start_brk; in prctl_set_mm()
2226 mm->brk = prctl_map.brk; in prctl_set_mm()
2227 mm->start_stack = prctl_map.start_stack; in prctl_set_mm()
2228 mm->arg_start = prctl_map.arg_start; in prctl_set_mm()
2229 mm->arg_end = prctl_map.arg_end; in prctl_set_mm()
2230 mm->env_start = prctl_map.env_start; in prctl_set_mm()
2231 mm->env_end = prctl_map.env_end; in prctl_set_mm()