From e469b3e4e3c02383df0b1d72e960dfa0f11e9602 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 7 Nov 2024 15:50:59 +0100 Subject: tools/syz-declextract: fix non-determinism and syscall selection Currently syscall selection is non-deterministic and we frequently choose wrond ones. This leads to flaky argument names/types, and wrong argument types (e.g. int16 instead of uid, old_utimbuf32 instead of utimbuf, etc). Make syscall selection robust and correct. --- sys/linux/auto.txt | 67 +++++++++++++++++++++++++----------------------- sys/linux/auto.txt.const | 3 +++ sys/linux/auto.txt.json | 46 +++++++++++++++++++++++++++------ 3 files changed, 76 insertions(+), 40 deletions(-) (limited to 'sys') diff --git a/sys/linux/auto.txt b/sys/linux/auto.txt index 12ca55369..e43f1610f 100644 --- a/sys/linux/auto.txt +++ b/sys/linux/auto.txt @@ -1,8 +1,10 @@ # Code generated by syz-declextract. DO NOT EDIT. + +include +include include include include -include include include include @@ -97,12 +99,10 @@ include include include include -include include include include include -_ = __NR_mmap2 landlock_rule_type = LANDLOCK_RULE_PATH_BENEATH, LANDLOCK_RULE_NET_PORT resource genl_802_15_4_MAC_family_id_auto[int16] resource genl_HSR_family_id_auto[int16] @@ -208,10 +208,10 @@ capget$auto(header ptr[inout, __user_cap_header_struct$auto_record], dataptr ptr capset$auto(header ptr[inout, __user_cap_header_struct$auto_record], data ptr[inout, __user_cap_data_struct$auto_record]) (automatic) chdir$auto(filename ptr[in, string]) (automatic) chmod$auto(filename ptr[in, string], mode int16) (automatic) -chown$auto(filename ptr[in, string], user int16, group int16) (automatic) +chown$auto(filename ptr[in, string], user int32, group int32) (automatic) chown32$auto(filename ptr[in, string], user int32, group int32) (automatic) chroot$auto(filename ptr[in, string]) (automatic) -clock_adjtime$auto(which_clock int32, utp ptr[inout, old_timex32$auto_record]) (automatic) +clock_adjtime$auto(which_clock int32, utx ptr[inout, __kernel_timex$auto_record]) (automatic) clock_adjtime64$auto(which_clock int32, utx ptr[inout, __kernel_timex$auto_record]) (automatic) clock_getres$auto(which_clock int32, tp ptr[inout, __kernel_timespec$auto_record]) (automatic) clock_getres_time64$auto(which_clock int32, tp ptr[inout, __kernel_timespec$auto_record]) (automatic) @@ -247,6 +247,7 @@ exit_group$auto(error_code int32) (automatic) faccessat$auto(dfd fd_dir, filename ptr[in, string], mode int32) (automatic) faccessat2$auto(dfd fd_dir, filename ptr[in, string], mode int32, flags int32) (automatic) fadvise64$auto(fd fd, offset intptr, len intptr, advice int32) (automatic) +fadvise64_64$auto(fd fd, offset_low int32, offset_high int32, len_low int32, len_high int32, advice int32) (automatic) fallocate$auto(fd fd, mode int32, offset intptr, len intptr) (automatic) fanotify_init$auto(flags int32, event_f_flags int32) (automatic) fanotify_mark$auto(fanotify_fd fd, flags int32, mask intptr, dfd fd_dir, pathname ptr[in, string]) (automatic) @@ -254,7 +255,7 @@ fchdir$auto(fd fd) (automatic) fchmod$auto(fd fd, mode int16) (automatic) fchmodat$auto(dfd fd_dir, filename ptr[in, string], mode int16) (automatic) fchmodat2$auto(dfd fd_dir, filename ptr[in, string], mode int16, flags int32) (automatic) -fchown$auto(fd fd, user int16, group int16) (automatic) +fchown$auto(fd fd, user int32, group int32) (automatic) fchown32$auto(fd fd, user int32, group int32) (automatic) fchownat$auto(dfd fd_dir, filename ptr[in, string], user int32, group int32, flag int32) (automatic) fcntl$auto(fd fd, cmd int32, arg intptr) (automatic) @@ -274,13 +275,14 @@ fstatfs$auto(fd fd, buf ptr[inout, statfs$auto_record]) (automatic) fstatfs64$auto(fd fd, sz intptr, buf ptr[inout, statfs64$auto_record]) (automatic) fsync$auto(fd fd) (automatic) ftruncate$auto(fd fd, length intptr) (automatic) +ftruncate64$auto(fd fd, offset_low intptr, offset_high intptr) (automatic) futex$auto(uaddr ptr[inout, int32], op int32, val int32, utime ptr[in, __kernel_timespec$auto_record], uaddr2 ptr[inout, int32], val3 int32) (automatic) futex_requeue$auto(waiters ptr[inout, futex_waitv$auto_record], flags int32, nr_wake int32, nr_requeue int32) (automatic) futex_time64$auto(uaddr ptr[inout, int32], op int32, val int32, utime ptr[in, __kernel_timespec$auto_record], uaddr2 ptr[inout, int32], val3 int32) (automatic) futex_wait$auto(uaddr ptr[inout, array[auto_todo]], val intptr, mask intptr, flags int32, timeout ptr[inout, __kernel_timespec$auto_record], clockid int32) (automatic) futex_waitv$auto(waiters ptr[inout, futex_waitv$auto_record], nr_futexes int32, flags int32, timeout ptr[inout, __kernel_timespec$auto_record], clockid int32) (automatic) futex_wake$auto(uaddr ptr[inout, array[auto_todo]], mask intptr, nr int32, flags int32) (automatic) -futimesat$auto(dfd fd_dir, filename ptr[in, string], t ptr[inout, old_timeval32$auto_record]) (automatic) +futimesat$auto(dfd fd_dir, filename ptr[in, string], utimes ptr[inout, __kernel_old_timeval$auto_record]) (automatic) get_mempolicy$auto(policy ptr[inout, int32], nmask ptr[inout, intptr], maxnode intptr, addr intptr, flags intptr) (automatic) get_robust_list$auto(pid pid, head_ptr ptr[inout, ptr[inout, robust_list_head$auto_record]], len_ptr ptr[inout, intptr]) (automatic) get_thread_area$auto(u_info ptr[inout, user_desc$auto_record]) (automatic) @@ -288,16 +290,16 @@ getcpu$auto(cpup ptr[inout, int32], nodep ptr[inout, int32], unused ptr[inout, g getcwd$auto(buf ptr[inout, string], size intptr) (automatic) getdents$auto(fd fd, dirent ptr[inout, linux_dirent$auto_record], count int32) (automatic) getdents64$auto(fd fd, dirent ptr[inout, linux_dirent64$auto_record], count int32) (automatic) -getgroups$auto(gidsetsize int32, grouplist ptr[inout, int16]) (automatic) +getgroups$auto(gidsetsize int32, grouplist ptr[inout, int32]) (automatic) getgroups32$auto(gidsetsize int32, grouplist ptr[inout, int32]) (automatic) getitimer$auto(which int32, value ptr[inout, __kernel_old_itimerval$auto_record]) (automatic) getpeername$auto(fd fd, usockaddr ptr[inout, sockaddr$auto_record], usockaddr_len ptr[inout, int32]) (automatic) getpgid$auto(pid pid) (automatic) getpriority$auto(which int32, who int32) (automatic) getrandom$auto(ubuf ptr[inout, string], len intptr, flags int32) (automatic) -getresgid$auto(rgidp ptr[inout, int16], egidp ptr[inout, int16], sgidp ptr[inout, int16]) (automatic) +getresgid$auto(rgidp ptr[inout, int32], egidp ptr[inout, int32], sgidp ptr[inout, int32]) (automatic) getresgid32$auto(rgidp ptr[inout, int32], egidp ptr[inout, int32], sgidp ptr[inout, int32]) (automatic) -getresuid$auto(ruidp ptr[inout, int16], euidp ptr[inout, int16], suidp ptr[inout, int16]) (automatic) +getresuid$auto(ruidp ptr[inout, int32], euidp ptr[inout, int32], suidp ptr[inout, int32]) (automatic) getresuid32$auto(ruidp ptr[inout, int32], euidp ptr[inout, int32], suidp ptr[inout, int32]) (automatic) getrlimit$auto(rsrc int32, rlim ptr[inout, rlimit$auto_record]) (automatic) getrusage$auto(who int32, ru ptr[inout, rusage$auto_record]) (automatic) @@ -312,7 +314,7 @@ inotify_init1$auto(flags int32) (automatic) inotify_rm_watch$auto(fd fd, wd int32) (automatic) io_cancel$auto(ctx_id intptr, iocb ptr[inout, iocb$auto_record], result ptr[inout, io_event$auto_record]) (automatic) io_destroy$auto(ctx intptr) (automatic) -io_getevents$auto(ctx_id int32, min_nr int32, nr int32, events ptr[inout, io_event$auto_record], timeout ptr[inout, old_timespec32$auto_record]) (automatic) +io_getevents$auto(ctx_id intptr, min_nr intptr, nr intptr, events ptr[inout, io_event$auto_record], timeout ptr[inout, __kernel_timespec$auto_record]) (automatic) io_pgetevents$auto(ctx_id intptr, min_nr intptr, nr intptr, events ptr[inout, io_event$auto_record], timeout ptr[inout, __kernel_timespec$auto_record], usig ptr[in, __aio_sigset$auto_record]) (automatic) io_pgetevents_time64$auto(ctx_id intptr, min_nr intptr, nr intptr, events ptr[inout, io_event$auto_record], timeout ptr[inout, __kernel_timespec$auto_record], usig ptr[in, __aio_sigset$auto_record]) (automatic) io_setup$auto(nr_events int32, ctxp ptr[inout, intptr]) (automatic) @@ -332,7 +334,7 @@ kill$auto(pid pid, sig int32) (automatic) landlock_add_rule$auto(ruleset_fd fd, rule_type flags[landlock_rule_type], rule_attr ptr[in, array[auto_todo]], flags int32) (automatic) landlock_create_ruleset$auto(attr ptr[in, landlock_ruleset_attr$auto_record], size intptr, flags int32) (automatic) landlock_restrict_self$auto(ruleset_fd fd, flags int32) (automatic) -lchown$auto(filename ptr[in, string], user int16, group int16) (automatic) +lchown$auto(filename ptr[in, string], user int32, group int32) (automatic) lchown32$auto(filename ptr[in, string], user int32, group int32) (automatic) lgetxattr$auto(pathname ptr[in, string], name ptr[in, string], value ptr[inout, array[auto_todo]], size intptr) (automatic) link$auto(oldname ptr[in, string], newname ptr[in, string]) (automatic) @@ -374,9 +376,9 @@ mprotect$auto(start intptr, len intptr, prot intptr) (automatic) mq_getsetattr$auto(mqdes int32, u_mqstat ptr[in, mq_attr$auto_record], u_omqstat ptr[inout, mq_attr$auto_record]) (automatic) mq_notify$auto(mqdes int32, u_notification ptr[in, sigevent$auto_record]) (automatic) mq_open$auto(u_name ptr[in, string], oflag int32, mode int16, u_attr ptr[inout, mq_attr$auto_record]) (automatic) -mq_timedreceive$auto(mqdes int32, u_msg_ptr ptr[inout, string], msg_len int32, u_msg_prio ptr[inout, int32], u_abs_timeout ptr[in, old_timespec32$auto_record]) (automatic) +mq_timedreceive$auto(mqdes int32, u_msg_ptr ptr[inout, string], msg_len intptr, u_msg_prio ptr[inout, int32], u_abs_timeout ptr[in, __kernel_timespec$auto_record]) (automatic) mq_timedreceive_time64$auto(mqdes int32, u_msg_ptr ptr[inout, string], msg_len intptr, u_msg_prio ptr[inout, int32], u_abs_timeout ptr[in, __kernel_timespec$auto_record]) (automatic) -mq_timedsend$auto(mqdes int32, u_msg_ptr ptr[in, string], msg_len int32, msg_prio int32, u_abs_timeout ptr[in, old_timespec32$auto_record]) (automatic) +mq_timedsend$auto(mqdes int32, u_msg_ptr ptr[in, string], msg_len intptr, msg_prio int32, u_abs_timeout ptr[in, __kernel_timespec$auto_record]) (automatic) mq_timedsend_time64$auto(mqdes int32, u_msg_ptr ptr[in, string], msg_len intptr, msg_prio int32, u_abs_timeout ptr[in, __kernel_timespec$auto_record]) (automatic) mq_unlink$auto(u_name ptr[in, string]) (automatic) mremap$auto(addr intptr, old_len intptr, new_len intptr, flags intptr, new_addr intptr) (automatic) @@ -477,7 +479,7 @@ select$auto(n int32, inp ptr[inout, __kernel_fd_set$auto_record], outp ptr[inout semctl$auto(semid int32, semnum int32, cmd int32, arg intptr) (automatic) semget$auto(key int32, nsems int32, semflg int32) (automatic) semop$auto(semid int32, tsops ptr[inout, sembuf$auto_record], nsops int32) (automatic) -semtimedop$auto(semid int32, tsems ptr[inout, sembuf$auto_record], nsops int32, timeout ptr[in, old_timespec32$auto_record]) (automatic) +semtimedop$auto(semid int32, tsops ptr[inout, sembuf$auto_record], nsops int32, timeout ptr[in, __kernel_timespec$auto_record]) (automatic) semtimedop_time64$auto(semid int32, tsops ptr[inout, sembuf$auto_record], nsops int32, timeout ptr[in, __kernel_timespec$auto_record]) (automatic) send$auto(fd fd, buff ptr[inout, array[auto_todo]], len intptr, flags int32) (automatic) sendfile$auto(out_fd fd, in_fd fd, offset ptr[inout, int64], count intptr) (automatic) @@ -943,29 +945,29 @@ set_tid_address$auto(tidptr ptr[inout, int32]) (automatic) setdomainname$auto(name ptr[inout, string], len int32) (automatic) setfsgid$auto(gid gid) (automatic) setfsgid32$auto(gid gid) (automatic) -setfsuid$auto(uid int16) (automatic) +setfsuid$auto(uid uid) (automatic) setfsuid32$auto(uid uid) (automatic) setgid$auto(gid gid) (automatic) setgid32$auto(gid gid) (automatic) -setgroups$auto(gidsetsize int32, grouplist ptr[inout, int16]) (automatic) +setgroups$auto(gidsetsize int32, grouplist ptr[inout, int32]) (automatic) setgroups32$auto(gidsetsize int32, grouplist ptr[inout, int32]) (automatic) sethostname$auto(name ptr[inout, string], len int32) (automatic) setitimer$auto(which int32, value ptr[inout, __kernel_old_itimerval$auto_record], ovalue ptr[inout, __kernel_old_itimerval$auto_record]) (automatic) setns$auto(fd fd, flags int32) (automatic) setpgid$auto(pid pid, pgid int32) (automatic) setpriority$auto(which int32, who int32, niceval int32) (automatic) -setregid$auto(rgid int16, egid int16) (automatic) +setregid$auto(rgid int32, egid int32) (automatic) setregid32$auto(rgid int32, egid int32) (automatic) -setresgid$auto(rgid int16, egid int16, sgid int16) (automatic) +setresgid$auto(rgid int32, egid int32, sgid int32) (automatic) setresgid32$auto(rgid int32, egid int32, sgid int32) (automatic) -setresuid$auto(ruid int16, euid int16, suid int16) (automatic) +setresuid$auto(ruid int32, euid int32, suid int32) (automatic) setresuid32$auto(ruid int32, euid int32, suid int32) (automatic) -setreuid$auto(ruid int16, euid int16) (automatic) +setreuid$auto(ruid int32, euid int32) (automatic) setreuid32$auto(ruid int32, euid int32) (automatic) setrlimit$auto(rsrc int32, rlim ptr[inout, rlimit$auto_record]) (automatic) setsockopt$auto(fd fd, level int32, optname int32, optval ptr[inout, string], optlen int32) (automatic) settimeofday$auto(tv ptr[inout, __kernel_old_timeval$auto_record], tz ptr[inout, timezone$auto_record]) (automatic) -setuid$auto(uid int16) (automatic) +setuid$auto(uid uid) (automatic) setuid32$auto(uid uid) (automatic) setxattr$auto(pathname ptr[in, string], name ptr[in, string], value ptr[in, array[auto_todo]], size intptr, flags int32) (automatic) shmat$auto(shmid int32, shmaddr ptr[inout, string], shmflg int32) (automatic) @@ -1045,13 +1047,13 @@ syz_genetlink_get_family_id$auto_vdpa(name ptr[in, string["vdpa"]], fd sock_nl_g syz_genetlink_get_family_id$auto_wireguard(name ptr[in, string["wireguard"]], fd sock_nl_generic) genl_wireguard_family_id_auto (automatic) tee$auto(fdin int32, fdout int32, len intptr, flags int32) (automatic) tgkill$auto(tgid int32, pid pid, sig int32) (automatic) -time$auto(tloc ptr[inout, int32]) (automatic) +time$auto(tloc ptr[inout, intptr]) (automatic) timer_create$auto(which_clock int32, timer_event_spec ptr[inout, sigevent$auto_record], created_timer_id ptr[inout, int32]) (automatic) timer_delete$auto(timer_id int32) (automatic) timer_getoverrun$auto(timer_id int32) (automatic) timer_gettime$auto(timer_id int32, setting ptr[inout, __kernel_itimerspec$auto_record]) (automatic) timer_gettime64$auto(timer_id int32, setting ptr[inout, __kernel_itimerspec$auto_record]) (automatic) -timer_settime$auto(timer_id int32, flags int32, new ptr[inout, old_itimerspec32$auto_record], old ptr[inout, old_itimerspec32$auto_record]) (automatic) +timer_settime$auto(timer_id int32, flags int32, new_setting ptr[in, __kernel_itimerspec$auto_record], old_setting ptr[inout, __kernel_itimerspec$auto_record]) (automatic) timer_settime64$auto(timer_id int32, flags int32, new_setting ptr[in, __kernel_itimerspec$auto_record], old_setting ptr[inout, __kernel_itimerspec$auto_record]) (automatic) timerfd_create$auto(clockid int32, flags int32) (automatic) timerfd_gettime$auto(ufd fd, otmr ptr[inout, __kernel_itimerspec$auto_record]) (automatic) @@ -1061,6 +1063,7 @@ timerfd_settime64$auto(ufd fd, flags int32, utmr ptr[in, __kernel_itimerspec$aut times$auto(tbuf ptr[inout, tms$auto_record]) (automatic) tkill$auto(pid pid, sig int32) (automatic) truncate$auto(path ptr[in, string], length intptr) (automatic) +truncate64$auto(filename ptr[in, string], offset_low intptr, offset_high intptr) (automatic) ugetrlimit$auto(rsrc int32, rlim ptr[inout, rlimit$auto_record]) (automatic) umask$auto(mask int32) (automatic) umount$auto(name ptr[inout, string]) (automatic) @@ -1071,10 +1074,10 @@ unlinkat$auto(dfd fd_dir, pathname ptr[in, string], flag int32) (automatic) unshare$auto(unshare_flags intptr) (automatic) userfaultfd$auto(flags int32) (automatic) ustat$auto(dev int32, ubuf ptr[inout, ustat$auto_record]) (automatic) -utime$auto(filename ptr[in, string], t ptr[inout, old_utimbuf32$auto_record]) (automatic) -utimensat$auto(dfd fd_dir, filename ptr[in, string], t ptr[inout, old_timespec32$auto_record], flags int32) (automatic) +utime$auto(filename ptr[inout, string], times ptr[inout, utimbuf$auto_record]) (automatic) +utimensat$auto(dfd fd_dir, filename ptr[in, string], utimes ptr[inout, __kernel_timespec$auto_record], flags int32) (automatic) utimensat_time64$auto(dfd fd_dir, filename ptr[in, string], utimes ptr[inout, __kernel_timespec$auto_record], flags int32) (automatic) -utimes$auto(filename ptr[in, string], t ptr[inout, old_timeval32$auto_record]) (automatic) +utimes$auto(filename ptr[inout, string], utimes ptr[inout, __kernel_old_timeval$auto_record]) (automatic) vmsplice$auto(fd fd, uiov ptr[in, iovec$auto_record], nr_segs intptr, flags int32) (automatic) wait4$auto(upid int32, stat_addr ptr[inout, int32], options int32, ru ptr[inout, rusage$auto_record]) (automatic) waitid$auto(which int32, upid int32, infop ptr[inout, siginfo$auto_record], options int32, ru ptr[inout, rusage$auto_record]) (automatic) @@ -7056,11 +7059,6 @@ old_timex32$auto_record { old_timex32_30 const[0, int32] } -old_utimbuf32$auto_record { - actime int32 - modtime int32 -} - old_utsname$auto_record { sysname array[int8, 65] nodename array[int8, 65] @@ -8641,6 +8639,11 @@ ustat$auto_record { f_fpack array[int8, 6] } +utimbuf$auto_record { + actime intptr + modtime intptr +} + vdpa_nl_policy$auto_vdpa [ VDPA_ATTR_MGMTDEV_BUS_NAME nlattr[VDPA_ATTR_MGMTDEV_BUS_NAME, string] VDPA_ATTR_MGMTDEV_DEV_NAME nlattr[VDPA_ATTR_MGMTDEV_DEV_NAME, stringnoz] diff --git a/sys/linux/auto.txt.const b/sys/linux/auto.txt.const index 9d686b2fe..9a2ad7f1e 100644 --- a/sys/linux/auto.txt.const +++ b/sys/linux/auto.txt.const @@ -3796,6 +3796,7 @@ __NR_exit_group = 94, 386:252, amd64:231, arm:s390x:248, mips64le:5205, ppc64le: __NR_faccessat = 48, 386:307, amd64:269, arm:334, mips64le:5259, ppc64le:298, s390x:300 __NR_faccessat2 = 439, mips64le:5439 __NR_fadvise64 = 223, 386:250, amd64:221, arm:???, mips64le:5215, ppc64le:233, s390x:253 +__NR_fadvise64_64 = 386:272, amd64:arm:arm64:mips64le:ppc64le:riscv64:s390x:??? __NR_fallocate = 47, 386:324, amd64:285, arm:352, mips64le:5279, ppc64le:309, s390x:314 __NR_fanotify_init = 262, 386:338, amd64:300, arm:367, mips64le:5295, ppc64le:323, s390x:332 __NR_fanotify_mark = 263, 386:339, amd64:301, arm:368, mips64le:5296, ppc64le:324, s390x:333 @@ -3823,6 +3824,7 @@ __NR_fstatfs = 100, amd64:138, arm64:riscv64:44, mips64le:5135 __NR_fstatfs64 = 386:269, amd64:arm64:mips64le:riscv64:???, arm:267, ppc64le:253, s390x:266 __NR_fsync = 118, amd64:74, arm64:riscv64:82, mips64le:5072 __NR_ftruncate = 93, amd64:77, arm64:riscv64:46, mips64le:5075 +__NR_ftruncate64 = 194, amd64:arm64:mips64le:ppc64le:riscv64:s390x:??? __NR_futex = 98, 386:arm:240, amd64:202, mips64le:5194, ppc64le:221, s390x:238 __NR_futex_requeue = 456, mips64le:5456 __NR_futex_time64 = 422, amd64:arm64:mips64le:ppc64le:riscv64:s390x:??? @@ -4118,6 +4120,7 @@ __NR_timerfd_settime64 = 411, amd64:arm64:mips64le:ppc64le:riscv64:s390x:??? __NR_times = 43, amd64:100, arm64:riscv64:153, mips64le:5098 __NR_tkill = 130, 386:arm:238, amd64:200, mips64le:5192, ppc64le:208, s390x:237 __NR_truncate = 92, amd64:76, arm64:riscv64:45, mips64le:5074 +__NR_truncate64 = 193, amd64:arm64:mips64le:ppc64le:riscv64:s390x:??? __NR_ugetrlimit = 191, amd64:arm64:mips64le:riscv64:s390x:???, ppc64le:190 __NR_umask = 60, amd64:95, arm64:riscv64:166, mips64le:5093 __NR_umount = 22, amd64:arm:arm64:mips64le:riscv64:??? diff --git a/sys/linux/auto.txt.json b/sys/linux/auto.txt.json index a5f557a36..265df5665 100644 --- a/sys/linux/auto.txt.json +++ b/sys/linux/auto.txt.json @@ -5288,6 +5288,16 @@ "mm" ] }, + { + "type": "SYSCALL", + "name": "fadvise64_64", + "files": [ + "arch/x86/kernel/sys_ia32.c" + ], + "subsystems": [ + "kernel" + ] + }, { "type": "SYSCALL", "name": "fallocate", @@ -5362,10 +5372,10 @@ "type": "SYSCALL", "name": "fchown", "files": [ - "kernel/uid16.c" + "fs/open.c" ], "subsystems": [ - "kernel" + "fs" ] }, { @@ -5558,6 +5568,16 @@ "fs" ] }, + { + "type": "SYSCALL", + "name": "ftruncate64", + "files": [ + "arch/x86/kernel/sys_ia32.c" + ], + "subsystems": [ + "kernel" + ] + }, { "type": "SYSCALL", "name": "futex", @@ -7736,7 +7756,7 @@ "type": "SYSCALL", "name": "setfsgid", "files": [ - "kernel/uid16.c" + "kernel/sys.c" ], "subsystems": [ "kernel" @@ -7776,7 +7796,7 @@ "type": "SYSCALL", "name": "setgid", "files": [ - "kernel/uid16.c" + "kernel/sys.c" ], "subsystems": [ "kernel" @@ -7796,7 +7816,7 @@ "type": "SYSCALL", "name": "setgroups", "files": [ - "kernel/uid16.c" + "kernel/groups.c" ], "subsystems": [ "kernel" @@ -7866,7 +7886,7 @@ "type": "SYSCALL", "name": "setregid", "files": [ - "kernel/uid16.c" + "kernel/sys.c" ], "subsystems": [ "kernel" @@ -7906,7 +7926,7 @@ "type": "SYSCALL", "name": "setresuid", "files": [ - "kernel/uid16.c" + "kernel/sys.c" ], "subsystems": [ "kernel" @@ -7926,7 +7946,7 @@ "type": "SYSCALL", "name": "setreuid", "files": [ - "kernel/uid16.c" + "kernel/sys.c" ], "subsystems": [ "kernel" @@ -8512,6 +8532,16 @@ "fs" ] }, + { + "type": "SYSCALL", + "name": "truncate64", + "files": [ + "arch/x86/kernel/sys_ia32.c" + ], + "subsystems": [ + "kernel" + ] + }, { "type": "SYSCALL", "name": "ugetrlimit", -- cgit mrf-deployment