Lines Matching defs:uptr
247 uptr internal_mmap(void *addr, uptr length, int prot, int flags, int fd,
250 return (uptr)__sys_mmap(addr, length, prot, flags, fd, offset);
252 return internal_syscall(SYSCALL(mmap), (uptr)addr, length, prot, flags, fd,
263 uptr internal_munmap(void *addr, uptr length) {
264 return internal_syscall(SYSCALL(munmap), (uptr)addr, length);
268 uptr internal_mremap(void *old_address, uptr old_size, uptr new_size, int flags,
270 return internal_syscall(SYSCALL(mremap), (uptr)old_address, old_size,
271 new_size, flags, (uptr)new_address);
275 int internal_mprotect(void *addr, uptr length, int prot) {
276 return internal_syscall(SYSCALL(mprotect), (uptr)addr, length, prot);
279 int internal_madvise(uptr addr, uptr length, int advice) {
284 uptr internal_close_range(fd_t lowfd, fd_t highfd, int flags) {
288 uptr internal_close(fd_t fd) { return internal_syscall(SYSCALL(close), fd); }
290 uptr internal_open(const char *filename, int flags) {
292 return internal_syscall(SYSCALL(openat), AT_FDCWD, (uptr)filename, flags);
294 return internal_syscall(SYSCALL(open), (uptr)filename, flags);
298 uptr internal_open(const char *filename, int flags, u32 mode) {
300 return internal_syscall(SYSCALL(openat), AT_FDCWD, (uptr)filename, flags,
303 return internal_syscall(SYSCALL(open), (uptr)filename, flags, mode);
307 uptr internal_read(fd_t fd, void *buf, uptr count) {
310 (sptr)internal_syscall(SYSCALL(read), fd, (uptr)buf, count));
314 uptr internal_write(fd_t fd, const void *buf, uptr count) {
317 (sptr)internal_syscall(SYSCALL(write), fd, (uptr)buf, count));
321 uptr internal_ftruncate(fd_t fd, uptr size) {
423 uptr internal_stat(const char *path, void *buf) {
425 return internal_syscall(SYSCALL(fstatat), AT_FDCWD, (uptr)path, (uptr)buf, 0);
429 int res = internal_syscall(SYSCALL(statx), AT_FDCWD, (uptr)path,
430 AT_NO_AUTOMOUNT, STATX_BASIC_STATS, (uptr)&bufx);
437 return internal_syscall(SYSCALL(newfstatat), AT_FDCWD, (uptr)path, (uptr)buf,
441 int res = internal_syscall(SYSCALL(fstatat64), AT_FDCWD, (uptr)path,
442 (uptr)&buf64, 0);
447 int res = internal_syscall(SYSCALL(fstatat64), AT_FDCWD, (uptr)path,
448 (uptr)&buf64, 0);
460 uptr internal_lstat(const char *path, void *buf) {
462 return internal_syscall(SYSCALL(fstatat), AT_FDCWD, (uptr)path, (uptr)buf,
467 int res = internal_syscall(SYSCALL(statx), AT_FDCWD, (uptr)path,
469 STATX_BASIC_STATS, (uptr)&bufx);
476 return internal_syscall(SYSCALL(newfstatat), AT_FDCWD, (uptr)path, (uptr)buf,
480 int res = internal_syscall(SYSCALL(fstatat64), AT_FDCWD, (uptr)path,
481 (uptr)&buf64, AT_SYMLINK_NOFOLLOW);
486 int res = internal_syscall(SYSCALL(fstatat64), AT_FDCWD, (uptr)path,
487 (uptr)&buf64, AT_SYMLINK_NOFOLLOW);
499 uptr internal_fstat(fd_t fd, void *buf) {
516 STATX_BASIC_STATS, (uptr)&bufx);
520 return internal_syscall(SYSCALL(fstat), fd, (uptr)buf);
530 uptr internal_filesize(fd_t fd) {
534 return (uptr)st.st_size;
537 uptr internal_dup(int oldfd) { return internal_syscall(SYSCALL(dup), oldfd); }
539 uptr internal_dup2(int oldfd, int newfd) {
547 uptr internal_readlink(const char *path, char *buf, uptr bufsize) {
549 return internal_syscall(SYSCALL(readlinkat), AT_FDCWD, (uptr)path, (uptr)buf,
552 return internal_syscall(SYSCALL(readlink), (uptr)path, (uptr)buf, bufsize);
556 uptr internal_unlink(const char *path) {
558 return internal_syscall(SYSCALL(unlinkat), AT_FDCWD, (uptr)path, 0);
560 return internal_syscall(SYSCALL(unlink), (uptr)path);
564 uptr internal_rename(const char *oldpath, const char *newpath) {
566 return internal_syscall(SYSCALL(renameat2), AT_FDCWD, (uptr)oldpath, AT_FDCWD,
567 (uptr)newpath, 0);
569 return internal_syscall(SYSCALL(renameat), AT_FDCWD, (uptr)oldpath, AT_FDCWD,
570 (uptr)newpath);
572 return internal_syscall(SYSCALL(rename), (uptr)oldpath, (uptr)newpath);
576 uptr internal_sched_yield() { return internal_syscall(SYSCALL(sched_yield)); }
585 uptr internal_execve(const char *filename, char *const argv[],
587 return internal_syscall(SYSCALL(execve), (uptr)filename, (uptr)argv,
588 (uptr)envp);
656 uptr internal_clock_gettime(__sanitizer_clockid_t clk_id, void *tp) {
673 uptr NameLen = internal_strlen(name);
682 static uptr len;
686 uptr environ_size;
692 uptr namelen = internal_strlen(name);
719 uptr buff_size;
720 uptr buff_len;
747 uptr sz = sizeof(pss);
760 uptr *stack_end = (uptr *)__libc_stack_end;
804 internal_syscall(SYSCALL(futex), (uptr)p, FUTEX_WAIT_PRIVATE, cmp, 0, 0, 0);
814 internal_syscall(SYSCALL(futex), (uptr)p, FUTEX_WAKE_PRIVATE, count, 0, 0, 0);
845 uptr internal_ptrace(int request, int pid, void *addr, void *data) {
846 return internal_syscall(SYSCALL(ptrace), request, pid, (uptr)addr,
847 (uptr)data);
850 uptr internal_waitpid(int pid, int *status, int options) {
851 return internal_syscall(SYSCALL(wait4), pid, (uptr)status, options,
855 uptr internal_getpid() { return internal_syscall(SYSCALL(getpid)); }
857 uptr internal_getppid() { return internal_syscall(SYSCALL(getppid)); }
867 uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count) {
869 return internal_syscall(SYSCALL(getdirentries), fd, (uptr)dirp, count, NULL);
871 return internal_syscall(SYSCALL(getdents64), fd, (uptr)dirp, count);
873 return internal_syscall(SYSCALL(getdents), fd, (uptr)dirp, count);
877 uptr internal_lseek(fd_t fd, OFF_T offset, int whence) {
882 uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
888 uptr internal_arch_prctl(int option, uptr arg2) {
894 uptr internal_sigaltstack(const void *ss, void *oss) {
895 return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
918 uptr *oldlenp, const void *newp, uptr newlen) {
923 int internal_sysctlbyname(const char *sname, void *oldp, uptr *oldlenp,
924 const void *newp, uptr newlen) {
981 uptr result = internal_syscall(SYSCALL(rt_sigaction), (uptr)signum,
982 (uptr)(u_act ? &k_act : nullptr),
983 (uptr)(u_oldact ? &k_oldact : nullptr),
984 (uptr)sizeof(__sanitizer_kernel_sigset_t));
1000 uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
1007 return internal_syscall(SYSCALL(rt_sigprocmask), (uptr)how, (uptr)k_set,
1008 (uptr)k_oldset, sizeof(__sanitizer_kernel_sigset_t));
1026 const uptr idx = signum / (sizeof(k_set->sig[0]) * 8);
1027 const uptr bit = signum % (sizeof(k_set->sig[0]) * 8);
1028 k_set->sig[idx] &= ~((uptr)1 << bit);
1036 const uptr idx = signum / (sizeof(k_set->sig[0]) * 8);
1037 const uptr bit = signum % (sizeof(k_set->sig[0]) * 8);
1038 return k_set->sig[idx] & ((uptr)1 << bit);
1041 uptr internal_procctl(int type, int id, int cmd, void *data) {
1076 uptr read = internal_getdents(
1085 for (uptr begin = (uptr)buffer_.data(), end = begin + read; begin < end;) {
1150 static uptr GetKernelAreaSize() {
1152 const uptr gbyte = 1UL << 30;
1185 uptr GetMaxVirtualAddress() {
1206 return ~(uptr)0;
1219 uptr GetMaxUserVirtualAddress() {
1220 uptr addr = GetMaxVirtualAddress();
1224 CHECK_LT(reinterpret_cast<uptr>(&addr), addr);
1230 uptr GetPageSize() {
1237 uptr pzl = sizeof(pz);
1241 return (uptr)pz;
1250 uptr ReadBinaryName(/*out*/ char *buf, uptr buf_len) {
1263 uptr Size = buf_len;
1267 uptr module_name_len = Size;
1270 uptr module_name_len = internal_readlink(default_module_name, buf, buf_len);
1288 uptr ReadLongProcessName(/*out*/ char *buf, uptr buf_len) {
1291 uptr tmpsize;
1292 uptr tmplen;
1311 uptr base_name_length = internal_strlen(base_name);
1319 void ForEachMappedRegion(link_map *map, void (*cb)(const void *, uptr)) {
1333 uptr preferred_base = (uptr)-1;
1336 if (phdr->p_type == PT_LOAD && preferred_base > (uptr)phdr->p_vaddr)
1337 preferred_base = (uptr)phdr->p_vaddr;
1341 sptr delta = (uptr)base - preferred_base;
1346 uptr seg_start = phdr->p_vaddr + delta;
1347 uptr seg_end = seg_start + phdr->p_memsz;
1366 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
1371 CHECK_EQ(0, (uptr)child_stack % 16);
1373 ((unsigned long long *)child_stack)[0] = (uptr)fn;
1374 ((unsigned long long *)child_stack)[1] = (uptr)arg;
1418 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
1423 CHECK_EQ(0, (uptr)child_stack % 16);
1425 ((unsigned long long *)child_stack)[0] = (uptr)fn;
1426 ((unsigned long long *)child_stack)[1] = (uptr)arg;
1489 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
1494 CHECK_EQ(0, (uptr)child_stack % 16);
1530 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
1535 CHECK_EQ(0, (uptr)child_stack % 16);
1537 ((unsigned long long *)child_stack)[0] = (uptr)fn;
1538 ((unsigned long long *)child_stack)[1] = (uptr)arg;
1579 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
1584 CHECK_EQ(0, (uptr)child_stack % 16);
1621 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
1651 CHECK_EQ(0, (uptr)child_stack % 16);
1720 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
1725 CHECK_EQ(0, (uptr)child_stack % 16);
1727 ((unsigned int *)child_stack)[0] = (uptr)flags;
1728 ((unsigned int *)child_stack)[1] = (uptr)0;
1729 ((unsigned int *)child_stack)[2] = (uptr)fn;
1730 ((unsigned int *)child_stack)[3] = (uptr)arg;
1782 uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
1788 ((unsigned int *)child_stack)[0] = (uptr)fn;
1789 ((unsigned int *)child_stack)[1] = (uptr)arg;
1980 static const uptr PF_WRITE = 1U << 1;
1982 uptr err = ucontext->uc_mcontext.mc_err;
1984 uptr err = ucontext->uc_mcontext.__gregs[_REG_ERR];
1987 uptr err = ucontext->uc_mcontext.gregs[Err];
1989 uptr err = ucontext->uc_mcontext.gregs[REG_ERR];
2042 static const uptr FSR_WRITE = 1U << 11;
2043 uptr fsr = ucontext->uc_mcontext.error_code;
2074 uptr pc = ucontext->uc_mcontext.gregs[REG_PC];
2079 uptr pc = scontext->sigc_regs.tpc;
2081 uptr pc = scontext->si_regs.pc;
2360 static uptr GetArmRegister(ucontext_t *ctx, int RegNum) {
2561 static void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
2674 *bp = (uptr)((uhwptr *)*sp)[14] + STACK_BIAS;
2724 uptr len = sizeof(paxflags);
2781 uptr len = sizeof(paxflags);
2816 uptr FindAvailableMemoryRange(uptr size, uptr alignment, uptr left_padding,
2817 uptr *largest_gap_found,
2818 uptr *max_occupied_addr) {
2823 bool GetRandom(void *buffer, uptr length, bool blocking) {
2827 uptr rnd = getentropy(buffer, length);
2839 uptr res = internal_syscall(SYSCALL(getrandom), buffer, length,
2850 uptr fd = internal_open("/dev/urandom", O_RDONLY);
2853 uptr res = internal_read(fd, buffer, length);