aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/linux/quotactl.txt87
-rw-r--r--sys/linux/quotactl.txt.const34
-rw-r--r--sys/linux/sys.txt1
-rw-r--r--sys/linux/sys.txt.const1
4 files changed, 121 insertions, 2 deletions
diff --git a/sys/linux/quotactl.txt b/sys/linux/quotactl.txt
new file mode 100644
index 000000000..7f24ad352
--- /dev/null
+++ b/sys/linux/quotactl.txt
@@ -0,0 +1,87 @@
+# Copyright 2023 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+include <uapi/linux/quota.h>
+
+quotactl$Q_SYNC(cmd flags[quota_cmd_sync], special const[0], id const[0], addr const[0])
+quotactl$Q_QUOTAON(cmd flags[quota_cmd_quota_on], special ptr[in, blockdev_filename], id uid, addr ptr[in, filename])
+quotactl$Q_QUOTAOFF(cmd flags[quota_cmd_quota_off], special ptr[in, blockdev_filename], id uid, addr const[0])
+quotactl$Q_GETFMT(cmd flags[quota_cmd_getfmt], special ptr[in, blockdev_filename], id uid, addr ptr[out, int32])
+quotactl$Q_GETINFO(cmd flags[quota_cmd_getinfo], special ptr[in, blockdev_filename], id uid, addr ptr[out, if_dqinfo])
+quotactl$Q_SETINFO(cmd flags[quota_cmd_setinfo], special ptr[in, blockdev_filename], id uid, addr ptr[in, if_dqinfo])
+quotactl$Q_GETQUOTA(cmd flags[quota_cmd_getquota], special ptr[in, blockdev_filename], id uid, addr ptr[out, if_dqblk])
+quotactl$Q_SETQUOTA(cmd flags[quota_cmd_setquota], special ptr[in, blockdev_filename], id uid, addr ptr[in, if_dqblk])
+quotactl$Q_GETNEXTQUOTA(cmd flags[quota_cmd_getnextquota], special ptr[in, blockdev_filename], id uid, addr ptr[out, if_nextdqblk])
+
+if_dqinfo {
+ dqi_bgrace int64
+ dqi_igrace int64
+ dqi_flags flags[quota_dgqinfo_flags, int32]
+ dqi_valid flags[quota_dgqinfo_valid, int32]
+}
+
+if_dqblk {
+ dqb_bhardlimit int64
+ dqb_bsoftlimit int64
+ dqb_curspace int64
+ dqb_ihardlimit int64
+ dqb_isoftlimit int64
+ dqb_curinodes int64
+ dqb_btime int64
+ dqb_itime int64
+ dqb_valid int32
+}
+
+if_nextdqblk {
+ dqb_bhardlimit int64
+ dqb_bsoftlimit int64
+ dqb_curspace int64
+ dqb_ihardlimit int64
+ dqb_isoftlimit int64
+ dqb_curinodes int64
+ dqb_btime int64
+ dqb_itime int64
+ dqb_valid int32
+ dqb_id int32
+}
+
+quota_dgqinfo_flags = DQF_ROOT_SQUASH
+quota_dgqinfo_valid = IIF_BGRACE, IIF_IGRACE, IIF_FLAGS
+
+quota_cmd_sync = Q_SYNC_USR, Q_SYNC_GRP, Q_SYNC_PRJ
+quota_cmd_quota_on = Q_QUOTAON_USR, Q_QUOTAON_GRP, Q_QUOTAON_PRJ
+quota_cmd_quota_off = Q_QUOTAOFF_USR, Q_QUOTAOFF_GRP, Q_QUOTAOFF_PRJ
+quota_cmd_getfmt = Q_GETFMT_USR, Q_GETFMT_GRP, Q_GETFMT_PRJ
+quota_cmd_getinfo = Q_GETINFO_USR, Q_GETINFO_GRP, Q_GETINFO_PRJ
+quota_cmd_setinfo = Q_SETINFO_USR, Q_SETINFO_GRP, Q_SETINFO_PRJ
+quota_cmd_getquota = Q_GETQUOTA_USR, Q_GETQUOTA_GRP, Q_GETQUOTA_PRJ
+quota_cmd_setquota = Q_SETQUOTA_USR, Q_SETQUOTA_GRP, Q_SETQUOTA_PRJ
+quota_cmd_getnextquota = Q_GETNEXTQUOTA_USR, Q_GETNEXTQUOTA_GRP, Q_GETNEXTQUOTA_PRJ
+
+define Q_SYNC_USR (Q_SYNC << SUBCMDSHIFT) | USRQUOTA
+define Q_SYNC_GRP (Q_SYNC << SUBCMDSHIFT) | GRPQUOTA
+define Q_SYNC_PRJ (Q_SYNC << SUBCMDSHIFT) | PRJQUOTA
+define Q_QUOTAON_USR (Q_QUOTAON << SUBCMDSHIFT) | USRQUOTA
+define Q_QUOTAON_GRP (Q_QUOTAON << SUBCMDSHIFT) | GRPQUOTA
+define Q_QUOTAON_PRJ (Q_QUOTAON << SUBCMDSHIFT) | PRJQUOTA
+define Q_QUOTAOFF_USR (Q_QUOTAOFF << SUBCMDSHIFT) | USRQUOTA
+define Q_QUOTAOFF_GRP (Q_QUOTAOFF << SUBCMDSHIFT) | GRPQUOTA
+define Q_QUOTAOFF_PRJ (Q_QUOTAOFF << SUBCMDSHIFT) | PRJQUOTA
+define Q_GETFMT_USR (Q_GETFMT << SUBCMDSHIFT) | USRQUOTA
+define Q_GETFMT_GRP (Q_GETFMT << SUBCMDSHIFT) | GRPQUOTA
+define Q_GETFMT_PRJ (Q_GETFMT << SUBCMDSHIFT) | PRJQUOTA
+define Q_GETINFO_USR (Q_GETINFO << SUBCMDSHIFT) | USRQUOTA
+define Q_GETINFO_GRP (Q_GETINFO << SUBCMDSHIFT) | GRPQUOTA
+define Q_GETINFO_PRJ (Q_GETINFO << SUBCMDSHIFT) | PRJQUOTA
+define Q_SETINFO_USR (Q_SETINFO << SUBCMDSHIFT) | USRQUOTA
+define Q_SETINFO_GRP (Q_SETINFO << SUBCMDSHIFT) | GRPQUOTA
+define Q_SETINFO_PRJ (Q_SETINFO << SUBCMDSHIFT) | PRJQUOTA
+define Q_GETQUOTA_USR (Q_GETQUOTA << SUBCMDSHIFT) | USRQUOTA
+define Q_GETQUOTA_GRP (Q_GETQUOTA << SUBCMDSHIFT) | GRPQUOTA
+define Q_GETQUOTA_PRJ (Q_GETQUOTA << SUBCMDSHIFT) | PRJQUOTA
+define Q_SETQUOTA_USR (Q_SETQUOTA << SUBCMDSHIFT) | USRQUOTA
+define Q_SETQUOTA_GRP (Q_SETQUOTA << SUBCMDSHIFT) | GRPQUOTA
+define Q_SETQUOTA_PRJ (Q_SETQUOTA << SUBCMDSHIFT) | PRJQUOTA
+define Q_GETNEXTQUOTA_USR (Q_GETNEXTQUOTA << SUBCMDSHIFT) | USRQUOTA
+define Q_GETNEXTQUOTA_GRP (Q_GETNEXTQUOTA << SUBCMDSHIFT) | GRPQUOTA
+define Q_GETNEXTQUOTA_PRJ (Q_GETNEXTQUOTA << SUBCMDSHIFT) | PRJQUOTA
diff --git a/sys/linux/quotactl.txt.const b/sys/linux/quotactl.txt.const
new file mode 100644
index 000000000..942e480d8
--- /dev/null
+++ b/sys/linux/quotactl.txt.const
@@ -0,0 +1,34 @@
+# Code generated by syz-sysgen. DO NOT EDIT.
+arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x
+DQF_ROOT_SQUASH = 1
+IIF_BGRACE = 1
+IIF_FLAGS = 4
+IIF_IGRACE = 2
+Q_GETFMT_GRP = 18446744071562068993
+Q_GETFMT_PRJ = 18446744071562068994
+Q_GETFMT_USR = 18446744071562068992
+Q_GETINFO_GRP = 18446744071562069249
+Q_GETINFO_PRJ = 18446744071562069250
+Q_GETINFO_USR = 18446744071562069248
+Q_GETNEXTQUOTA_GRP = 18446744071562070273
+Q_GETNEXTQUOTA_PRJ = 18446744071562070274
+Q_GETNEXTQUOTA_USR = 18446744071562070272
+Q_GETQUOTA_GRP = 18446744071562069761
+Q_GETQUOTA_PRJ = 18446744071562069762
+Q_GETQUOTA_USR = 18446744071562069760
+Q_QUOTAOFF_GRP = 18446744071562068737
+Q_QUOTAOFF_PRJ = 18446744071562068738
+Q_QUOTAOFF_USR = 18446744071562068736
+Q_QUOTAON_GRP = 18446744071562068481
+Q_QUOTAON_PRJ = 18446744071562068482
+Q_QUOTAON_USR = 18446744071562068480
+Q_SETINFO_GRP = 18446744071562069505
+Q_SETINFO_PRJ = 18446744071562069506
+Q_SETINFO_USR = 18446744071562069504
+Q_SETQUOTA_GRP = 18446744071562070017
+Q_SETQUOTA_PRJ = 18446744071562070018
+Q_SETQUOTA_USR = 18446744071562070016
+Q_SYNC_GRP = 18446744071562068225
+Q_SYNC_PRJ = 18446744071562068226
+Q_SYNC_USR = 18446744071562068224
+__NR_quotactl = 131, amd64:179, arm64:riscv64:60, mips64le:5172
diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt
index ee1eab832..78e45310a 100644
--- a/sys/linux/sys.txt
+++ b/sys/linux/sys.txt
@@ -394,7 +394,6 @@ chroot(dir ptr[in, filename])
getcwd(buf buffer[out], size len[buf])
chdir(dir ptr[in, filename])
fchdir(fd fd)
-quotactl(cmd intptr, special ptr[in, filename], id uid, addr ptr[in, array[int8]])
pivot_root(new_root ptr[in, filename], put_old ptr[in, filename])
sysfs$1(option const[1], fsname ptr[in, string])
diff --git a/sys/linux/sys.txt.const b/sys/linux/sys.txt.const
index 5e2fbd90e..7c5d9cd7f 100644
--- a/sys/linux/sys.txt.const
+++ b/sys/linux/sys.txt.const
@@ -747,7 +747,6 @@ __NR_ptrace = 26, amd64:101, arm64:riscv64:117, mips64le:5099
__NR_pwrite64 = 181, amd64:18, arm64:riscv64:68, mips64le:5017, ppc64le:180
__NR_pwritev = 70, 386:334, amd64:296, arm:362, mips64le:5290, ppc64le:321, s390x:329
__NR_pwritev2 = 287, 386:379, amd64:328, arm:393, mips64le:5322, ppc64le:381, s390x:377
-__NR_quotactl = 131, amd64:179, arm64:riscv64:60, mips64le:5172
__NR_read = 3, amd64:0, arm64:riscv64:63, mips64le:5000
__NR_readahead = 213, 386:arm:225, amd64:187, mips64le:5179, ppc64le:191, s390x:222
__NR_readlink = 85, amd64:89, arm64:riscv64:???, mips64le:5087