Lines Matching refs:prctl_map
1730 static int validate_prctl_map(struct prctl_mm_map *prctl_map) in validate_prctl_map() argument
1755 u64 val = *(u64 *)((char *)prctl_map + offsets[i]); in validate_prctl_map()
1766 ((unsigned long)prctl_map->__m1 __op \ in validate_prctl_map()
1767 (unsigned long)prctl_map->__m2) ? 0 : -EINVAL in validate_prctl_map()
1782 if (prctl_map->start_brk <= prctl_map->end_data || in validate_prctl_map()
1783 prctl_map->brk <= prctl_map->end_data) in validate_prctl_map()
1789 if (check_data_rlimit(rlimit(RLIMIT_DATA), prctl_map->brk, in validate_prctl_map()
1790 prctl_map->start_brk, prctl_map->end_data, in validate_prctl_map()
1791 prctl_map->start_data)) in validate_prctl_map()
1797 if (prctl_map->auxv_size) { in validate_prctl_map()
1798 if (!prctl_map->auxv || prctl_map->auxv_size > sizeof(mm->saved_auxv)) in validate_prctl_map()
1807 if (prctl_map->exe_fd != (u32)-1) { in validate_prctl_map()
1823 struct prctl_mm_map prctl_map = { .exe_fd = (u32)-1, }; in prctl_set_mm_map() local
1832 return put_user((unsigned int)sizeof(prctl_map), in prctl_set_mm_map()
1835 if (data_size != sizeof(prctl_map)) in prctl_set_mm_map()
1838 if (copy_from_user(&prctl_map, addr, sizeof(prctl_map))) in prctl_set_mm_map()
1841 error = validate_prctl_map(&prctl_map); in prctl_set_mm_map()
1845 if (prctl_map.auxv_size) { in prctl_set_mm_map()
1848 (const void __user *)prctl_map.auxv, in prctl_set_mm_map()
1849 prctl_map.auxv_size)) in prctl_set_mm_map()
1857 if (prctl_map.exe_fd != (u32)-1) { in prctl_set_mm_map()
1858 error = prctl_set_mm_exe_file(mm, prctl_map.exe_fd); in prctl_set_mm_map()
1877 mm->start_code = prctl_map.start_code; in prctl_set_mm_map()
1878 mm->end_code = prctl_map.end_code; in prctl_set_mm_map()
1879 mm->start_data = prctl_map.start_data; in prctl_set_mm_map()
1880 mm->end_data = prctl_map.end_data; in prctl_set_mm_map()
1881 mm->start_brk = prctl_map.start_brk; in prctl_set_mm_map()
1882 mm->brk = prctl_map.brk; in prctl_set_mm_map()
1883 mm->start_stack = prctl_map.start_stack; in prctl_set_mm_map()
1884 mm->arg_start = prctl_map.arg_start; in prctl_set_mm_map()
1885 mm->arg_end = prctl_map.arg_end; in prctl_set_mm_map()
1886 mm->env_start = prctl_map.env_start; in prctl_set_mm_map()
1887 mm->env_end = prctl_map.env_end; in prctl_set_mm_map()
1897 if (prctl_map.auxv_size) in prctl_set_mm_map()