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