@@ -183,7 +183,8 @@ pub version: __u8,
183183pub contents_encryption_mode : __u8 ,
184184pub filenames_encryption_mode : __u8 ,
185185pub flags : __u8 ,
186- pub __reserved : [ __u8 ; 4usize ] ,
186+ pub log2_data_unit_size : __u8 ,
187+ pub __reserved : [ __u8 ; 3usize ] ,
187188pub master_key_identifier : [ __u8 ; 16usize ] ,
188189}
189190#[ repr( C ) ]
@@ -240,6 +241,39 @@ pub propagation: __u64,
240241pub userns_fd : __u64 ,
241242}
242243#[ repr( C ) ]
244+ #[ derive( Debug ) ]
245+ pub struct statmount {
246+ pub size : __u32 ,
247+ pub __spare1 : __u32 ,
248+ pub mask : __u64 ,
249+ pub sb_dev_major : __u32 ,
250+ pub sb_dev_minor : __u32 ,
251+ pub sb_magic : __u64 ,
252+ pub sb_flags : __u32 ,
253+ pub fs_type : __u32 ,
254+ pub mnt_id : __u64 ,
255+ pub mnt_parent_id : __u64 ,
256+ pub mnt_id_old : __u32 ,
257+ pub mnt_parent_id_old : __u32 ,
258+ pub mnt_attr : __u64 ,
259+ pub mnt_propagation : __u64 ,
260+ pub mnt_peer_group : __u64 ,
261+ pub mnt_master : __u64 ,
262+ pub propagate_from : __u64 ,
263+ pub mnt_root : __u32 ,
264+ pub mnt_point : __u32 ,
265+ pub __spare2 : [ __u64 ; 50usize ] ,
266+ pub str_ : __IncompleteArrayField < crate :: ctypes:: c_char > ,
267+ }
268+ #[ repr( C ) ]
269+ #[ derive( Debug , Copy , Clone ) ]
270+ pub struct mnt_id_req {
271+ pub size : __u32 ,
272+ pub spare : __u32 ,
273+ pub mnt_id : __u64 ,
274+ pub param : __u64 ,
275+ }
276+ #[ repr( C ) ]
243277#[ derive( Debug , Copy , Clone ) ]
244278pub struct file_clone_range {
245279pub src_fd : __s64 ,
@@ -299,6 +333,29 @@ pub fsx_pad: [crate::ctypes::c_uchar; 8usize],
299333}
300334#[ repr( C ) ]
301335#[ derive( Debug , Copy , Clone ) ]
336+ pub struct page_region {
337+ pub start : __u64 ,
338+ pub end : __u64 ,
339+ pub categories : __u64 ,
340+ }
341+ #[ repr( C ) ]
342+ #[ derive( Debug , Copy , Clone ) ]
343+ pub struct pm_scan_arg {
344+ pub size : __u64 ,
345+ pub flags : __u64 ,
346+ pub start : __u64 ,
347+ pub end : __u64 ,
348+ pub walk_end : __u64 ,
349+ pub vec : __u64 ,
350+ pub vec_len : __u64 ,
351+ pub max_pages : __u64 ,
352+ pub category_inverted : __u64 ,
353+ pub category_mask : __u64 ,
354+ pub category_anyof_mask : __u64 ,
355+ pub return_mask : __u64 ,
356+ }
357+ #[ repr( C ) ]
358+ #[ derive( Debug , Copy , Clone ) ]
302359pub struct futex_waitv {
303360pub val : __u64 ,
304361pub uaddr : __u64 ,
@@ -393,36 +450,6 @@ pub tv_usec: __s64,
393450}
394451#[ repr( C ) ]
395452#[ derive( Debug , Copy , Clone ) ]
396- pub struct timespec {
397- pub tv_sec : __kernel_old_time_t ,
398- pub tv_nsec : crate :: ctypes:: c_long ,
399- }
400- #[ repr( C ) ]
401- #[ derive( Debug , Copy , Clone ) ]
402- pub struct timeval {
403- pub tv_sec : __kernel_old_time_t ,
404- pub tv_usec : __kernel_suseconds_t ,
405- }
406- #[ repr( C ) ]
407- #[ derive( Debug , Copy , Clone ) ]
408- pub struct itimerspec {
409- pub it_interval : timespec ,
410- pub it_value : timespec ,
411- }
412- #[ repr( C ) ]
413- #[ derive( Debug , Copy , Clone ) ]
414- pub struct itimerval {
415- pub it_interval : timeval ,
416- pub it_value : timeval ,
417- }
418- #[ repr( C ) ]
419- #[ derive( Debug , Copy , Clone ) ]
420- pub struct timezone {
421- pub tz_minuteswest : crate :: ctypes:: c_int ,
422- pub tz_dsttime : crate :: ctypes:: c_int ,
423- }
424- #[ repr( C ) ]
425- #[ derive( Debug , Copy , Clone ) ]
426453pub struct rusage {
427454pub ru_utime : __kernel_old_timeval ,
428455pub ru_stime : __kernel_old_timeval ,
@@ -673,6 +700,36 @@ pub c_cc: [crate::ctypes::c_uchar; 8usize],
673700}
674701#[ repr( C ) ]
675702#[ derive( Debug , Copy , Clone ) ]
703+ pub struct timespec {
704+ pub tv_sec : __kernel_old_time_t ,
705+ pub tv_nsec : crate :: ctypes:: c_long ,
706+ }
707+ #[ repr( C ) ]
708+ #[ derive( Debug , Copy , Clone ) ]
709+ pub struct timeval {
710+ pub tv_sec : __kernel_old_time_t ,
711+ pub tv_usec : __kernel_suseconds_t ,
712+ }
713+ #[ repr( C ) ]
714+ #[ derive( Debug , Copy , Clone ) ]
715+ pub struct itimerspec {
716+ pub it_interval : timespec ,
717+ pub it_value : timespec ,
718+ }
719+ #[ repr( C ) ]
720+ #[ derive( Debug , Copy , Clone ) ]
721+ pub struct itimerval {
722+ pub it_interval : timeval ,
723+ pub it_value : timeval ,
724+ }
725+ #[ repr( C ) ]
726+ #[ derive( Debug , Copy , Clone ) ]
727+ pub struct timezone {
728+ pub tz_minuteswest : crate :: ctypes:: c_int ,
729+ pub tz_dsttime : crate :: ctypes:: c_int ,
730+ }
731+ #[ repr( C ) ]
732+ #[ derive( Debug , Copy , Clone ) ]
676733pub struct iovec {
677734pub iov_base : * mut crate :: ctypes:: c_void ,
678735pub iov_len : __kernel_size_t ,
@@ -768,6 +825,22 @@ pub mode: __u64,
768825pub mapped : __s64 ,
769826}
770827#[ repr( C ) ]
828+ #[ derive( Debug , Copy , Clone ) ]
829+ pub struct uffdio_poison {
830+ pub range : uffdio_range ,
831+ pub mode : __u64 ,
832+ pub updated : __s64 ,
833+ }
834+ #[ repr( C ) ]
835+ #[ derive( Debug , Copy , Clone ) ]
836+ pub struct uffdio_move {
837+ pub dst : __u64 ,
838+ pub src : __u64 ,
839+ pub len : __u64 ,
840+ pub mode : __u64 ,
841+ pub move_ : __s64 ,
842+ }
843+ #[ repr( C ) ]
771844#[ derive( Debug ) ]
772845pub struct linux_dirent64 {
773846pub d_ino : crate :: ctypes:: c_ulong ,
@@ -871,9 +944,9 @@ pub sa_flags: crate::ctypes::c_ulong,
871944pub sa_restorer : __sigrestore_t ,
872945pub sa_mask : kernel_sigset_t ,
873946}
874- pub const LINUX_VERSION_CODE : u32 = 394496 ;
947+ pub const LINUX_VERSION_CODE : u32 = 395264 ;
875948pub const LINUX_VERSION_MAJOR : u32 = 6 ;
876- pub const LINUX_VERSION_PATCHLEVEL : u32 = 5 ;
949+ pub const LINUX_VERSION_PATCHLEVEL : u32 = 8 ;
877950pub const LINUX_VERSION_SUBLEVEL : u32 = 0 ;
878951pub const AT_SYSINFO_EHDR : u32 = 33 ;
879952pub const AT_MINSIGSTKSZ : u32 = 51 ;
@@ -1242,6 +1315,14 @@ pub const MOUNT_ATTR_NODIRATIME: u32 = 128;
12421315pub const MOUNT_ATTR_IDMAP : u32 = 1048576 ;
12431316pub const MOUNT_ATTR_NOSYMFOLLOW : u32 = 2097152 ;
12441317pub const MOUNT_ATTR_SIZE_VER0 : u32 = 32 ;
1318+ pub const MNT_ID_REQ_SIZE_VER0 : u32 = 24 ;
1319+ pub const STATMOUNT_SB_BASIC : u32 = 1 ;
1320+ pub const STATMOUNT_MNT_BASIC : u32 = 2 ;
1321+ pub const STATMOUNT_PROPAGATE_FROM : u32 = 4 ;
1322+ pub const STATMOUNT_MNT_ROOT : u32 = 8 ;
1323+ pub const STATMOUNT_MNT_POINT : u32 = 16 ;
1324+ pub const STATMOUNT_FS_TYPE : u32 = 32 ;
1325+ pub const LSMT_ROOT : i32 = -1 ;
12451326pub const INR_OPEN_CUR : u32 = 1024 ;
12461327pub const INR_OPEN_MAX : u32 = 4096 ;
12471328pub const BLOCK_SIZE_BITS : u32 = 10 ;
@@ -1313,6 +1394,16 @@ pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1;
13131394pub const SYNC_FILE_RANGE_WRITE : u32 = 2 ;
13141395pub const SYNC_FILE_RANGE_WAIT_AFTER : u32 = 4 ;
13151396pub const SYNC_FILE_RANGE_WRITE_AND_WAIT : u32 = 7 ;
1397+ pub const PAGE_IS_WPALLOWED : u32 = 1 ;
1398+ pub const PAGE_IS_WRITTEN : u32 = 2 ;
1399+ pub const PAGE_IS_FILE : u32 = 4 ;
1400+ pub const PAGE_IS_PRESENT : u32 = 8 ;
1401+ pub const PAGE_IS_SWAPPED : u32 = 16 ;
1402+ pub const PAGE_IS_PFNZERO : u32 = 32 ;
1403+ pub const PAGE_IS_HUGE : u32 = 64 ;
1404+ pub const PAGE_IS_SOFT_DIRTY : u32 = 128 ;
1405+ pub const PM_SCAN_WP_MATCHING : u32 = 1 ;
1406+ pub const PM_SCAN_CHECK_WPASYNC : u32 = 2 ;
13161407pub const FUTEX_WAIT : u32 = 0 ;
13171408pub const FUTEX_WAKE : u32 = 1 ;
13181409pub const FUTEX_FD : u32 = 2 ;
@@ -1343,6 +1434,13 @@ pub const FUTEX_WAIT_BITSET_PRIVATE: u32 = 137;
13431434pub const FUTEX_WAKE_BITSET_PRIVATE : u32 = 138 ;
13441435pub const FUTEX_WAIT_REQUEUE_PI_PRIVATE : u32 = 139 ;
13451436pub const FUTEX_CMP_REQUEUE_PI_PRIVATE : u32 = 140 ;
1437+ pub const FUTEX2_SIZE_U8 : u32 = 0 ;
1438+ pub const FUTEX2_SIZE_U16 : u32 = 1 ;
1439+ pub const FUTEX2_SIZE_U32 : u32 = 2 ;
1440+ pub const FUTEX2_SIZE_U64 : u32 = 3 ;
1441+ pub const FUTEX2_NUMA : u32 = 4 ;
1442+ pub const FUTEX2_PRIVATE : u32 = 128 ;
1443+ pub const FUTEX2_SIZE_MASK : u32 = 3 ;
13461444pub const FUTEX_32 : u32 = 2 ;
13471445pub const FUTEX_WAITV_MAX : u32 = 128 ;
13481446pub const FUTEX_WAITERS : u32 = 2147483648 ;
@@ -1601,25 +1699,6 @@ pub const LINUX_REBOOT_CMD_POWER_OFF: u32 = 1126301404;
16011699pub const LINUX_REBOOT_CMD_RESTART2 : u32 = 2712847316 ;
16021700pub const LINUX_REBOOT_CMD_SW_SUSPEND : u32 = 3489725666 ;
16031701pub const LINUX_REBOOT_CMD_KEXEC : u32 = 1163412803 ;
1604- pub const ITIMER_REAL : u32 = 0 ;
1605- pub const ITIMER_VIRTUAL : u32 = 1 ;
1606- pub const ITIMER_PROF : u32 = 2 ;
1607- pub const CLOCK_REALTIME : u32 = 0 ;
1608- pub const CLOCK_MONOTONIC : u32 = 1 ;
1609- pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ;
1610- pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ;
1611- pub const CLOCK_MONOTONIC_RAW : u32 = 4 ;
1612- pub const CLOCK_REALTIME_COARSE : u32 = 5 ;
1613- pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ;
1614- pub const CLOCK_BOOTTIME : u32 = 7 ;
1615- pub const CLOCK_REALTIME_ALARM : u32 = 8 ;
1616- pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ;
1617- pub const CLOCK_SGI_CYCLE : u32 = 10 ;
1618- pub const CLOCK_TAI : u32 = 11 ;
1619- pub const MAX_CLOCKS : u32 = 16 ;
1620- pub const CLOCKS_MASK : u32 = 1 ;
1621- pub const CLOCKS_MONO : u32 = 1 ;
1622- pub const TIMER_ABSTIME : u32 = 1 ;
16231702pub const RUSAGE_SELF : u32 = 0 ;
16241703pub const RUSAGE_CHILDREN : i32 = -1 ;
16251704pub const RUSAGE_BOTH : i32 = -2 ;
@@ -1802,7 +1881,8 @@ pub const SEGV_ADIDERR: u32 = 6;
18021881pub const SEGV_ADIPERR : u32 = 7 ;
18031882pub const SEGV_MTEAERR : u32 = 8 ;
18041883pub const SEGV_MTESERR : u32 = 9 ;
1805- pub const NSIGSEGV : u32 = 9 ;
1884+ pub const SEGV_CPERR : u32 = 10 ;
1885+ pub const NSIGSEGV : u32 = 10 ;
18061886pub const BUS_ADRALN : u32 = 1 ;
18071887pub const BUS_ADRERR : u32 = 2 ;
18081888pub const BUS_OBJERR : u32 = 3 ;
@@ -1883,6 +1963,7 @@ pub const STATX_BASIC_STATS: u32 = 2047;
18831963pub const STATX_BTIME : u32 = 2048 ;
18841964pub const STATX_MNT_ID : u32 = 4096 ;
18851965pub const STATX_DIOALIGN : u32 = 8192 ;
1966+ pub const STATX_MNT_ID_UNIQUE : u32 = 16384 ;
18861967pub const STATX__RESERVED : u32 = 2147483648 ;
18871968pub const STATX_ALL : u32 = 4095 ;
18881969pub const STATX_ATTR_COMPRESSED : u32 = 4 ;
@@ -2060,6 +2141,25 @@ pub const TIOCM_RI: u32 = 128;
20602141pub const TIOCM_OUT1 : u32 = 8192 ;
20612142pub const TIOCM_OUT2 : u32 = 16384 ;
20622143pub const TIOCM_LOOP : u32 = 32768 ;
2144+ pub const ITIMER_REAL : u32 = 0 ;
2145+ pub const ITIMER_VIRTUAL : u32 = 1 ;
2146+ pub const ITIMER_PROF : u32 = 2 ;
2147+ pub const CLOCK_REALTIME : u32 = 0 ;
2148+ pub const CLOCK_MONOTONIC : u32 = 1 ;
2149+ pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ;
2150+ pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ;
2151+ pub const CLOCK_MONOTONIC_RAW : u32 = 4 ;
2152+ pub const CLOCK_REALTIME_COARSE : u32 = 5 ;
2153+ pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ;
2154+ pub const CLOCK_BOOTTIME : u32 = 7 ;
2155+ pub const CLOCK_REALTIME_ALARM : u32 = 8 ;
2156+ pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ;
2157+ pub const CLOCK_SGI_CYCLE : u32 = 10 ;
2158+ pub const CLOCK_TAI : u32 = 11 ;
2159+ pub const MAX_CLOCKS : u32 = 16 ;
2160+ pub const CLOCKS_MASK : u32 = 1 ;
2161+ pub const CLOCKS_MONO : u32 = 1 ;
2162+ pub const TIMER_ABSTIME : u32 = 1 ;
20632163pub const UIO_FASTIOV : u32 = 8 ;
20642164pub const UIO_MAXIOV : u32 = 1024 ;
20652165pub const __NR_io_setup: u32 = 0 ;
@@ -2370,7 +2470,17 @@ pub const __NR_process_mrelease: u32 = 448;
23702470pub const __NR_futex_waitv: u32 = 449 ;
23712471pub const __NR_set_mempolicy_home_node: u32 = 450 ;
23722472pub const __NR_cachestat: u32 = 451 ;
2373- pub const __NR_syscalls: u32 = 452 ;
2473+ pub const __NR_fchmodat2: u32 = 452 ;
2474+ pub const __NR_map_shadow_stack: u32 = 453 ;
2475+ pub const __NR_futex_wake: u32 = 454 ;
2476+ pub const __NR_futex_wait: u32 = 455 ;
2477+ pub const __NR_futex_requeue: u32 = 456 ;
2478+ pub const __NR_statmount: u32 = 457 ;
2479+ pub const __NR_listmount: u32 = 458 ;
2480+ pub const __NR_lsm_get_self_attr: u32 = 459 ;
2481+ pub const __NR_lsm_set_self_attr: u32 = 460 ;
2482+ pub const __NR_lsm_list_modules: u32 = 461 ;
2483+ pub const __NR_syscalls: u32 = 462 ;
23742484pub const __NR_fcntl: u32 = 25 ;
23752485pub const __NR_statfs: u32 = 43 ;
23762486pub const __NR_fstatfs: u32 = 44 ;
@@ -2460,8 +2570,10 @@ pub const _UFFDIO_UNREGISTER: u32 = 1;
24602570pub const _UFFDIO_WAKE: u32 = 2 ;
24612571pub const _UFFDIO_COPY: u32 = 3 ;
24622572pub const _UFFDIO_ZEROPAGE: u32 = 4 ;
2573+ pub const _UFFDIO_MOVE: u32 = 5 ;
24632574pub const _UFFDIO_WRITEPROTECT: u32 = 6 ;
24642575pub const _UFFDIO_CONTINUE: u32 = 7 ;
2576+ pub const _UFFDIO_POISON: u32 = 8 ;
24652577pub const _UFFDIO_API: u32 = 63 ;
24662578pub const UFFDIO : u32 = 170 ;
24672579pub const UFFD_EVENT_PAGEFAULT : u32 = 18 ;
@@ -2486,6 +2598,9 @@ pub const UFFD_FEATURE_MINOR_SHMEM: u32 = 1024;
24862598pub const UFFD_FEATURE_EXACT_ADDRESS : u32 = 2048 ;
24872599pub const UFFD_FEATURE_WP_HUGETLBFS_SHMEM : u32 = 4096 ;
24882600pub const UFFD_FEATURE_WP_UNPOPULATED : u32 = 8192 ;
2601+ pub const UFFD_FEATURE_POISON : u32 = 16384 ;
2602+ pub const UFFD_FEATURE_WP_ASYNC : u32 = 32768 ;
2603+ pub const UFFD_FEATURE_MOVE : u32 = 65536 ;
24892604pub const UFFD_USER_MODE_ONLY : u32 = 1 ;
24902605pub const DT_UNKNOWN : u32 = 0 ;
24912606pub const DT_FIFO : u32 = 1 ;
@@ -2560,6 +2675,7 @@ FSCONFIG_SET_PATH_EMPTY = 4,
25602675FSCONFIG_SET_FD = 5 ,
25612676FSCONFIG_CMD_CREATE = 6 ,
25622677FSCONFIG_CMD_RECONFIGURE = 7 ,
2678+ FSCONFIG_CMD_CREATE_EXCL = 8 ,
25632679}
25642680#[ repr( u32 ) ]
25652681#[ non_exhaustive]
0 commit comments