Lines Matching refs:prctl_map

1728 static int validate_prctl_map(struct prctl_mm_map *prctl_map)  in validate_prctl_map()  argument
1753 u64 val = *(u64 *)((char *)prctl_map + offsets[i]); in validate_prctl_map()
1764 ((unsigned long)prctl_map->__m1 __op \ in validate_prctl_map()
1765 (unsigned long)prctl_map->__m2) ? 0 : -EINVAL in validate_prctl_map()
1780 if (prctl_map->start_brk <= prctl_map->end_data || in validate_prctl_map()
1781 prctl_map->brk <= prctl_map->end_data) in validate_prctl_map()
1787 if (check_data_rlimit(rlimit(RLIMIT_DATA), prctl_map->brk, in validate_prctl_map()
1788 prctl_map->start_brk, prctl_map->end_data, in validate_prctl_map()
1789 prctl_map->start_data)) in validate_prctl_map()
1795 if (prctl_map->auxv_size) { in validate_prctl_map()
1796 if (!prctl_map->auxv || prctl_map->auxv_size > sizeof(mm->saved_auxv)) in validate_prctl_map()
1805 if (prctl_map->exe_fd != (u32)-1) { in validate_prctl_map()
1822 struct prctl_mm_map prctl_map = { .exe_fd = (u32)-1, }; in prctl_set_mm_map() local
1831 return put_user((unsigned int)sizeof(prctl_map), in prctl_set_mm_map()
1834 if (data_size != sizeof(prctl_map)) in prctl_set_mm_map()
1837 if (copy_from_user(&prctl_map, addr, sizeof(prctl_map))) in prctl_set_mm_map()
1840 error = validate_prctl_map(&prctl_map); in prctl_set_mm_map()
1844 if (prctl_map.auxv_size) { in prctl_set_mm_map()
1847 (const void __user *)prctl_map.auxv, in prctl_set_mm_map()
1848 prctl_map.auxv_size)) in prctl_set_mm_map()
1856 if (prctl_map.exe_fd != (u32)-1) { in prctl_set_mm_map()
1857 error = prctl_set_mm_exe_file(mm, prctl_map.exe_fd); in prctl_set_mm_map()
1876 mm->start_code = prctl_map.start_code; in prctl_set_mm_map()
1877 mm->end_code = prctl_map.end_code; in prctl_set_mm_map()
1878 mm->start_data = prctl_map.start_data; in prctl_set_mm_map()
1879 mm->end_data = prctl_map.end_data; in prctl_set_mm_map()
1880 mm->start_brk = prctl_map.start_brk; in prctl_set_mm_map()
1881 mm->brk = prctl_map.brk; in prctl_set_mm_map()
1882 mm->start_stack = prctl_map.start_stack; in prctl_set_mm_map()
1883 mm->arg_start = prctl_map.arg_start; in prctl_set_mm_map()
1884 mm->arg_end = prctl_map.arg_end; in prctl_set_mm_map()
1885 mm->env_start = prctl_map.env_start; in prctl_set_mm_map()
1886 mm->env_end = prctl_map.env_end; in prctl_set_mm_map()
1896 if (prctl_map.auxv_size) in prctl_set_mm_map()
1938 struct prctl_mm_map prctl_map; in prctl_set_mm() local
1969 prctl_map.start_code = mm->start_code; in prctl_set_mm()
1970 prctl_map.end_code = mm->end_code; in prctl_set_mm()
1971 prctl_map.start_data = mm->start_data; in prctl_set_mm()
1972 prctl_map.end_data = mm->end_data; in prctl_set_mm()
1973 prctl_map.start_brk = mm->start_brk; in prctl_set_mm()
1974 prctl_map.brk = mm->brk; in prctl_set_mm()
1975 prctl_map.start_stack = mm->start_stack; in prctl_set_mm()
1976 prctl_map.arg_start = mm->arg_start; in prctl_set_mm()
1977 prctl_map.arg_end = mm->arg_end; in prctl_set_mm()
1978 prctl_map.env_start = mm->env_start; in prctl_set_mm()
1979 prctl_map.env_end = mm->env_end; in prctl_set_mm()
1980 prctl_map.auxv = NULL; in prctl_set_mm()
1981 prctl_map.auxv_size = 0; in prctl_set_mm()
1982 prctl_map.exe_fd = -1; in prctl_set_mm()
1986 prctl_map.start_code = addr; in prctl_set_mm()
1989 prctl_map.end_code = addr; in prctl_set_mm()
1992 prctl_map.start_data = addr; in prctl_set_mm()
1995 prctl_map.end_data = addr; in prctl_set_mm()
1998 prctl_map.start_stack = addr; in prctl_set_mm()
2001 prctl_map.start_brk = addr; in prctl_set_mm()
2004 prctl_map.brk = addr; in prctl_set_mm()
2007 prctl_map.arg_start = addr; in prctl_set_mm()
2010 prctl_map.arg_end = addr; in prctl_set_mm()
2013 prctl_map.env_start = addr; in prctl_set_mm()
2016 prctl_map.env_end = addr; in prctl_set_mm()
2022 error = validate_prctl_map(&prctl_map); in prctl_set_mm()
2045 mm->start_code = prctl_map.start_code; in prctl_set_mm()
2046 mm->end_code = prctl_map.end_code; in prctl_set_mm()
2047 mm->start_data = prctl_map.start_data; in prctl_set_mm()
2048 mm->end_data = prctl_map.end_data; in prctl_set_mm()
2049 mm->start_brk = prctl_map.start_brk; in prctl_set_mm()
2050 mm->brk = prctl_map.brk; in prctl_set_mm()
2051 mm->start_stack = prctl_map.start_stack; in prctl_set_mm()
2052 mm->arg_start = prctl_map.arg_start; in prctl_set_mm()
2053 mm->arg_end = prctl_map.arg_end; in prctl_set_mm()
2054 mm->env_start = prctl_map.env_start; in prctl_set_mm()
2055 mm->env_end = prctl_map.env_end; in prctl_set_mm()