diff --git a/libc/include/bits/glibc-syscalls.h b/libc/include/bits/glibc-syscalls.h
index ccccf46..83fb257 100644
--- a/libc/include/bits/glibc-syscalls.h
+++ b/libc/include/bits/glibc-syscalls.h
@@ -306,12 +306,21 @@
 #if defined(__NR_futex)
   #define SYS_futex __NR_futex
 #endif
+#if defined(__NR_futex_requeue)
+  #define SYS_futex_requeue __NR_futex_requeue
+#endif
 #if defined(__NR_futex_time64)
   #define SYS_futex_time64 __NR_futex_time64
 #endif
+#if defined(__NR_futex_wait)
+  #define SYS_futex_wait __NR_futex_wait
+#endif
 #if defined(__NR_futex_waitv)
   #define SYS_futex_waitv __NR_futex_waitv
 #endif
+#if defined(__NR_futex_wake)
+  #define SYS_futex_wake __NR_futex_wake
+#endif
 #if defined(__NR_futimesat)
   #define SYS_futimesat __NR_futimesat
 #endif
diff --git a/libc/kernel/uapi/asm-arm/asm/unistd-eabi.h b/libc/kernel/uapi/asm-arm/asm/unistd-eabi.h
index 671bf4e..482b9cb 100644
--- a/libc/kernel/uapi/asm-arm/asm/unistd-eabi.h
+++ b/libc/kernel/uapi/asm-arm/asm/unistd-eabi.h
@@ -411,4 +411,8 @@
 #define __NR_set_mempolicy_home_node (__NR_SYSCALL_BASE + 450)
 #define __NR_cachestat (__NR_SYSCALL_BASE + 451)
 #define __NR_fchmodat2 (__NR_SYSCALL_BASE + 452)
+#define __NR_map_shadow_stack (__NR_SYSCALL_BASE + 453)
+#define __NR_futex_wake (__NR_SYSCALL_BASE + 454)
+#define __NR_futex_wait (__NR_SYSCALL_BASE + 455)
+#define __NR_futex_requeue (__NR_SYSCALL_BASE + 456)
 #endif
diff --git a/libc/kernel/uapi/asm-arm/asm/unistd-oabi.h b/libc/kernel/uapi/asm-arm/asm/unistd-oabi.h
index be358a6..5126831 100644
--- a/libc/kernel/uapi/asm-arm/asm/unistd-oabi.h
+++ b/libc/kernel/uapi/asm-arm/asm/unistd-oabi.h
@@ -423,4 +423,8 @@
 #define __NR_set_mempolicy_home_node (__NR_SYSCALL_BASE + 450)
 #define __NR_cachestat (__NR_SYSCALL_BASE + 451)
 #define __NR_fchmodat2 (__NR_SYSCALL_BASE + 452)
+#define __NR_map_shadow_stack (__NR_SYSCALL_BASE + 453)
+#define __NR_futex_wake (__NR_SYSCALL_BASE + 454)
+#define __NR_futex_wait (__NR_SYSCALL_BASE + 455)
+#define __NR_futex_requeue (__NR_SYSCALL_BASE + 456)
 #endif
diff --git a/libc/kernel/uapi/asm-arm64/asm/hwcap.h b/libc/kernel/uapi/asm-arm64/asm/hwcap.h
index 11946f1..5abff63 100644
--- a/libc/kernel/uapi/asm-arm64/asm/hwcap.h
+++ b/libc/kernel/uapi/asm-arm64/asm/hwcap.h
@@ -83,4 +83,7 @@
 #define HWCAP2_SME_F16F16 (1UL << 42)
 #define HWCAP2_MOPS (1UL << 43)
 #define HWCAP2_HBC (1UL << 44)
+#define HWCAP2_SVE_B16B16 (1UL << 45)
+#define HWCAP2_LRCPC3 (1UL << 46)
+#define HWCAP2_LSE128 (1UL << 47)
 #endif
diff --git a/libc/kernel/uapi/asm-arm64/asm/kvm.h b/libc/kernel/uapi/asm-arm64/asm/kvm.h
index edac456..5ad9021 100644
--- a/libc/kernel/uapi/asm-arm64/asm/kvm.h
+++ b/libc/kernel/uapi/asm-arm64/asm/kvm.h
@@ -275,5 +275,13 @@
 };
 #define KVM_HYPERCALL_EXIT_SMC (1U << 0)
 #define KVM_HYPERCALL_EXIT_16BIT (1U << 1)
+#define KVM_ARM_FEATURE_ID_RANGE_IDX(op0,op1,crn,crm,op2) ({ __u64 __op1 = (op1) & 3; __op1 -= (__op1 == 3); (__op1 << 6 | ((crm) & 7) << 3 | (op2)); })
+#define KVM_ARM_FEATURE_ID_RANGE 0
+#define KVM_ARM_FEATURE_ID_RANGE_SIZE (3 * 8 * 8)
+struct reg_mask_range {
+  __u64 addr;
+  __u32 range;
+  __u32 reserved[13];
+};
 #endif
 #endif
diff --git a/libc/kernel/uapi/asm-generic/siginfo.h b/libc/kernel/uapi/asm-generic/siginfo.h
index b8476e8..2124bfb 100644
--- a/libc/kernel/uapi/asm-generic/siginfo.h
+++ b/libc/kernel/uapi/asm-generic/siginfo.h
@@ -47,11 +47,6 @@
   } _sigchld;
   struct {
     void  * _addr;
-#ifdef __ia64__
-    int _imm;
-    unsigned int _flags;
-    unsigned long _isr;
-#endif
 #define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? sizeof(short) : __alignof__(void *))
     union {
       int _trapno;
diff --git a/libc/kernel/uapi/asm-generic/unistd.h b/libc/kernel/uapi/asm-generic/unistd.h
index fddbee7..717a098 100644
--- a/libc/kernel/uapi/asm-generic/unistd.h
+++ b/libc/kernel/uapi/asm-generic/unistd.h
@@ -403,8 +403,12 @@
 #define __NR_set_mempolicy_home_node 450
 #define __NR_cachestat 451
 #define __NR_fchmodat2 452
+#define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
 #undef __NR_syscalls
-#define __NR_syscalls 453
+#define __NR_syscalls 457
 #if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
 #define __NR_fcntl __NR3264_fcntl
 #define __NR_statfs __NR3264_statfs
diff --git a/libc/kernel/uapi/asm-riscv/asm/elf.h b/libc/kernel/uapi/asm-riscv/asm/elf.h
index 11abe46..df15148 100644
--- a/libc/kernel/uapi/asm-riscv/asm/elf.h
+++ b/libc/kernel/uapi/asm-riscv/asm/elf.h
@@ -32,6 +32,7 @@
 #define R_RISCV_TLS_DTPREL64 9
 #define R_RISCV_TLS_TPREL32 10
 #define R_RISCV_TLS_TPREL64 11
+#define R_RISCV_IRELATIVE 58
 #define R_RISCV_BRANCH 16
 #define R_RISCV_JAL 17
 #define R_RISCV_CALL 18
@@ -62,7 +63,6 @@
 #define R_RISCV_ALIGN 43
 #define R_RISCV_RVC_BRANCH 44
 #define R_RISCV_RVC_JUMP 45
-#define R_RISCV_LUI 46
 #define R_RISCV_GPREL_I 47
 #define R_RISCV_GPREL_S 48
 #define R_RISCV_TPREL_I 49
@@ -74,4 +74,7 @@
 #define R_RISCV_SET16 55
 #define R_RISCV_SET32 56
 #define R_RISCV_32_PCREL 57
+#define R_RISCV_PLT32 59
+#define R_RISCV_SET_ULEB128 60
+#define R_RISCV_SUB_ULEB128 61
 #endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/hwprobe.h b/libc/kernel/uapi/asm-riscv/asm/hwprobe.h
index 7571e3f..a18b020 100644
--- a/libc/kernel/uapi/asm-riscv/asm/hwprobe.h
+++ b/libc/kernel/uapi/asm-riscv/asm/hwprobe.h
@@ -23,6 +23,7 @@
 #define RISCV_HWPROBE_EXT_ZBA (1 << 3)
 #define RISCV_HWPROBE_EXT_ZBB (1 << 4)
 #define RISCV_HWPROBE_EXT_ZBS (1 << 5)
+#define RISCV_HWPROBE_EXT_ZICBOZ (1 << 6)
 #define RISCV_HWPROBE_KEY_CPUPERF_0 5
 #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0)
 #define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0)
@@ -30,4 +31,5 @@
 #define RISCV_HWPROBE_MISALIGNED_FAST (3 << 0)
 #define RISCV_HWPROBE_MISALIGNED_UNSUPPORTED (4 << 0)
 #define RISCV_HWPROBE_MISALIGNED_MASK (7 << 0)
+#define RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE 6
 #endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/kvm.h b/libc/kernel/uapi/asm-riscv/asm/kvm.h
index 2a3424e..470d581 100644
--- a/libc/kernel/uapi/asm-riscv/asm/kvm.h
+++ b/libc/kernel/uapi/asm-riscv/asm/kvm.h
@@ -53,6 +53,7 @@
   unsigned long sip;
   unsigned long satp;
   unsigned long scounteren;
+  unsigned long senvcfg;
 };
 struct kvm_riscv_aia_csr {
   unsigned long siselect;
@@ -63,6 +64,9 @@
   unsigned long iprio1h;
   unsigned long iprio2h;
 };
+struct kvm_riscv_smstateen_csr {
+  unsigned long sstateen0;
+};
 struct kvm_riscv_timer {
   __u64 frequency;
   __u64 time;
@@ -93,6 +97,8 @@
   KVM_RISCV_ISA_EXT_ZICSR,
   KVM_RISCV_ISA_EXT_ZIFENCEI,
   KVM_RISCV_ISA_EXT_ZIHPM,
+  KVM_RISCV_ISA_EXT_SMSTATEEN,
+  KVM_RISCV_ISA_EXT_ZICOND,
   KVM_RISCV_ISA_EXT_MAX,
 };
 enum KVM_RISCV_SBI_EXT_ID {
@@ -105,6 +111,7 @@
   KVM_RISCV_SBI_EXT_PMU,
   KVM_RISCV_SBI_EXT_EXPERIMENTAL,
   KVM_RISCV_SBI_EXT_VENDOR,
+  KVM_RISCV_SBI_EXT_DBCN,
   KVM_RISCV_SBI_EXT_MAX,
 };
 #define KVM_RISCV_TIMER_STATE_OFF 0
@@ -121,8 +128,10 @@
 #define KVM_REG_RISCV_CSR (0x03 << KVM_REG_RISCV_TYPE_SHIFT)
 #define KVM_REG_RISCV_CSR_GENERAL (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT)
 #define KVM_REG_RISCV_CSR_AIA (0x1 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_CSR_SMSTATEEN (0x2 << KVM_REG_RISCV_SUBTYPE_SHIFT)
 #define KVM_REG_RISCV_CSR_REG(name) (offsetof(struct kvm_riscv_csr, name) / sizeof(unsigned long))
 #define KVM_REG_RISCV_CSR_AIA_REG(name) (offsetof(struct kvm_riscv_aia_csr, name) / sizeof(unsigned long))
+#define KVM_REG_RISCV_CSR_SMSTATEEN_REG(name) (offsetof(struct kvm_riscv_smstateen_csr, name) / sizeof(unsigned long))
 #define KVM_REG_RISCV_TIMER (0x04 << KVM_REG_RISCV_TYPE_SHIFT)
 #define KVM_REG_RISCV_TIMER_REG(name) (offsetof(struct kvm_riscv_timer, name) / sizeof(__u64))
 #define KVM_REG_RISCV_FP_F (0x05 << KVM_REG_RISCV_TYPE_SHIFT)
diff --git a/libc/kernel/uapi/asm-x86/asm/amd_hsmp.h b/libc/kernel/uapi/asm-x86/asm/amd_hsmp.h
index 70296f7..0d630bf 100644
--- a/libc/kernel/uapi/asm-x86/asm/amd_hsmp.h
+++ b/libc/kernel/uapi/asm-x86/asm/amd_hsmp.h
@@ -44,6 +44,9 @@
   HSMP_SET_PCI_RATE,
   HSMP_SET_POWER_MODE,
   HSMP_SET_PSTATE_MAX_MIN,
+  HSMP_GET_METRIC_TABLE_VER,
+  HSMP_GET_METRIC_TABLE,
+  HSMP_GET_METRIC_TABLE_DRAM_ADDR,
   HSMP_MSG_ID_MAX,
 };
 struct hsmp_message {
@@ -58,6 +61,13 @@
   HSMP_SET = 0,
   HSMP_GET = 1,
 };
+enum hsmp_proto_versions {
+  HSMP_PROTO_VER2 = 2,
+  HSMP_PROTO_VER3,
+  HSMP_PROTO_VER4,
+  HSMP_PROTO_VER5,
+  HSMP_PROTO_VER6
+};
 struct hsmp_msg_desc {
   int num_args;
   int response_sz;
@@ -169,8 +179,77 @@
  , {
     1, 0, HSMP_SET
   }
+ , {
+    0, 1, HSMP_GET
+  }
+ , {
+    0, 0, HSMP_GET
+  }
+ , {
+    0, 2, HSMP_GET
+  }
  ,
 };
+struct hsmp_metric_table {
+  __u32 accumulation_counter;
+  __u32 max_socket_temperature;
+  __u32 max_vr_temperature;
+  __u32 max_hbm_temperature;
+  __u64 max_socket_temperature_acc;
+  __u64 max_vr_temperature_acc;
+  __u64 max_hbm_temperature_acc;
+  __u32 socket_power_limit;
+  __u32 max_socket_power_limit;
+  __u32 socket_power;
+  __u64 timestamp;
+  __u64 socket_energy_acc;
+  __u64 ccd_energy_acc;
+  __u64 xcd_energy_acc;
+  __u64 aid_energy_acc;
+  __u64 hbm_energy_acc;
+  __u32 cclk_frequency_limit;
+  __u32 gfxclk_frequency_limit;
+  __u32 fclk_frequency;
+  __u32 uclk_frequency;
+  __u32 socclk_frequency[4];
+  __u32 vclk_frequency[4];
+  __u32 dclk_frequency[4];
+  __u32 lclk_frequency[4];
+  __u64 gfxclk_frequency_acc[8];
+  __u64 cclk_frequency_acc[96];
+  __u32 max_cclk_frequency;
+  __u32 min_cclk_frequency;
+  __u32 max_gfxclk_frequency;
+  __u32 min_gfxclk_frequency;
+  __u32 fclk_frequency_table[4];
+  __u32 uclk_frequency_table[4];
+  __u32 socclk_frequency_table[4];
+  __u32 vclk_frequency_table[4];
+  __u32 dclk_frequency_table[4];
+  __u32 lclk_frequency_table[4];
+  __u32 max_lclk_dpm_range;
+  __u32 min_lclk_dpm_range;
+  __u32 xgmi_width;
+  __u32 xgmi_bitrate;
+  __u64 xgmi_read_bandwidth_acc[8];
+  __u64 xgmi_write_bandwidth_acc[8];
+  __u32 socket_c0_residency;
+  __u32 socket_gfx_busy;
+  __u32 dram_bandwidth_utilization;
+  __u64 socket_c0_residency_acc;
+  __u64 socket_gfx_busy_acc;
+  __u64 dram_bandwidth_acc;
+  __u32 max_dram_bandwidth;
+  __u64 dram_bandwidth_utilization_acc;
+  __u64 pcie_bandwidth_acc[4];
+  __u32 prochot_residency_acc;
+  __u32 ppt_residency_acc;
+  __u32 socket_thm_residency_acc;
+  __u32 vr_thm_residency_acc;
+  __u32 hbm_thm_residency_acc;
+  __u32 spare;
+  __u32 gfxclk_frequency[8];
+};
 #pragma pack()
 #define HSMP_BASE_IOCTL_NR 0xF8
 #define HSMP_IOCTL_CMD _IOWR(HSMP_BASE_IOCTL_NR, 0, struct hsmp_message)
diff --git a/libc/kernel/uapi/asm-x86/asm/unistd_32.h b/libc/kernel/uapi/asm-x86/asm/unistd_32.h
index 93a8f19..e82b988 100644
--- a/libc/kernel/uapi/asm-x86/asm/unistd_32.h
+++ b/libc/kernel/uapi/asm-x86/asm/unistd_32.h
@@ -448,4 +448,8 @@
 #define __NR_set_mempolicy_home_node 450
 #define __NR_cachestat 451
 #define __NR_fchmodat2 452
+#define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
 #endif
diff --git a/libc/kernel/uapi/asm-x86/asm/unistd_64.h b/libc/kernel/uapi/asm-x86/asm/unistd_64.h
index 34a978d..10d6e96 100644
--- a/libc/kernel/uapi/asm-x86/asm/unistd_64.h
+++ b/libc/kernel/uapi/asm-x86/asm/unistd_64.h
@@ -371,4 +371,7 @@
 #define __NR_cachestat 451
 #define __NR_fchmodat2 452
 #define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
 #endif
diff --git a/libc/kernel/uapi/asm-x86/asm/unistd_x32.h b/libc/kernel/uapi/asm-x86/asm/unistd_x32.h
index 87fc7b0..7fbbe11 100644
--- a/libc/kernel/uapi/asm-x86/asm/unistd_x32.h
+++ b/libc/kernel/uapi/asm-x86/asm/unistd_x32.h
@@ -323,6 +323,9 @@
 #define __NR_set_mempolicy_home_node (__X32_SYSCALL_BIT + 450)
 #define __NR_cachestat (__X32_SYSCALL_BIT + 451)
 #define __NR_fchmodat2 (__X32_SYSCALL_BIT + 452)
+#define __NR_futex_wake (__X32_SYSCALL_BIT + 454)
+#define __NR_futex_wait (__X32_SYSCALL_BIT + 455)
+#define __NR_futex_requeue (__X32_SYSCALL_BIT + 456)
 #define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
 #define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
 #define __NR_ioctl (__X32_SYSCALL_BIT + 514)
diff --git a/libc/kernel/uapi/drm/amdgpu_drm.h b/libc/kernel/uapi/drm/amdgpu_drm.h
index aa3f30f..1e5b8e3 100644
--- a/libc/kernel/uapi/drm/amdgpu_drm.h
+++ b/libc/kernel/uapi/drm/amdgpu_drm.h
@@ -64,6 +64,7 @@
 #define AMDGPU_GEM_CREATE_DISCARDABLE (1 << 12)
 #define AMDGPU_GEM_CREATE_COHERENT (1 << 13)
 #define AMDGPU_GEM_CREATE_UNCACHED (1 << 14)
+#define AMDGPU_GEM_CREATE_EXT_COHERENT (1 << 15)
 struct drm_amdgpu_gem_create_in {
   __u64 bo_size;
   __u64 alignment;
@@ -331,7 +332,8 @@
 #define AMDGPU_HW_IP_VCN_DEC 6
 #define AMDGPU_HW_IP_VCN_ENC 7
 #define AMDGPU_HW_IP_VCN_JPEG 8
-#define AMDGPU_HW_IP_NUM 9
+#define AMDGPU_HW_IP_VPE 9
+#define AMDGPU_HW_IP_NUM 10
 #define AMDGPU_HW_IP_INSTANCE_MAX_COUNT 1
 #define AMDGPU_CHUNK_ID_IB 0x01
 #define AMDGPU_CHUNK_ID_FENCE 0x02
@@ -459,6 +461,7 @@
 #define AMDGPU_INFO_FW_MES_KIQ 0x19
 #define AMDGPU_INFO_FW_MES 0x1a
 #define AMDGPU_INFO_FW_IMU 0x1b
+#define AMDGPU_INFO_FW_VPE 0x1c
 #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f
 #define AMDGPU_INFO_VRAM_USAGE 0x10
 #define AMDGPU_INFO_GTT_USAGE 0x11
@@ -508,6 +511,7 @@
 #define AMDGPU_INFO_VIDEO_CAPS_DECODE 0
 #define AMDGPU_INFO_VIDEO_CAPS_ENCODE 1
 #define AMDGPU_INFO_MAX_IBS 0x22
+#define AMDGPU_INFO_GPUVM_FAULT 0x23
 #define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0
 #define AMDGPU_INFO_MMR_SE_INDEX_MASK 0xff
 #define AMDGPU_INFO_MMR_SH_INDEX_SHIFT 8
@@ -711,6 +715,18 @@
 struct drm_amdgpu_info_video_caps {
   struct drm_amdgpu_info_video_codec_info codec_info[AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_COUNT];
 };
+#define AMDGPU_VMHUB_TYPE_MASK 0xff
+#define AMDGPU_VMHUB_TYPE_SHIFT 0
+#define AMDGPU_VMHUB_TYPE_GFX 0
+#define AMDGPU_VMHUB_TYPE_MM0 1
+#define AMDGPU_VMHUB_TYPE_MM1 2
+#define AMDGPU_VMHUB_IDX_MASK 0xff00
+#define AMDGPU_VMHUB_IDX_SHIFT 8
+struct drm_amdgpu_info_gpuvm_fault {
+  __u64 addr;
+  __u32 status;
+  __u32 vmhub;
+};
 #define AMDGPU_FAMILY_UNKNOWN 0
 #define AMDGPU_FAMILY_SI 110
 #define AMDGPU_FAMILY_CI 120
@@ -726,6 +742,7 @@
 #define AMDGPU_FAMILY_GC_11_0_1 148
 #define AMDGPU_FAMILY_GC_10_3_6 149
 #define AMDGPU_FAMILY_GC_10_3_7 151
+#define AMDGPU_FAMILY_GC_11_5_0 150
 #ifdef __cplusplus
 }
 #endif
diff --git a/libc/kernel/uapi/drm/drm_fourcc.h b/libc/kernel/uapi/drm/drm_fourcc.h
index 8190325..6fd2eb8 100644
--- a/libc/kernel/uapi/drm/drm_fourcc.h
+++ b/libc/kernel/uapi/drm/drm_fourcc.h
@@ -119,6 +119,8 @@
 #define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4')
 #define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2')
 #define DRM_FORMAT_NV15 fourcc_code('N', 'V', '1', '5')
+#define DRM_FORMAT_NV20 fourcc_code('N', 'V', '2', '0')
+#define DRM_FORMAT_NV30 fourcc_code('N', 'V', '3', '0')
 #define DRM_FORMAT_P210 fourcc_code('P', '2', '1', '0')
 #define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0')
 #define DRM_FORMAT_P012 fourcc_code('P', '0', '1', '2')
diff --git a/libc/kernel/uapi/drm/habanalabs_accel.h b/libc/kernel/uapi/drm/habanalabs_accel.h
index 44fd8c8..158e937 100644
--- a/libc/kernel/uapi/drm/habanalabs_accel.h
+++ b/libc/kernel/uapi/drm/habanalabs_accel.h
@@ -6,8 +6,7 @@
  */
 #ifndef HABANALABS_H_
 #define HABANALABS_H_
-#include <linux/types.h>
-#include <linux/ioctl.h>
+#include <drm/drm.h>
 #define GOYA_KMD_SRAM_RESERVED_SIZE_FROM_START 0x8000
 #define GAUDI_DRIVER_SRAM_RESERVED_SIZE_FROM_START 0x80
 #define GAUDI_FIRST_AVAILABLE_W_S_SYNC_OBJECT 144
@@ -656,6 +655,7 @@
 #define HL_INFO_FW_GENERIC_REQ 35
 #define HL_INFO_HW_ERR_EVENT 36
 #define HL_INFO_FW_ERR_EVENT 37
+#define HL_INFO_USER_ENGINE_ERR_EVENT 38
 #define HL_INFO_VERSION_MAX_LEN 128
 #define HL_INFO_CARD_NAME_MAX_LEN 16
 #define HL_ENGINES_DATA_MAX_SIZE SZ_1M
@@ -729,6 +729,7 @@
 struct hl_info_time_sync {
   __u64 device_time;
   __u64 host_time;
+  __u64 tsc_time;
 };
 struct hl_info_pci_counters {
   __u64 rx_throughput;
@@ -834,6 +835,12 @@
   __u16 event_id;
   __u32 pad;
 };
+struct hl_info_engine_err_event {
+  __s64 timestamp;
+  __u16 engine_id;
+  __u16 error_count;
+  __u32 pad;
+};
 struct hl_info_dev_memalloc_page_sizes {
   __u64 page_order_bitmask;
 };
@@ -1183,12 +1190,18 @@
   __u32 enable;
   __u32 ctx_id;
 };
-#define HL_IOCTL_INFO _IOWR('H', 0x01, struct hl_info_args)
-#define HL_IOCTL_CB _IOWR('H', 0x02, union hl_cb_args)
-#define HL_IOCTL_CS _IOWR('H', 0x03, union hl_cs_args)
-#define HL_IOCTL_WAIT_CS _IOWR('H', 0x04, union hl_wait_cs_args)
-#define HL_IOCTL_MEMORY _IOWR('H', 0x05, union hl_mem_args)
-#define HL_IOCTL_DEBUG _IOWR('H', 0x06, struct hl_debug_args)
-#define HL_COMMAND_START 0x01
-#define HL_COMMAND_END 0x07
+#define HL_IOCTL_INFO 0x00
+#define HL_IOCTL_CB 0x01
+#define HL_IOCTL_CS 0x02
+#define HL_IOCTL_WAIT_CS 0x03
+#define HL_IOCTL_MEMORY 0x04
+#define HL_IOCTL_DEBUG 0x05
+#define DRM_IOCTL_HL_INFO DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_INFO, struct hl_info_args)
+#define DRM_IOCTL_HL_CB DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_CB, union hl_cb_args)
+#define DRM_IOCTL_HL_CS DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_CS, union hl_cs_args)
+#define DRM_IOCTL_HL_WAIT_CS DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_WAIT_CS, union hl_wait_cs_args)
+#define DRM_IOCTL_HL_MEMORY DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_MEMORY, union hl_mem_args)
+#define DRM_IOCTL_HL_DEBUG DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_DEBUG, struct hl_debug_args)
+#define HL_COMMAND_START (DRM_COMMAND_BASE + HL_IOCTL_INFO)
+#define HL_COMMAND_END (DRM_COMMAND_BASE + HL_IOCTL_DEBUG + 1)
 #endif
diff --git a/libc/kernel/uapi/drm/qaic_accel.h b/libc/kernel/uapi/drm/qaic_accel.h
index 3e6bb2a..9e50aec 100644
--- a/libc/kernel/uapi/drm/qaic_accel.h
+++ b/libc/kernel/uapi/drm/qaic_accel.h
@@ -170,6 +170,10 @@
   __u32 device_latency_us;
   __u32 pad;
 };
+struct qaic_detach_slice {
+  __u32 handle;
+  __u32 pad;
+};
 #define DRM_QAIC_MANAGE 0x00
 #define DRM_QAIC_CREATE_BO 0x01
 #define DRM_QAIC_MMAP_BO 0x02
@@ -178,6 +182,7 @@
 #define DRM_QAIC_PARTIAL_EXECUTE_BO 0x05
 #define DRM_QAIC_WAIT_BO 0x06
 #define DRM_QAIC_PERF_STATS_BO 0x07
+#define DRM_QAIC_DETACH_SLICE_BO 0x08
 #define DRM_IOCTL_QAIC_MANAGE DRM_IOWR(DRM_COMMAND_BASE + DRM_QAIC_MANAGE, struct qaic_manage_msg)
 #define DRM_IOCTL_QAIC_CREATE_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_QAIC_CREATE_BO, struct qaic_create_bo)
 #define DRM_IOCTL_QAIC_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_QAIC_MMAP_BO, struct qaic_mmap_bo)
@@ -186,6 +191,7 @@
 #define DRM_IOCTL_QAIC_PARTIAL_EXECUTE_BO DRM_IOW(DRM_COMMAND_BASE + DRM_QAIC_PARTIAL_EXECUTE_BO, struct qaic_execute)
 #define DRM_IOCTL_QAIC_WAIT_BO DRM_IOW(DRM_COMMAND_BASE + DRM_QAIC_WAIT_BO, struct qaic_wait)
 #define DRM_IOCTL_QAIC_PERF_STATS_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_QAIC_PERF_STATS_BO, struct qaic_perf_stats)
+#define DRM_IOCTL_QAIC_DETACH_SLICE_BO DRM_IOW(DRM_COMMAND_BASE + DRM_QAIC_DETACH_SLICE_BO, struct qaic_detach_slice)
 #ifdef __cplusplus
 }
 #endif
diff --git a/libc/kernel/uapi/linux/bpf.h b/libc/kernel/uapi/linux/bpf.h
index 5d0cfba..25e8ad7 100644
--- a/libc/kernel/uapi/linux/bpf.h
+++ b/libc/kernel/uapi/linux/bpf.h
@@ -147,7 +147,8 @@
   BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
   BPF_MAP_TYPE_CGROUP_STORAGE = BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
   BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
-  BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,
+  BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED,
+  BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED,
   BPF_MAP_TYPE_QUEUE,
   BPF_MAP_TYPE_STACK,
   BPF_MAP_TYPE_SK_STORAGE,
@@ -245,6 +246,13 @@
   BPF_TCX_INGRESS,
   BPF_TCX_EGRESS,
   BPF_TRACE_UPROBE_MULTI,
+  BPF_CGROUP_UNIX_CONNECT,
+  BPF_CGROUP_UNIX_SENDMSG,
+  BPF_CGROUP_UNIX_RECVMSG,
+  BPF_CGROUP_UNIX_GETPEERNAME,
+  BPF_CGROUP_UNIX_GETSOCKNAME,
+  BPF_NETKIT_PRIMARY,
+  BPF_NETKIT_PEER,
   __MAX_BPF_ATTACH_TYPE
 };
 #define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE
@@ -262,6 +270,7 @@
   BPF_LINK_TYPE_NETFILTER = 10,
   BPF_LINK_TYPE_TCX = 11,
   BPF_LINK_TYPE_UPROBE_MULTI = 12,
+  BPF_LINK_TYPE_NETKIT = 13,
   MAX_BPF_LINK_TYPE,
 };
 enum bpf_perf_event_type {
@@ -562,6 +571,13 @@
         __u32 flags;
         __u32 pid;
       } uprobe_multi;
+      struct {
+        union {
+          __u32 relative_fd;
+          __u32 relative_id;
+        };
+        __u64 expected_revision;
+      } netkit;
     };
   } link_create;
   struct {
@@ -1044,6 +1060,7 @@
       __aligned_u64 addrs;
       __u32 count;
       __u32 flags;
+      __u64 missed;
     } kprobe_multi;
     struct {
       __u32 type;
@@ -1059,6 +1076,7 @@
           __u32 name_len;
           __u32 offset;
           __u64 addr;
+          __u64 missed;
         } kprobe;
         struct {
           __aligned_u64 tp_name;
@@ -1074,6 +1092,10 @@
       __u32 ifindex;
       __u32 attach_type;
     } tcx;
+    struct {
+      __u32 ifindex;
+      __u32 attach_type;
+    } netkit;
   };
 } __attribute__((aligned(8)));
 struct bpf_sock_addr {
@@ -1221,6 +1243,7 @@
   BPF_FIB_LOOKUP_OUTPUT = (1U << 1),
   BPF_FIB_LOOKUP_SKIP_NEIGH = (1U << 2),
   BPF_FIB_LOOKUP_TBID = (1U << 3),
+  BPF_FIB_LOOKUP_SRC = (1U << 4),
 };
 enum {
   BPF_FIB_LKUP_RET_SUCCESS,
@@ -1232,6 +1255,7 @@
   BPF_FIB_LKUP_RET_UNSUPP_LWT,
   BPF_FIB_LKUP_RET_NO_NEIGH,
   BPF_FIB_LKUP_RET_FRAG_NEEDED,
+  BPF_FIB_LKUP_RET_NO_SRC_ADDR,
 };
 struct bpf_fib_lookup {
   __u8 family;
@@ -1430,6 +1454,7 @@
 };
 enum {
   BPF_F_TIMER_ABS = (1ULL << 0),
+  BPF_F_TIMER_CPU_PIN = (1ULL << 1),
 };
 struct bpf_iter_num {
   __u64 __opaque[1];
diff --git a/libc/kernel/uapi/linux/btrfs.h b/libc/kernel/uapi/linux/btrfs.h
index bbf530d..27564f8 100644
--- a/libc/kernel/uapi/linux/btrfs.h
+++ b/libc/kernel/uapi/linux/btrfs.h
@@ -185,6 +185,8 @@
 #define BTRFS_FEATURE_INCOMPAT_RAID1C34 (1ULL << 11)
 #define BTRFS_FEATURE_INCOMPAT_ZONED (1ULL << 12)
 #define BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2 (1ULL << 13)
+#define BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE (1ULL << 14)
+#define BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA (1ULL << 16)
 struct btrfs_ioctl_feature_flags {
   __u64 compat_flags;
   __u64 compat_ro_flags;
@@ -382,6 +384,7 @@
 #define BTRFS_QUOTA_CTL_ENABLE 1
 #define BTRFS_QUOTA_CTL_DISABLE 2
 #define BTRFS_QUOTA_CTL_RESCAN__NOTUSED 3
+#define BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA 4
 struct btrfs_ioctl_quota_ctl_args {
   __u64 cmd;
   __u64 status;
diff --git a/libc/kernel/uapi/linux/btrfs_tree.h b/libc/kernel/uapi/linux/btrfs_tree.h
index 57579e4..ea33eee 100644
--- a/libc/kernel/uapi/linux/btrfs_tree.h
+++ b/libc/kernel/uapi/linux/btrfs_tree.h
@@ -24,6 +24,7 @@
 #define BTRFS_UUID_TREE_OBJECTID 9ULL
 #define BTRFS_FREE_SPACE_TREE_OBJECTID 10ULL
 #define BTRFS_BLOCK_GROUP_TREE_OBJECTID 11ULL
+#define BTRFS_RAID_STRIPE_TREE_OBJECTID 12ULL
 #define BTRFS_DEV_STATS_OBJECTID 0ULL
 #define BTRFS_BALANCE_OBJECTID - 4ULL
 #define BTRFS_ORPHAN_OBJECTID - 5ULL
@@ -60,6 +61,7 @@
 #define BTRFS_ROOT_REF_KEY 156
 #define BTRFS_EXTENT_ITEM_KEY 168
 #define BTRFS_METADATA_ITEM_KEY 169
+#define BTRFS_EXTENT_OWNER_REF_KEY 172
 #define BTRFS_TREE_BLOCK_REF_KEY 176
 #define BTRFS_EXTENT_DATA_REF_KEY 178
 #define BTRFS_SHARED_BLOCK_REF_KEY 182
@@ -71,6 +73,7 @@
 #define BTRFS_DEV_EXTENT_KEY 204
 #define BTRFS_DEV_ITEM_KEY 216
 #define BTRFS_CHUNK_ITEM_KEY 228
+#define BTRFS_RAID_STRIPE_KEY 230
 #define BTRFS_QGROUP_STATUS_KEY 240
 #define BTRFS_QGROUP_INFO_KEY 242
 #define BTRFS_QGROUP_LIMIT_KEY 244
@@ -272,6 +275,23 @@
   __le64 num_entries;
   __le64 num_bitmaps;
 } __attribute__((__packed__));
+struct btrfs_raid_stride {
+  __le64 devid;
+  __le64 physical;
+} __attribute__((__packed__));
+#define BTRFS_STRIPE_RAID0 1
+#define BTRFS_STRIPE_RAID1 2
+#define BTRFS_STRIPE_DUP 3
+#define BTRFS_STRIPE_RAID10 4
+#define BTRFS_STRIPE_RAID5 5
+#define BTRFS_STRIPE_RAID6 6
+#define BTRFS_STRIPE_RAID1C3 7
+#define BTRFS_STRIPE_RAID1C4 8
+struct btrfs_stripe_extent {
+  __u8 encoding;
+  __u8 reserved[7];
+  struct btrfs_raid_stride strides[];
+} __attribute__((__packed__));
 #define BTRFS_HEADER_FLAG_WRITTEN (1ULL << 0)
 #define BTRFS_HEADER_FLAG_RELOC (1ULL << 1)
 #define BTRFS_SUPER_FLAG_ERROR (1ULL << 2)
@@ -310,6 +330,9 @@
 struct btrfs_shared_data_ref {
   __le32 count;
 } __attribute__((__packed__));
+struct btrfs_extent_owner_ref {
+  __le64 root_id;
+} __attribute__((__packed__));
 struct btrfs_extent_inline_ref {
   __u8 type;
   __le64 offset;
@@ -502,13 +525,15 @@
 #define BTRFS_QGROUP_STATUS_FLAG_ON (1ULL << 0)
 #define BTRFS_QGROUP_STATUS_FLAG_RESCAN (1ULL << 1)
 #define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2)
-#define BTRFS_QGROUP_STATUS_FLAGS_MASK (BTRFS_QGROUP_STATUS_FLAG_ON | BTRFS_QGROUP_STATUS_FLAG_RESCAN | BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT)
+#define BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE (1ULL << 3)
+#define BTRFS_QGROUP_STATUS_FLAGS_MASK (BTRFS_QGROUP_STATUS_FLAG_ON | BTRFS_QGROUP_STATUS_FLAG_RESCAN | BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT | BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE)
 #define BTRFS_QGROUP_STATUS_VERSION 1
 struct btrfs_qgroup_status_item {
   __le64 version;
   __le64 generation;
   __le64 flags;
   __le64 rescan;
+  __le64 enable_gen;
 } __attribute__((__packed__));
 struct btrfs_qgroup_info_item {
   __le64 generation;
diff --git a/libc/kernel/uapi/linux/devlink.h b/libc/kernel/uapi/linux/devlink.h
index 2495be5..bc44a70 100644
--- a/libc/kernel/uapi/linux/devlink.h
+++ b/libc/kernel/uapi/linux/devlink.h
@@ -169,7 +169,7 @@
   __DEVLINK_ATTR_STATS_MAX,
   DEVLINK_ATTR_STATS_MAX = __DEVLINK_ATTR_STATS_MAX - 1
 };
-enum {
+enum devlink_flash_overwrite {
   DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT,
   DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT,
   __DEVLINK_FLASH_OVERWRITE_MAX_BIT,
@@ -464,6 +464,7 @@
   DEVLINK_PORT_FN_ATTR_STATE,
   DEVLINK_PORT_FN_ATTR_OPSTATE,
   DEVLINK_PORT_FN_ATTR_CAPS,
+  DEVLINK_PORT_FN_ATTR_DEVLINK,
   __DEVLINK_PORT_FUNCTION_ATTR_MAX,
   DEVLINK_PORT_FUNCTION_ATTR_MAX = __DEVLINK_PORT_FUNCTION_ATTR_MAX - 1
 };
diff --git a/libc/kernel/uapi/linux/dpll.h b/libc/kernel/uapi/linux/dpll.h
new file mode 100644
index 0000000..9b5f37d
--- /dev/null
+++ b/libc/kernel/uapi/linux/dpll.h
@@ -0,0 +1,121 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_DPLL_H
+#define _UAPI_LINUX_DPLL_H
+#define DPLL_FAMILY_NAME "dpll"
+#define DPLL_FAMILY_VERSION 1
+enum dpll_mode {
+  DPLL_MODE_MANUAL = 1,
+  DPLL_MODE_AUTOMATIC,
+  __DPLL_MODE_MAX,
+  DPLL_MODE_MAX = (__DPLL_MODE_MAX - 1)
+};
+enum dpll_lock_status {
+  DPLL_LOCK_STATUS_UNLOCKED = 1,
+  DPLL_LOCK_STATUS_LOCKED,
+  DPLL_LOCK_STATUS_LOCKED_HO_ACQ,
+  DPLL_LOCK_STATUS_HOLDOVER,
+  __DPLL_LOCK_STATUS_MAX,
+  DPLL_LOCK_STATUS_MAX = (__DPLL_LOCK_STATUS_MAX - 1)
+};
+#define DPLL_TEMP_DIVIDER 1000
+enum dpll_type {
+  DPLL_TYPE_PPS = 1,
+  DPLL_TYPE_EEC,
+  __DPLL_TYPE_MAX,
+  DPLL_TYPE_MAX = (__DPLL_TYPE_MAX - 1)
+};
+enum dpll_pin_type {
+  DPLL_PIN_TYPE_MUX = 1,
+  DPLL_PIN_TYPE_EXT,
+  DPLL_PIN_TYPE_SYNCE_ETH_PORT,
+  DPLL_PIN_TYPE_INT_OSCILLATOR,
+  DPLL_PIN_TYPE_GNSS,
+  __DPLL_PIN_TYPE_MAX,
+  DPLL_PIN_TYPE_MAX = (__DPLL_PIN_TYPE_MAX - 1)
+};
+enum dpll_pin_direction {
+  DPLL_PIN_DIRECTION_INPUT = 1,
+  DPLL_PIN_DIRECTION_OUTPUT,
+  __DPLL_PIN_DIRECTION_MAX,
+  DPLL_PIN_DIRECTION_MAX = (__DPLL_PIN_DIRECTION_MAX - 1)
+};
+#define DPLL_PIN_FREQUENCY_1_HZ 1
+#define DPLL_PIN_FREQUENCY_10_KHZ 10000
+#define DPLL_PIN_FREQUENCY_77_5_KHZ 77500
+#define DPLL_PIN_FREQUENCY_10_MHZ 10000000
+enum dpll_pin_state {
+  DPLL_PIN_STATE_CONNECTED = 1,
+  DPLL_PIN_STATE_DISCONNECTED,
+  DPLL_PIN_STATE_SELECTABLE,
+  __DPLL_PIN_STATE_MAX,
+  DPLL_PIN_STATE_MAX = (__DPLL_PIN_STATE_MAX - 1)
+};
+enum dpll_pin_capabilities {
+  DPLL_PIN_CAPABILITIES_DIRECTION_CAN_CHANGE = 1,
+  DPLL_PIN_CAPABILITIES_PRIORITY_CAN_CHANGE = 2,
+  DPLL_PIN_CAPABILITIES_STATE_CAN_CHANGE = 4,
+};
+#define DPLL_PHASE_OFFSET_DIVIDER 1000
+enum dpll_a {
+  DPLL_A_ID = 1,
+  DPLL_A_MODULE_NAME,
+  DPLL_A_PAD,
+  DPLL_A_CLOCK_ID,
+  DPLL_A_MODE,
+  DPLL_A_MODE_SUPPORTED,
+  DPLL_A_LOCK_STATUS,
+  DPLL_A_TEMP,
+  DPLL_A_TYPE,
+  __DPLL_A_MAX,
+  DPLL_A_MAX = (__DPLL_A_MAX - 1)
+};
+enum dpll_a_pin {
+  DPLL_A_PIN_ID = 1,
+  DPLL_A_PIN_PARENT_ID,
+  DPLL_A_PIN_MODULE_NAME,
+  DPLL_A_PIN_PAD,
+  DPLL_A_PIN_CLOCK_ID,
+  DPLL_A_PIN_BOARD_LABEL,
+  DPLL_A_PIN_PANEL_LABEL,
+  DPLL_A_PIN_PACKAGE_LABEL,
+  DPLL_A_PIN_TYPE,
+  DPLL_A_PIN_DIRECTION,
+  DPLL_A_PIN_FREQUENCY,
+  DPLL_A_PIN_FREQUENCY_SUPPORTED,
+  DPLL_A_PIN_FREQUENCY_MIN,
+  DPLL_A_PIN_FREQUENCY_MAX,
+  DPLL_A_PIN_PRIO,
+  DPLL_A_PIN_STATE,
+  DPLL_A_PIN_CAPABILITIES,
+  DPLL_A_PIN_PARENT_DEVICE,
+  DPLL_A_PIN_PARENT_PIN,
+  DPLL_A_PIN_PHASE_ADJUST_MIN,
+  DPLL_A_PIN_PHASE_ADJUST_MAX,
+  DPLL_A_PIN_PHASE_ADJUST,
+  DPLL_A_PIN_PHASE_OFFSET,
+  __DPLL_A_PIN_MAX,
+  DPLL_A_PIN_MAX = (__DPLL_A_PIN_MAX - 1)
+};
+enum dpll_cmd {
+  DPLL_CMD_DEVICE_ID_GET = 1,
+  DPLL_CMD_DEVICE_GET,
+  DPLL_CMD_DEVICE_SET,
+  DPLL_CMD_DEVICE_CREATE_NTF,
+  DPLL_CMD_DEVICE_DELETE_NTF,
+  DPLL_CMD_DEVICE_CHANGE_NTF,
+  DPLL_CMD_PIN_ID_GET,
+  DPLL_CMD_PIN_GET,
+  DPLL_CMD_PIN_SET,
+  DPLL_CMD_PIN_CREATE_NTF,
+  DPLL_CMD_PIN_DELETE_NTF,
+  DPLL_CMD_PIN_CHANGE_NTF,
+  __DPLL_CMD_MAX,
+  DPLL_CMD_MAX = (__DPLL_CMD_MAX - 1)
+};
+#define DPLL_MCGRP_MONITOR "monitor"
+#endif
diff --git a/libc/kernel/uapi/linux/elf.h b/libc/kernel/uapi/linux/elf.h
index f5fe1d6..c545fdf 100644
--- a/libc/kernel/uapi/linux/elf.h
+++ b/libc/kernel/uapi/linux/elf.h
@@ -105,7 +105,7 @@
 #define ELF32_ST_TYPE(x) ELF_ST_TYPE(x)
 #define ELF64_ST_BIND(x) ELF_ST_BIND(x)
 #define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
-typedef struct dynamic {
+typedef struct {
   Elf32_Sword d_tag;
   union {
     Elf32_Sword d_val;
diff --git a/libc/kernel/uapi/linux/fs.h b/libc/kernel/uapi/linux/fs.h
index c1e7726..9288653 100644
--- a/libc/kernel/uapi/linux/fs.h
+++ b/libc/kernel/uapi/linux/fs.h
@@ -184,4 +184,33 @@
 #define RWF_NOWAIT (( __kernel_rwf_t) 0x00000008)
 #define RWF_APPEND (( __kernel_rwf_t) 0x00000010)
 #define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT | RWF_APPEND)
+#define PAGEMAP_SCAN _IOWR('f', 16, struct pm_scan_arg)
+#define PAGE_IS_WPALLOWED (1 << 0)
+#define PAGE_IS_WRITTEN (1 << 1)
+#define PAGE_IS_FILE (1 << 2)
+#define PAGE_IS_PRESENT (1 << 3)
+#define PAGE_IS_SWAPPED (1 << 4)
+#define PAGE_IS_PFNZERO (1 << 5)
+#define PAGE_IS_HUGE (1 << 6)
+struct page_region {
+  __u64 start;
+  __u64 end;
+  __u64 categories;
+};
+#define PM_SCAN_WP_MATCHING (1 << 0)
+#define PM_SCAN_CHECK_WPASYNC (1 << 1)
+struct pm_scan_arg {
+  __u64 size;
+  __u64 flags;
+  __u64 start;
+  __u64 end;
+  __u64 walk_end;
+  __u64 vec;
+  __u64 vec_len;
+  __u64 max_pages;
+  __u64 category_inverted;
+  __u64 category_mask;
+  __u64 category_anyof_mask;
+  __u64 return_mask;
+};
 #endif
diff --git a/libc/kernel/uapi/linux/fscrypt.h b/libc/kernel/uapi/linux/fscrypt.h
index 6079549..9a53f4c 100644
--- a/libc/kernel/uapi/linux/fscrypt.h
+++ b/libc/kernel/uapi/linux/fscrypt.h
@@ -48,7 +48,8 @@
   __u8 contents_encryption_mode;
   __u8 filenames_encryption_mode;
   __u8 flags;
-  __u8 __reserved[4];
+  __u8 log2_data_unit_size;
+  __u8 __reserved[3];
   __u8 master_key_identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
 };
 struct fscrypt_get_policy_ex_arg {
diff --git a/libc/kernel/uapi/linux/fuse.h b/libc/kernel/uapi/linux/fuse.h
index dd733e3..8a7d37f 100644
--- a/libc/kernel/uapi/linux/fuse.h
+++ b/libc/kernel/uapi/linux/fuse.h
@@ -129,7 +129,8 @@
 #define FUSE_HAS_INODE_DAX (1ULL << 33)
 #define FUSE_CREATE_SUPP_GROUP (1ULL << 34)
 #define FUSE_HAS_EXPIRE_ONLY (1ULL << 35)
-#define FUSE_DIRECT_IO_RELAX (1ULL << 36)
+#define FUSE_DIRECT_IO_ALLOW_MMAP (1ULL << 36)
+#define FUSE_DIRECT_IO_RELAX FUSE_DIRECT_IO_ALLOW_MMAP
 #if FUSE_KERNEL_VERSION > 7 || FUSE_KERNEL_VERSION == 7 && FUSE_KERNEL_MINOR_VERSION >= 36
 #define FUSE_PASSTHROUGH (1ULL << 63)
 #else
diff --git a/libc/kernel/uapi/linux/futex.h b/libc/kernel/uapi/linux/futex.h
index 4ad2893..32c9d28 100644
--- a/libc/kernel/uapi/linux/futex.h
+++ b/libc/kernel/uapi/linux/futex.h
@@ -38,7 +38,14 @@
 #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG)
 #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | FUTEX_PRIVATE_FLAG)
 #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG)
-#define FUTEX_32 2
+#define FUTEX2_SIZE_U8 0x00
+#define FUTEX2_SIZE_U16 0x01
+#define FUTEX2_SIZE_U32 0x02
+#define FUTEX2_SIZE_U64 0x03
+#define FUTEX2_NUMA 0x04
+#define FUTEX2_PRIVATE FUTEX_PRIVATE_FLAG
+#define FUTEX2_SIZE_MASK 0x03
+#define FUTEX_32 FUTEX2_SIZE_U32
 #define FUTEX_WAITV_MAX 128
 struct futex_waitv {
   __u64 val;
diff --git a/libc/kernel/uapi/linux/hash_info.h b/libc/kernel/uapi/linux/hash_info.h
index 84b8c81..f59010f 100644
--- a/libc/kernel/uapi/linux/hash_info.h
+++ b/libc/kernel/uapi/linux/hash_info.h
@@ -27,6 +27,9 @@
   HASH_ALGO_SM3_256,
   HASH_ALGO_STREEBOG_256,
   HASH_ALGO_STREEBOG_512,
+  HASH_ALGO_SHA3_256,
+  HASH_ALGO_SHA3_384,
+  HASH_ALGO_SHA3_512,
   HASH_ALGO__LAST
 };
 #endif
diff --git a/libc/kernel/uapi/linux/idxd.h b/libc/kernel/uapi/linux/idxd.h
index 7118e81..d8ca23c 100644
--- a/libc/kernel/uapi/linux/idxd.h
+++ b/libc/kernel/uapi/linux/idxd.h
@@ -28,6 +28,7 @@
   IDXD_SCMD_WQ_IRQ_ERR = 0x80100000,
   IDXD_SCMD_WQ_USER_NO_IOMMU = 0x80110000,
   IDXD_SCMD_DEV_EVL_ERR = 0x80120000,
+  IDXD_SCMD_WQ_NO_DRV_NAME = 0x80200000,
 };
 #define IDXD_SCMD_SOFTERR_MASK 0x80000000
 #define IDXD_SCMD_SOFTERR_SHIFT 16
diff --git a/libc/kernel/uapi/linux/if_bridge.h b/libc/kernel/uapi/linux/if_bridge.h
index 6b73db9..a738876 100644
--- a/libc/kernel/uapi/linux/if_bridge.h
+++ b/libc/kernel/uapi/linux/if_bridge.h
@@ -570,6 +570,13 @@
 };
 #define MDBA_SET_ENTRY_MAX (__MDBA_SET_ENTRY_MAX - 1)
 enum {
+  MDBA_GET_ENTRY_UNSPEC,
+  MDBA_GET_ENTRY,
+  MDBA_GET_ENTRY_ATTRS,
+  __MDBA_GET_ENTRY_MAX,
+};
+#define MDBA_GET_ENTRY_MAX (__MDBA_GET_ENTRY_MAX - 1)
+enum {
   MDBE_ATTR_UNSPEC,
   MDBE_ATTR_SOURCE,
   MDBE_ATTR_SRC_LIST,
diff --git a/libc/kernel/uapi/linux/if_link.h b/libc/kernel/uapi/linux/if_link.h
index 249a0d9..54b751e 100644
--- a/libc/kernel/uapi/linux/if_link.h
+++ b/libc/kernel/uapi/linux/if_link.h
@@ -157,6 +157,7 @@
   IFLA_DEVLINK_PORT,
   IFLA_GSO_IPV4_MAX_SIZE,
   IFLA_GRO_IPV4_MAX_SIZE,
+  IFLA_DPLL_PIN,
   __IFLA_MAX
 };
 #define IFLA_MAX (__IFLA_MAX - 1)
@@ -244,6 +245,8 @@
   IFLA_BR_VLAN_STATS_PER_PORT,
   IFLA_BR_MULTI_BOOLOPT,
   IFLA_BR_MCAST_QUERIER_STATE,
+  IFLA_BR_FDB_N_LEARNED,
+  IFLA_BR_FDB_MAX_LEARNED,
   __IFLA_BR_MAX,
 };
 #define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
@@ -448,6 +451,26 @@
   __u16 reserved2;
   __u32 ifindex;
 };
+enum netkit_action {
+  NETKIT_NEXT = - 1,
+  NETKIT_PASS = 0,
+  NETKIT_DROP = 2,
+  NETKIT_REDIRECT = 7,
+};
+enum netkit_mode {
+  NETKIT_L2,
+  NETKIT_L3,
+};
+enum {
+  IFLA_NETKIT_UNSPEC,
+  IFLA_NETKIT_PEER_INFO,
+  IFLA_NETKIT_PRIMARY,
+  IFLA_NETKIT_POLICY,
+  IFLA_NETKIT_PEER_POLICY,
+  IFLA_NETKIT_MODE,
+  __IFLA_NETKIT_MAX,
+};
+#define IFLA_NETKIT_MAX (__IFLA_NETKIT_MAX - 1)
 #define TUNNEL_MSG_FLAG_STATS 0x01
 #define TUNNEL_MSG_VALID_USER_FLAGS TUNNEL_MSG_FLAG_STATS
 enum {
@@ -939,7 +962,8 @@
 #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1)
 enum {
   IFLA_DSA_UNSPEC,
-  IFLA_DSA_MASTER,
+  IFLA_DSA_CONDUIT,
+  IFLA_DSA_MASTER = IFLA_DSA_CONDUIT,
   __IFLA_DSA_MAX,
 };
 #define IFLA_DSA_MAX (__IFLA_DSA_MAX - 1)
diff --git a/libc/kernel/uapi/linux/iio/types.h b/libc/kernel/uapi/linux/iio/types.h
index 9604ffc..4e4324a 100644
--- a/libc/kernel/uapi/linux/iio/types.h
+++ b/libc/kernel/uapi/linux/iio/types.h
@@ -42,6 +42,10 @@
   IIO_POSITIONRELATIVE,
   IIO_PHASE,
   IIO_MASSCONCENTRATION,
+  IIO_DELTA_ANGL,
+  IIO_DELTA_VELOCITY,
+  IIO_COLORTEMP,
+  IIO_CHROMATICITY,
 };
 enum iio_modifier {
   IIO_NO_MOD,
diff --git a/libc/kernel/uapi/linux/io_uring.h b/libc/kernel/uapi/linux/io_uring.h
index ea9eb57..57c6405 100644
--- a/libc/kernel/uapi/linux/io_uring.h
+++ b/libc/kernel/uapi/linux/io_uring.h
@@ -30,6 +30,10 @@
   union {
     __u64 addr;
     __u64 splice_off_in;
+    struct {
+      __u32 level;
+      __u32 optname;
+    };
   };
   __u32 len;
   union {
@@ -52,6 +56,8 @@
     __u32 xattr_flags;
     __u32 msg_ring_flags;
     __u32 uring_cmd_flags;
+    __u32 waitid_flags;
+    __u32 futex_flags;
   };
   __u64 user_data;
   union {
@@ -62,6 +68,7 @@
   union {
     __s32 splice_fd_in;
     __u32 file_index;
+    __u32 optlen;
     struct {
       __u16 addr_len;
       __u16 __pad3[1];
@@ -72,6 +79,7 @@
       __u64 addr3;
       __u64 __pad2[1];
     };
+    __u64 optval;
     __u8 cmd[0];
   };
 };
@@ -159,10 +167,15 @@
   IORING_OP_URING_CMD,
   IORING_OP_SEND_ZC,
   IORING_OP_SENDMSG_ZC,
+  IORING_OP_READ_MULTISHOT,
+  IORING_OP_WAITID,
+  IORING_OP_FUTEX_WAIT,
+  IORING_OP_FUTEX_WAKE,
+  IORING_OP_FUTEX_WAITV,
   IORING_OP_LAST,
 };
 #define IORING_URING_CMD_FIXED (1U << 0)
-#define IORING_URING_CMD_POLLED (1U << 31)
+#define IORING_URING_CMD_MASK IORING_URING_CMD_FIXED
 #define IORING_FSYNC_DATASYNC (1U << 0)
 #define IORING_TIMEOUT_ABS (1U << 0)
 #define IORING_TIMEOUT_UPDATE (1U << 1)
@@ -420,6 +433,8 @@
 enum {
   SOCKET_URING_OP_SIOCINQ = 0,
   SOCKET_URING_OP_SIOCOUTQ,
+  SOCKET_URING_OP_GETSOCKOPT,
+  SOCKET_URING_OP_SETSOCKOPT,
 };
 #ifdef __cplusplus
 }
diff --git a/libc/kernel/uapi/linux/iommufd.h b/libc/kernel/uapi/linux/iommufd.h
index 79a18fe..d19a471 100644
--- a/libc/kernel/uapi/linux/iommufd.h
+++ b/libc/kernel/uapi/linux/iommufd.h
@@ -22,6 +22,8 @@
   IOMMUFD_CMD_VFIO_IOAS,
   IOMMUFD_CMD_HWPT_ALLOC,
   IOMMUFD_CMD_GET_HW_INFO,
+  IOMMUFD_CMD_HWPT_SET_DIRTY_TRACKING,
+  IOMMUFD_CMD_HWPT_GET_DIRTY_BITMAP,
 };
 struct iommu_destroy {
   __u32 size;
@@ -116,6 +118,25 @@
   __u16 __reserved;
 };
 #define IOMMU_VFIO_IOAS _IO(IOMMUFD_TYPE, IOMMUFD_CMD_VFIO_IOAS)
+enum iommufd_hwpt_alloc_flags {
+  IOMMU_HWPT_ALLOC_NEST_PARENT = 1 << 0,
+  IOMMU_HWPT_ALLOC_DIRTY_TRACKING = 1 << 1,
+};
+enum iommu_hwpt_vtd_s1_flags {
+  IOMMU_VTD_S1_SRE = 1 << 0,
+  IOMMU_VTD_S1_EAFE = 1 << 1,
+  IOMMU_VTD_S1_WPE = 1 << 2,
+};
+struct iommu_hwpt_vtd_s1 {
+  __aligned_u64 flags;
+  __aligned_u64 pgtbl_addr;
+  __u32 addr_width;
+  __u32 __reserved;
+};
+enum iommu_hwpt_data_type {
+  IOMMU_HWPT_DATA_NONE,
+  IOMMU_HWPT_DATA_VTD_S1,
+};
 struct iommu_hwpt_alloc {
   __u32 size;
   __u32 flags;
@@ -123,8 +144,14 @@
   __u32 pt_id;
   __u32 out_hwpt_id;
   __u32 __reserved;
+  __u32 data_type;
+  __u32 data_len;
+  __aligned_u64 data_uptr;
 };
 #define IOMMU_HWPT_ALLOC _IO(IOMMUFD_TYPE, IOMMUFD_CMD_HWPT_ALLOC)
+enum iommu_hw_info_vtd_flags {
+  IOMMU_HW_INFO_VTD_ERRATA_772415_SPR17 = 1 << 0,
+};
 struct iommu_hw_info_vtd {
   __u32 flags;
   __u32 __reserved;
@@ -135,6 +162,9 @@
   IOMMU_HW_INFO_TYPE_NONE,
   IOMMU_HW_INFO_TYPE_INTEL_VTD,
 };
+enum iommufd_hw_capabilities {
+  IOMMU_HW_CAP_DIRTY_TRACKING = 1 << 0,
+};
 struct iommu_hw_info {
   __u32 size;
   __u32 flags;
@@ -143,6 +173,31 @@
   __aligned_u64 data_uptr;
   __u32 out_data_type;
   __u32 __reserved;
+  __aligned_u64 out_capabilities;
 };
 #define IOMMU_GET_HW_INFO _IO(IOMMUFD_TYPE, IOMMUFD_CMD_GET_HW_INFO)
+enum iommufd_hwpt_set_dirty_tracking_flags {
+  IOMMU_HWPT_DIRTY_TRACKING_ENABLE = 1,
+};
+struct iommu_hwpt_set_dirty_tracking {
+  __u32 size;
+  __u32 flags;
+  __u32 hwpt_id;
+  __u32 __reserved;
+};
+#define IOMMU_HWPT_SET_DIRTY_TRACKING _IO(IOMMUFD_TYPE, IOMMUFD_CMD_HWPT_SET_DIRTY_TRACKING)
+enum iommufd_hwpt_get_dirty_bitmap_flags {
+  IOMMU_HWPT_GET_DIRTY_BITMAP_NO_CLEAR = 1,
+};
+struct iommu_hwpt_get_dirty_bitmap {
+  __u32 size;
+  __u32 hwpt_id;
+  __u32 flags;
+  __u32 __reserved;
+  __aligned_u64 iova;
+  __aligned_u64 length;
+  __aligned_u64 page_size;
+  __aligned_u64 data;
+};
+#define IOMMU_HWPT_GET_DIRTY_BITMAP _IO(IOMMUFD_TYPE, IOMMUFD_CMD_HWPT_GET_DIRTY_BITMAP)
 #endif
diff --git a/libc/kernel/uapi/linux/kfd_ioctl.h b/libc/kernel/uapi/linux/kfd_ioctl.h
index 003d87c..0dc806f 100644
--- a/libc/kernel/uapi/linux/kfd_ioctl.h
+++ b/libc/kernel/uapi/linux/kfd_ioctl.h
@@ -268,6 +268,7 @@
 #define KFD_IOC_ALLOC_MEM_FLAGS_AQL_QUEUE_MEM (1 << 27)
 #define KFD_IOC_ALLOC_MEM_FLAGS_COHERENT (1 << 26)
 #define KFD_IOC_ALLOC_MEM_FLAGS_UNCACHED (1 << 25)
+#define KFD_IOC_ALLOC_MEM_FLAGS_EXT_COHERENT (1 << 24)
 struct kfd_ioctl_alloc_memory_of_gpu_args {
   __u64 va_addr;
   __u64 size;
@@ -401,6 +402,7 @@
 #define KFD_IOCTL_SVM_FLAG_GPU_EXEC 0x00000010
 #define KFD_IOCTL_SVM_FLAG_GPU_READ_MOSTLY 0x00000020
 #define KFD_IOCTL_SVM_FLAG_GPU_ALWAYS_MAPPED 0x00000040
+#define KFD_IOCTL_SVM_FLAG_EXT_COHERENT 0x00000080
 enum kfd_ioctl_svm_op {
   KFD_IOCTL_SVM_OP_SET_ATTR,
   KFD_IOCTL_SVM_OP_GET_ATTR
diff --git a/libc/kernel/uapi/linux/kvm.h b/libc/kernel/uapi/linux/kvm.h
index ab99d8c..2a89638 100644
--- a/libc/kernel/uapi/linux/kvm.h
+++ b/libc/kernel/uapi/linux/kvm.h
@@ -200,6 +200,7 @@
 #define KVM_EXIT_RISCV_SBI 35
 #define KVM_EXIT_RISCV_CSR 36
 #define KVM_EXIT_NOTIFY 37
+#define KVM_EXIT_LOONGARCH_IOCSR 38
 #define KVM_INTERNAL_ERROR_EMULATION 1
 #define KVM_INTERNAL_ERROR_SIMUL_EX 2
 #define KVM_INTERNAL_ERROR_DELIVERY_EV 3
@@ -250,6 +251,12 @@
       __u8 is_write;
     } mmio;
     struct {
+      __u64 phys_addr;
+      __u8 data[8];
+      __u32 len;
+      __u8 is_write;
+    } iocsr_io;
+    struct {
       __u64 nr;
       __u64 args[6];
       __u64 ret;
@@ -925,6 +932,7 @@
 #define KVM_CAP_COUNTER_OFFSET 227
 #define KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE 228
 #define KVM_CAP_ARM_SUPPORTED_BLOCK_SIZES 229
+#define KVM_CAP_ARM_SUPPORTED_REG_MASK_RANGES 230
 #ifdef KVM_CAP_IRQ_ROUTING
 struct kvm_irq_routing_irqchip {
   __u32 irqchip;
@@ -1052,6 +1060,7 @@
 #define KVM_REG_ARM64 0x6000000000000000ULL
 #define KVM_REG_MIPS 0x7000000000000000ULL
 #define KVM_REG_RISCV 0x8000000000000000ULL
+#define KVM_REG_LOONGARCH 0x9000000000000000ULL
 #define KVM_REG_SIZE_SHIFT 52
 #define KVM_REG_SIZE_MASK 0x00f0000000000000ULL
 #define KVM_REG_SIZE_U8 0x0000000000000000ULL
@@ -1197,6 +1206,7 @@
 #define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3)
 #define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
 #define KVM_ARM_SET_COUNTER_OFFSET _IOW(KVMIO, 0xb5, struct kvm_arm_counter_offset)
+#define KVM_ARM_GET_REG_WRITABLE_MASKS _IOR(KVMIO, 0xb6, struct reg_mask_range)
 #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
 #define KVM_SET_DEVICE_ATTR _IOW(KVMIO, 0xe1, struct kvm_device_attr)
 #define KVM_GET_DEVICE_ATTR _IOW(KVMIO, 0xe2, struct kvm_device_attr)
diff --git a/libc/kernel/uapi/linux/landlock.h b/libc/kernel/uapi/linux/landlock.h
index 7518c94..75d3037 100644
--- a/libc/kernel/uapi/linux/landlock.h
+++ b/libc/kernel/uapi/linux/landlock.h
@@ -9,15 +9,21 @@
 #include <linux/types.h>
 struct landlock_ruleset_attr {
   __u64 handled_access_fs;
+  __u64 handled_access_net;
 };
 #define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
 enum landlock_rule_type {
   LANDLOCK_RULE_PATH_BENEATH = 1,
+  LANDLOCK_RULE_NET_PORT,
 };
 struct landlock_path_beneath_attr {
   __u64 allowed_access;
   __s32 parent_fd;
 } __attribute__((packed));
+struct landlock_net_port_attr {
+  __u64 allowed_access;
+  __u64 port;
+};
 #define LANDLOCK_ACCESS_FS_EXECUTE (1ULL << 0)
 #define LANDLOCK_ACCESS_FS_WRITE_FILE (1ULL << 1)
 #define LANDLOCK_ACCESS_FS_READ_FILE (1ULL << 2)
@@ -33,4 +39,6 @@
 #define LANDLOCK_ACCESS_FS_MAKE_SYM (1ULL << 12)
 #define LANDLOCK_ACCESS_FS_REFER (1ULL << 13)
 #define LANDLOCK_ACCESS_FS_TRUNCATE (1ULL << 14)
+#define LANDLOCK_ACCESS_NET_BIND_TCP (1ULL << 0)
+#define LANDLOCK_ACCESS_NET_CONNECT_TCP (1ULL << 1)
 #endif
diff --git a/libc/kernel/uapi/linux/media-bus-format.h b/libc/kernel/uapi/linux/media-bus-format.h
index a7425cd..230bfbb 100644
--- a/libc/kernel/uapi/linux/media-bus-format.h
+++ b/libc/kernel/uapi/linux/media-bus-format.h
@@ -18,6 +18,7 @@
 #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007
 #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008
 #define MEDIA_BUS_FMT_RGB666_1X18 0x1009
+#define MEDIA_BUS_FMT_RGB666_2X9_BE 0x1025
 #define MEDIA_BUS_FMT_BGR666_1X18 0x1023
 #define MEDIA_BUS_FMT_RBG888_1X24 0x100e
 #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015
diff --git a/libc/kernel/uapi/linux/mptcp.h b/libc/kernel/uapi/linux/mptcp.h
index d97f29b..6f5d272 100644
--- a/libc/kernel/uapi/linux/mptcp.h
+++ b/libc/kernel/uapi/linux/mptcp.h
@@ -22,71 +22,16 @@
 #define MPTCP_SUBFLOW_FLAG_FULLY_ESTABLISHED _BITUL(6)
 #define MPTCP_SUBFLOW_FLAG_CONNECTED _BITUL(7)
 #define MPTCP_SUBFLOW_FLAG_MAPVALID _BITUL(8)
-enum {
-  MPTCP_SUBFLOW_ATTR_UNSPEC,
-  MPTCP_SUBFLOW_ATTR_TOKEN_REM,
-  MPTCP_SUBFLOW_ATTR_TOKEN_LOC,
-  MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ,
-  MPTCP_SUBFLOW_ATTR_MAP_SEQ,
-  MPTCP_SUBFLOW_ATTR_MAP_SFSEQ,
-  MPTCP_SUBFLOW_ATTR_SSN_OFFSET,
-  MPTCP_SUBFLOW_ATTR_MAP_DATALEN,
-  MPTCP_SUBFLOW_ATTR_FLAGS,
-  MPTCP_SUBFLOW_ATTR_ID_REM,
-  MPTCP_SUBFLOW_ATTR_ID_LOC,
-  MPTCP_SUBFLOW_ATTR_PAD,
-  __MPTCP_SUBFLOW_ATTR_MAX
-};
-#define MPTCP_SUBFLOW_ATTR_MAX (__MPTCP_SUBFLOW_ATTR_MAX - 1)
-#define MPTCP_PM_NAME "mptcp_pm"
 #define MPTCP_PM_CMD_GRP_NAME "mptcp_pm_cmds"
 #define MPTCP_PM_EV_GRP_NAME "mptcp_pm_events"
-#define MPTCP_PM_VER 0x1
-enum {
-  MPTCP_PM_ATTR_UNSPEC,
-  MPTCP_PM_ATTR_ADDR,
-  MPTCP_PM_ATTR_RCV_ADD_ADDRS,
-  MPTCP_PM_ATTR_SUBFLOWS,
-  MPTCP_PM_ATTR_TOKEN,
-  MPTCP_PM_ATTR_LOC_ID,
-  MPTCP_PM_ATTR_ADDR_REMOTE,
-  __MPTCP_PM_ATTR_MAX
-};
-#define MPTCP_PM_ATTR_MAX (__MPTCP_PM_ATTR_MAX - 1)
-enum {
-  MPTCP_PM_ADDR_ATTR_UNSPEC,
-  MPTCP_PM_ADDR_ATTR_FAMILY,
-  MPTCP_PM_ADDR_ATTR_ID,
-  MPTCP_PM_ADDR_ATTR_ADDR4,
-  MPTCP_PM_ADDR_ATTR_ADDR6,
-  MPTCP_PM_ADDR_ATTR_PORT,
-  MPTCP_PM_ADDR_ATTR_FLAGS,
-  MPTCP_PM_ADDR_ATTR_IF_IDX,
-  __MPTCP_PM_ADDR_ATTR_MAX
-};
-#define MPTCP_PM_ADDR_ATTR_MAX (__MPTCP_PM_ADDR_ATTR_MAX - 1)
+#include <linux/mptcp_pm.h>
+#define MPTCP_INFO_FLAG_FALLBACK _BITUL(0)
+#define MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED _BITUL(1)
 #define MPTCP_PM_ADDR_FLAG_SIGNAL (1 << 0)
 #define MPTCP_PM_ADDR_FLAG_SUBFLOW (1 << 1)
 #define MPTCP_PM_ADDR_FLAG_BACKUP (1 << 2)
 #define MPTCP_PM_ADDR_FLAG_FULLMESH (1 << 3)
 #define MPTCP_PM_ADDR_FLAG_IMPLICIT (1 << 4)
-enum {
-  MPTCP_PM_CMD_UNSPEC,
-  MPTCP_PM_CMD_ADD_ADDR,
-  MPTCP_PM_CMD_DEL_ADDR,
-  MPTCP_PM_CMD_GET_ADDR,
-  MPTCP_PM_CMD_FLUSH_ADDRS,
-  MPTCP_PM_CMD_SET_LIMITS,
-  MPTCP_PM_CMD_GET_LIMITS,
-  MPTCP_PM_CMD_SET_FLAGS,
-  MPTCP_PM_CMD_ANNOUNCE,
-  MPTCP_PM_CMD_REMOVE,
-  MPTCP_PM_CMD_SUBFLOW_CREATE,
-  MPTCP_PM_CMD_SUBFLOW_DESTROY,
-  __MPTCP_PM_CMD_AFTER_LAST
-};
-#define MPTCP_INFO_FLAG_FALLBACK _BITUL(0)
-#define MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED _BITUL(1)
 struct mptcp_info {
   __u8 mptcpi_subflows;
   __u8 mptcpi_add_addr_signal;
@@ -108,42 +53,6 @@
   __u64 mptcpi_bytes_received;
   __u64 mptcpi_bytes_acked;
 };
-enum mptcp_event_type {
-  MPTCP_EVENT_UNSPEC = 0,
-  MPTCP_EVENT_CREATED = 1,
-  MPTCP_EVENT_ESTABLISHED = 2,
-  MPTCP_EVENT_CLOSED = 3,
-  MPTCP_EVENT_ANNOUNCED = 6,
-  MPTCP_EVENT_REMOVED = 7,
-  MPTCP_EVENT_SUB_ESTABLISHED = 10,
-  MPTCP_EVENT_SUB_CLOSED = 11,
-  MPTCP_EVENT_SUB_PRIORITY = 13,
-  MPTCP_EVENT_LISTENER_CREATED = 15,
-  MPTCP_EVENT_LISTENER_CLOSED = 16,
-};
-enum mptcp_event_attr {
-  MPTCP_ATTR_UNSPEC = 0,
-  MPTCP_ATTR_TOKEN,
-  MPTCP_ATTR_FAMILY,
-  MPTCP_ATTR_LOC_ID,
-  MPTCP_ATTR_REM_ID,
-  MPTCP_ATTR_SADDR4,
-  MPTCP_ATTR_SADDR6,
-  MPTCP_ATTR_DADDR4,
-  MPTCP_ATTR_DADDR6,
-  MPTCP_ATTR_SPORT,
-  MPTCP_ATTR_DPORT,
-  MPTCP_ATTR_BACKUP,
-  MPTCP_ATTR_ERROR,
-  MPTCP_ATTR_FLAGS,
-  MPTCP_ATTR_TIMEOUT,
-  MPTCP_ATTR_IF_IDX,
-  MPTCP_ATTR_RESET_REASON,
-  MPTCP_ATTR_RESET_FLAGS,
-  MPTCP_ATTR_SERVER_SIDE,
-  __MPTCP_ATTR_AFTER_LAST
-};
-#define MPTCP_ATTR_MAX (__MPTCP_ATTR_AFTER_LAST - 1)
 #define MPTCP_RST_EUNSPEC 0
 #define MPTCP_RST_EMPTCP 1
 #define MPTCP_RST_ERESOURCE 2
diff --git a/libc/kernel/uapi/linux/mptcp_pm.h b/libc/kernel/uapi/linux/mptcp_pm.h
new file mode 100644
index 0000000..dfabc75
--- /dev/null
+++ b/libc/kernel/uapi/linux/mptcp_pm.h
@@ -0,0 +1,107 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_MPTCP_PM_H
+#define _UAPI_LINUX_MPTCP_PM_H
+#define MPTCP_PM_NAME "mptcp_pm"
+#define MPTCP_PM_VER 1
+enum mptcp_event_type {
+  MPTCP_EVENT_UNSPEC,
+  MPTCP_EVENT_CREATED,
+  MPTCP_EVENT_ESTABLISHED,
+  MPTCP_EVENT_CLOSED,
+  MPTCP_EVENT_ANNOUNCED = 6,
+  MPTCP_EVENT_REMOVED,
+  MPTCP_EVENT_SUB_ESTABLISHED = 10,
+  MPTCP_EVENT_SUB_CLOSED,
+  MPTCP_EVENT_SUB_PRIORITY = 13,
+  MPTCP_EVENT_LISTENER_CREATED = 15,
+  MPTCP_EVENT_LISTENER_CLOSED,
+};
+enum {
+  MPTCP_PM_ADDR_ATTR_UNSPEC,
+  MPTCP_PM_ADDR_ATTR_FAMILY,
+  MPTCP_PM_ADDR_ATTR_ID,
+  MPTCP_PM_ADDR_ATTR_ADDR4,
+  MPTCP_PM_ADDR_ATTR_ADDR6,
+  MPTCP_PM_ADDR_ATTR_PORT,
+  MPTCP_PM_ADDR_ATTR_FLAGS,
+  MPTCP_PM_ADDR_ATTR_IF_IDX,
+  __MPTCP_PM_ADDR_ATTR_MAX
+};
+#define MPTCP_PM_ADDR_ATTR_MAX (__MPTCP_PM_ADDR_ATTR_MAX - 1)
+enum {
+  MPTCP_SUBFLOW_ATTR_UNSPEC,
+  MPTCP_SUBFLOW_ATTR_TOKEN_REM,
+  MPTCP_SUBFLOW_ATTR_TOKEN_LOC,
+  MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ,
+  MPTCP_SUBFLOW_ATTR_MAP_SEQ,
+  MPTCP_SUBFLOW_ATTR_MAP_SFSEQ,
+  MPTCP_SUBFLOW_ATTR_SSN_OFFSET,
+  MPTCP_SUBFLOW_ATTR_MAP_DATALEN,
+  MPTCP_SUBFLOW_ATTR_FLAGS,
+  MPTCP_SUBFLOW_ATTR_ID_REM,
+  MPTCP_SUBFLOW_ATTR_ID_LOC,
+  MPTCP_SUBFLOW_ATTR_PAD,
+  __MPTCP_SUBFLOW_ATTR_MAX
+};
+#define MPTCP_SUBFLOW_ATTR_MAX (__MPTCP_SUBFLOW_ATTR_MAX - 1)
+enum {
+  MPTCP_PM_ENDPOINT_ADDR = 1,
+  __MPTCP_PM_ENDPOINT_MAX
+};
+#define MPTCP_PM_ENDPOINT_MAX (__MPTCP_PM_ENDPOINT_MAX - 1)
+enum {
+  MPTCP_PM_ATTR_UNSPEC,
+  MPTCP_PM_ATTR_ADDR,
+  MPTCP_PM_ATTR_RCV_ADD_ADDRS,
+  MPTCP_PM_ATTR_SUBFLOWS,
+  MPTCP_PM_ATTR_TOKEN,
+  MPTCP_PM_ATTR_LOC_ID,
+  MPTCP_PM_ATTR_ADDR_REMOTE,
+  __MPTCP_ATTR_AFTER_LAST
+};
+#define MPTCP_PM_ATTR_MAX (__MPTCP_ATTR_AFTER_LAST - 1)
+enum mptcp_event_attr {
+  MPTCP_ATTR_UNSPEC,
+  MPTCP_ATTR_TOKEN,
+  MPTCP_ATTR_FAMILY,
+  MPTCP_ATTR_LOC_ID,
+  MPTCP_ATTR_REM_ID,
+  MPTCP_ATTR_SADDR4,
+  MPTCP_ATTR_SADDR6,
+  MPTCP_ATTR_DADDR4,
+  MPTCP_ATTR_DADDR6,
+  MPTCP_ATTR_SPORT,
+  MPTCP_ATTR_DPORT,
+  MPTCP_ATTR_BACKUP,
+  MPTCP_ATTR_ERROR,
+  MPTCP_ATTR_FLAGS,
+  MPTCP_ATTR_TIMEOUT,
+  MPTCP_ATTR_IF_IDX,
+  MPTCP_ATTR_RESET_REASON,
+  MPTCP_ATTR_RESET_FLAGS,
+  MPTCP_ATTR_SERVER_SIDE,
+  __MPTCP_ATTR_MAX
+};
+#define MPTCP_ATTR_MAX (__MPTCP_ATTR_MAX - 1)
+enum {
+  MPTCP_PM_CMD_UNSPEC,
+  MPTCP_PM_CMD_ADD_ADDR,
+  MPTCP_PM_CMD_DEL_ADDR,
+  MPTCP_PM_CMD_GET_ADDR,
+  MPTCP_PM_CMD_FLUSH_ADDRS,
+  MPTCP_PM_CMD_SET_LIMITS,
+  MPTCP_PM_CMD_GET_LIMITS,
+  MPTCP_PM_CMD_SET_FLAGS,
+  MPTCP_PM_CMD_ANNOUNCE,
+  MPTCP_PM_CMD_REMOVE,
+  MPTCP_PM_CMD_SUBFLOW_CREATE,
+  MPTCP_PM_CMD_SUBFLOW_DESTROY,
+  __MPTCP_PM_CMD_AFTER_LAST
+};
+#define MPTCP_PM_CMD_MAX (__MPTCP_PM_CMD_AFTER_LAST - 1)
+#endif
diff --git a/libc/kernel/uapi/linux/netdev.h b/libc/kernel/uapi/linux/netdev.h
index 37e7cc6..3c5cb94 100644
--- a/libc/kernel/uapi/linux/netdev.h
+++ b/libc/kernel/uapi/linux/netdev.h
@@ -18,11 +18,17 @@
   NETDEV_XDP_ACT_NDO_XMIT_SG = 64,
   NETDEV_XDP_ACT_MASK = 127,
 };
+enum netdev_xdp_rx_metadata {
+  NETDEV_XDP_RX_METADATA_TIMESTAMP = 1,
+  NETDEV_XDP_RX_METADATA_HASH = 2,
+  NETDEV_XDP_RX_METADATA_MASK = 3,
+};
 enum {
   NETDEV_A_DEV_IFINDEX = 1,
   NETDEV_A_DEV_PAD,
   NETDEV_A_DEV_XDP_FEATURES,
   NETDEV_A_DEV_XDP_ZC_MAX_SEGS,
+  NETDEV_A_DEV_XDP_RX_METADATA_FEATURES,
   __NETDEV_A_DEV_MAX,
   NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1)
 };
diff --git a/libc/kernel/uapi/linux/netlink.h b/libc/kernel/uapi/linux/netlink.h
index 0baa6ce..7621869 100644
--- a/libc/kernel/uapi/linux/netlink.h
+++ b/libc/kernel/uapi/linux/netlink.h
@@ -168,6 +168,8 @@
   NL_ATTR_TYPE_NESTED,
   NL_ATTR_TYPE_NESTED_ARRAY,
   NL_ATTR_TYPE_BITFIELD32,
+  NL_ATTR_TYPE_SINT,
+  NL_ATTR_TYPE_UINT,
 };
 enum netlink_policy_type_attr {
   NL_POLICY_TYPE_ATTR_UNSPEC,
diff --git a/libc/kernel/uapi/linux/nfsd_netlink.h b/libc/kernel/uapi/linux/nfsd_netlink.h
new file mode 100644
index 0000000..dd3d570
--- /dev/null
+++ b/libc/kernel/uapi/linux/nfsd_netlink.h
@@ -0,0 +1,34 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_NFSD_NETLINK_H
+#define _UAPI_LINUX_NFSD_NETLINK_H
+#define NFSD_FAMILY_NAME "nfsd"
+#define NFSD_FAMILY_VERSION 1
+enum {
+  NFSD_A_RPC_STATUS_XID = 1,
+  NFSD_A_RPC_STATUS_FLAGS,
+  NFSD_A_RPC_STATUS_PROG,
+  NFSD_A_RPC_STATUS_VERSION,
+  NFSD_A_RPC_STATUS_PROC,
+  NFSD_A_RPC_STATUS_SERVICE_TIME,
+  NFSD_A_RPC_STATUS_PAD,
+  NFSD_A_RPC_STATUS_SADDR4,
+  NFSD_A_RPC_STATUS_DADDR4,
+  NFSD_A_RPC_STATUS_SADDR6,
+  NFSD_A_RPC_STATUS_DADDR6,
+  NFSD_A_RPC_STATUS_SPORT,
+  NFSD_A_RPC_STATUS_DPORT,
+  NFSD_A_RPC_STATUS_COMPOUND_OPS,
+  __NFSD_A_RPC_STATUS_MAX,
+  NFSD_A_RPC_STATUS_MAX = (__NFSD_A_RPC_STATUS_MAX - 1)
+};
+enum {
+  NFSD_CMD_RPC_STATUS_GET = 1,
+  __NFSD_CMD_MAX,
+  NFSD_CMD_MAX = (__NFSD_CMD_MAX - 1)
+};
+#endif
diff --git a/libc/kernel/uapi/linux/nl80211.h b/libc/kernel/uapi/linux/nl80211.h
index 90c6126..bf87c0e 100644
--- a/libc/kernel/uapi/linux/nl80211.h
+++ b/libc/kernel/uapi/linux/nl80211.h
@@ -867,6 +867,7 @@
   NL80211_FREQUENCY_ATTR_16MHZ,
   NL80211_FREQUENCY_ATTR_NO_320MHZ,
   NL80211_FREQUENCY_ATTR_NO_EHT,
+  NL80211_FREQUENCY_ATTR_PSD,
   __NL80211_FREQUENCY_ATTR_AFTER_LAST,
   NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
 };
@@ -903,6 +904,7 @@
   NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN,
   NL80211_ATTR_POWER_RULE_MAX_EIRP,
   NL80211_ATTR_DFS_CAC_TIME,
+  NL80211_ATTR_POWER_RULE_PSD,
   __NL80211_REG_RULE_ATTR_AFTER_LAST,
   NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1
 };
@@ -937,6 +939,7 @@
   NL80211_RRF_NO_HE = 1 << 17,
   NL80211_RRF_NO_320MHZ = 1 << 18,
   NL80211_RRF_NO_EHT = 1 << 19,
+  NL80211_RRF_PSD = 1 << 20,
 };
 #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
 #define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR
@@ -1542,6 +1545,8 @@
   NL80211_EXT_FEATURE_PUNCT,
   NL80211_EXT_FEATURE_SECURE_NAN,
   NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,
+  NL80211_EXT_FEATURE_OWE_OFFLOAD,
+  NL80211_EXT_FEATURE_OWE_OFFLOAD_AP,
   NUM_NL80211_EXT_FEATURES,
   MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1
 };
diff --git a/libc/kernel/uapi/linux/npcm-video.h b/libc/kernel/uapi/linux/npcm-video.h
new file mode 100644
index 0000000..64cd3cc
--- /dev/null
+++ b/libc/kernel/uapi/linux/npcm-video.h
@@ -0,0 +1,16 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_NPCM_VIDEO_H
+#define _UAPI_LINUX_NPCM_VIDEO_H
+#include <linux/v4l2-controls.h>
+#define V4L2_CID_NPCM_CAPTURE_MODE (V4L2_CID_USER_NPCM_BASE + 0)
+enum v4l2_npcm_capture_mode {
+  V4L2_NPCM_CAPTURE_MODE_COMPLETE = 0,
+  V4L2_NPCM_CAPTURE_MODE_DIFF = 1,
+};
+#define V4L2_CID_NPCM_RECT_COUNT (V4L2_CID_USER_NPCM_BASE + 1)
+#endif
diff --git a/libc/kernel/uapi/linux/pci_regs.h b/libc/kernel/uapi/linux/pci_regs.h
index 4bed443..e26392b 100644
--- a/libc/kernel/uapi/linux/pci_regs.h
+++ b/libc/kernel/uapi/linux/pci_regs.h
@@ -52,6 +52,7 @@
 #define PCI_HEADER_TYPE_NORMAL 0
 #define PCI_HEADER_TYPE_BRIDGE 1
 #define PCI_HEADER_TYPE_CARDBUS 2
+#define PCI_HEADER_TYPE_MFD 0x80
 #define PCI_BIST 0x0f
 #define PCI_BIST_CODE_MASK 0x0f
 #define PCI_BIST_START 0x40
@@ -534,6 +535,7 @@
 #define PCI_EXP_RTCAP 0x1e
 #define PCI_EXP_RTCAP_CRSVIS 0x0001
 #define PCI_EXP_RTSTA 0x20
+#define PCI_EXP_RTSTA_PME_RQ_ID 0x0000ffff
 #define PCI_EXP_RTSTA_PME 0x00010000
 #define PCI_EXP_RTSTA_PENDING 0x00020000
 #define PCI_EXP_DEVCAP2 0x24
@@ -784,12 +786,13 @@
 #define PCI_PRI_ALLOC_REQ 0x0c
 #define PCI_EXT_CAP_PRI_SIZEOF 16
 #define PCI_PASID_CAP 0x04
-#define PCI_PASID_CAP_EXEC 0x02
-#define PCI_PASID_CAP_PRIV 0x04
+#define PCI_PASID_CAP_EXEC 0x0002
+#define PCI_PASID_CAP_PRIV 0x0004
+#define PCI_PASID_CAP_WIDTH 0x1f00
 #define PCI_PASID_CTRL 0x06
-#define PCI_PASID_CTRL_ENABLE 0x01
-#define PCI_PASID_CTRL_EXEC 0x02
-#define PCI_PASID_CTRL_PRIV 0x04
+#define PCI_PASID_CTRL_ENABLE 0x0001
+#define PCI_PASID_CTRL_EXEC 0x0002
+#define PCI_PASID_CTRL_PRIV 0x0004
 #define PCI_EXT_CAP_PASID_SIZEOF 8
 #define PCI_SRIOV_CAP 0x04
 #define PCI_SRIOV_CAP_VFM 0x00000001
@@ -826,6 +829,8 @@
 #define PCI_LTR_VALUE_MASK 0x000003ff
 #define PCI_LTR_SCALE_MASK 0x00001c00
 #define PCI_LTR_SCALE_SHIFT 10
+#define PCI_LTR_NOSNOOP_VALUE 0x03ff0000
+#define PCI_LTR_NOSNOOP_SCALE 0x1c000000
 #define PCI_EXT_CAP_LTR_SIZEOF 8
 #define PCI_ACS_CAP 0x04
 #define PCI_ACS_SV 0x0001
@@ -878,9 +883,16 @@
 #define PCI_EXP_DPC_STATUS 0x08
 #define PCI_EXP_DPC_STATUS_TRIGGER 0x0001
 #define PCI_EXP_DPC_STATUS_TRIGGER_RSN 0x0006
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_UNCOR 0x0000
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_NFE 0x0002
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_FE 0x0004
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_IN_EXT 0x0006
 #define PCI_EXP_DPC_STATUS_INTERRUPT 0x0008
 #define PCI_EXP_DPC_RP_BUSY 0x0010
 #define PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT 0x0060
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_RP_PIO 0x0000
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_SW_TRIGGER 0x0020
+#define PCI_EXP_DPC_RP_PIO_FEP 0x1f00
 #define PCI_EXP_DPC_SOURCE_ID 0x0A
 #define PCI_EXP_DPC_RP_PIO_STATUS 0x0C
 #define PCI_EXP_DPC_RP_PIO_MASK 0x10
@@ -918,6 +930,8 @@
 #define PCI_L1SS_CTL1_LTR_L12_TH_VALUE 0x03ff0000
 #define PCI_L1SS_CTL1_LTR_L12_TH_SCALE 0xe0000000
 #define PCI_L1SS_CTL2 0x0c
+#define PCI_L1SS_CTL2_T_PWR_ON_SCALE 0x00000003
+#define PCI_L1SS_CTL2_T_PWR_ON_VALUE 0x000000f8
 #define PCI_DVSEC_HEADER1 0x4
 #define PCI_DVSEC_HEADER1_VID(x) ((x) & 0xffff)
 #define PCI_DVSEC_HEADER1_REV(x) (((x) >> 16) & 0xf)
diff --git a/libc/kernel/uapi/linux/pkt_sched.h b/libc/kernel/uapi/linux/pkt_sched.h
index 9a4f7fd..9047c8e 100644
--- a/libc/kernel/uapi/linux/pkt_sched.h
+++ b/libc/kernel/uapi/linux/pkt_sched.h
@@ -678,9 +678,13 @@
   TCA_FQ_TIMER_SLACK,
   TCA_FQ_HORIZON,
   TCA_FQ_HORIZON_DROP,
+  TCA_FQ_PRIOMAP,
+  TCA_FQ_WEIGHTS,
   __TCA_FQ_MAX
 };
 #define TCA_FQ_MAX (__TCA_FQ_MAX - 1)
+#define FQ_BANDS 3
+#define FQ_MIN_WEIGHT 16384
 struct tc_fq_qd_stats {
   __u64 gc_flows;
   __u64 highprio_packets;
@@ -697,6 +701,10 @@
   __u64 ce_mark;
   __u64 horizon_drops;
   __u64 horizon_caps;
+  __u64 fastpath_packets;
+  __u64 band_drops[FQ_BANDS];
+  __u32 band_pkt_count[FQ_BANDS];
+  __u32 pad;
 };
 enum {
   TCA_HHF_UNSPEC,
diff --git a/libc/kernel/uapi/linux/prctl.h b/libc/kernel/uapi/linux/prctl.h
index 02c1d78..48e100b 100644
--- a/libc/kernel/uapi/linux/prctl.h
+++ b/libc/kernel/uapi/linux/prctl.h
@@ -173,7 +173,8 @@
 #define PR_SME_VL_LEN_MASK 0xffff
 #define PR_SME_VL_INHERIT (1 << 17)
 #define PR_SET_MDWE 65
-#define PR_MDWE_REFUSE_EXEC_GAIN 1
+#define PR_MDWE_REFUSE_EXEC_GAIN (1UL << 0)
+#define PR_MDWE_NO_INHERIT (1UL << 1)
 #define PR_GET_MDWE 66
 #define PR_SET_VMA 0x53564d41
 #define PR_SET_VMA_ANON_NAME 0
diff --git a/libc/kernel/uapi/linux/psp-sev.h b/libc/kernel/uapi/linux/psp-sev.h
index f73a397..ffbcf82 100644
--- a/libc/kernel/uapi/linux/psp-sev.h
+++ b/libc/kernel/uapi/linux/psp-sev.h
@@ -46,6 +46,7 @@
   SEV_RET_INVALID_PARAM,
   SEV_RET_RESOURCE_LIMIT,
   SEV_RET_SECURE_DATA_INVALID,
+  SEV_RET_INVALID_KEY = 0x27,
   SEV_RET_MAX,
 } sev_ret_code;
 struct sev_user_data_status {
diff --git a/libc/kernel/uapi/linux/ptp_clock.h b/libc/kernel/uapi/linux/ptp_clock.h
index 5c24483..ca4447e 100644
--- a/libc/kernel/uapi/linux/ptp_clock.h
+++ b/libc/kernel/uapi/linux/ptp_clock.h
@@ -104,6 +104,8 @@
 #define PTP_PIN_SETFUNC2 _IOW(PTP_CLK_MAGIC, 16, struct ptp_pin_desc)
 #define PTP_SYS_OFFSET_PRECISE2 _IOWR(PTP_CLK_MAGIC, 17, struct ptp_sys_offset_precise)
 #define PTP_SYS_OFFSET_EXTENDED2 _IOWR(PTP_CLK_MAGIC, 18, struct ptp_sys_offset_extended)
+#define PTP_MASK_CLEAR_ALL _IO(PTP_CLK_MAGIC, 19)
+#define PTP_MASK_EN_SINGLE _IOW(PTP_CLK_MAGIC, 20, unsigned int)
 struct ptp_extts_event {
   struct ptp_clock_time t;
   unsigned int index;
diff --git a/libc/kernel/uapi/linux/rtnetlink.h b/libc/kernel/uapi/linux/rtnetlink.h
index 6309914..70038f2 100644
--- a/libc/kernel/uapi/linux/rtnetlink.h
+++ b/libc/kernel/uapi/linux/rtnetlink.h
@@ -368,7 +368,8 @@
 #define RTAX_FEATURE_SACK (1 << 1)
 #define RTAX_FEATURE_TIMESTAMP (1 << 2)
 #define RTAX_FEATURE_ALLFRAG (1 << 3)
-#define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK | RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG)
+#define RTAX_FEATURE_TCP_USEC_TS (1 << 4)
+#define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK | RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG | RTAX_FEATURE_TCP_USEC_TS)
 struct rta_session {
   __u8 proto;
   __u8 pad1;
diff --git a/libc/kernel/uapi/linux/sched/types.h b/libc/kernel/uapi/linux/sched/types.h
index 6ee5d57..e3bcbd2 100644
--- a/libc/kernel/uapi/linux/sched/types.h
+++ b/libc/kernel/uapi/linux/sched/types.h
@@ -7,9 +7,6 @@
 #ifndef _UAPI_LINUX_SCHED_TYPES_H
 #define _UAPI_LINUX_SCHED_TYPES_H
 #include <linux/types.h>
-struct sched_param {
-  int sched_priority;
-};
 #define SCHED_ATTR_SIZE_VER0 48
 #define SCHED_ATTR_SIZE_VER1 56
 struct sched_attr {
diff --git a/libc/kernel/uapi/linux/serial_core.h b/libc/kernel/uapi/linux/serial_core.h
index e376405..23b049a 100644
--- a/libc/kernel/uapi/linux/serial_core.h
+++ b/libc/kernel/uapi/linux/serial_core.h
@@ -98,4 +98,5 @@
 #define PORT_SUNIX 121
 #define PORT_LINFLEXUART 122
 #define PORT_SUNPLUS 123
+#define PORT_GENERIC (- 1)
 #endif
diff --git a/libc/kernel/uapi/linux/serial_reg.h b/libc/kernel/uapi/linux/serial_reg.h
index 8283812..7f53277 100644
--- a/libc/kernel/uapi/linux/serial_reg.h
+++ b/libc/kernel/uapi/linux/serial_reg.h
@@ -30,6 +30,7 @@
 #define UART_IIR_FIFO_ENABLED_8250 0x00
 #define UART_IIR_FIFO_ENABLED_16550 0x80
 #define UART_IIR_FIFO_ENABLED_16550A 0xc0
+#define UART_IIR_FIFO_ENABLED_16750 0xe0
 #define UART_FCR 2
 #define UART_FCR_ENABLE_FIFO 0x01
 #define UART_FCR_CLEAR_RCVR 0x02
diff --git a/libc/kernel/uapi/linux/sev-guest.h b/libc/kernel/uapi/linux/sev-guest.h
index 3221fef..a822bed 100644
--- a/libc/kernel/uapi/linux/sev-guest.h
+++ b/libc/kernel/uapi/linux/sev-guest.h
@@ -7,8 +7,9 @@
 #ifndef __UAPI_LINUX_SEV_GUEST_H_
 #define __UAPI_LINUX_SEV_GUEST_H_
 #include <linux/types.h>
+#define SNP_REPORT_USER_DATA_SIZE 64
 struct snp_report_req {
-  __u8 user_data[64];
+  __u8 user_data[SNP_REPORT_USER_DATA_SIZE];
   __u32 vmpl;
   __u8 rsvd[28];
 };
diff --git a/libc/kernel/uapi/linux/snmp.h b/libc/kernel/uapi/linux/snmp.h
index d511976..2f4c65c 100644
--- a/libc/kernel/uapi/linux/snmp.h
+++ b/libc/kernel/uapi/linux/snmp.h
@@ -12,7 +12,7 @@
   IPSTATS_MIB_INOCTETS,
   IPSTATS_MIB_INDELIVERS,
   IPSTATS_MIB_OUTFORWDATAGRAMS,
-  IPSTATS_MIB_OUTPKTS,
+  IPSTATS_MIB_OUTREQUESTS,
   IPSTATS_MIB_OUTOCTETS,
   IPSTATS_MIB_INHDRERRORS,
   IPSTATS_MIB_INTOOBIGERRORS,
@@ -44,6 +44,7 @@
   IPSTATS_MIB_ECT0PKTS,
   IPSTATS_MIB_CEPKTS,
   IPSTATS_MIB_REASM_OVERLAPS,
+  IPSTATS_MIB_OUTPKTS,
   __IPSTATS_MIB_MAX
 };
 enum {
@@ -251,6 +252,11 @@
   LINUX_MIB_TCPMIGRATEREQSUCCESS,
   LINUX_MIB_TCPMIGRATEREQFAILURE,
   LINUX_MIB_TCPPLBREHASH,
+  LINUX_MIB_TCPAOREQUIRED,
+  LINUX_MIB_TCPAOBAD,
+  LINUX_MIB_TCPAOKEYNOTFOUND,
+  LINUX_MIB_TCPAOGOOD,
+  LINUX_MIB_TCPAODROPPEDICMPS,
   __LINUX_MIB_MAX
 };
 enum {
diff --git a/libc/kernel/uapi/linux/stddef.h b/libc/kernel/uapi/linux/stddef.h
index ad98d3e..aa3a694 100644
--- a/libc/kernel/uapi/linux/stddef.h
+++ b/libc/kernel/uapi/linux/stddef.h
@@ -10,7 +10,7 @@
 #ifndef __always_inline
 #define __always_inline inline
 #endif
-#define __struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct TAG { MEMBERS } ATTRS NAME; }
+#define __struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct TAG { MEMBERS } ATTRS NAME; } ATTRS
 #ifdef __cplusplus
 #define __DECLARE_FLEX_ARRAY(T,member) T member[0]
 #else
diff --git a/libc/kernel/uapi/linux/tcp.h b/libc/kernel/uapi/linux/tcp.h
index 65bab54..cb26f97 100644
--- a/libc/kernel/uapi/linux/tcp.h
+++ b/libc/kernel/uapi/linux/tcp.h
@@ -66,6 +66,11 @@
 #define TCP_INQ 36
 #define TCP_CM_INQ TCP_INQ
 #define TCP_TX_DELAY 37
+#define TCP_AO_ADD_KEY 38
+#define TCP_AO_DEL_KEY 39
+#define TCP_AO_INFO 40
+#define TCP_AO_GET_KEYS 41
+#define TCP_AO_REPAIR 42
 #define TCP_REPAIR_ON 1
 #define TCP_REPAIR_OFF 0
 #define TCP_REPAIR_OFF_NO_WP - 1
@@ -98,6 +103,7 @@
 #define TCPI_OPT_ECN 8
 #define TCPI_OPT_ECN_SEEN 16
 #define TCPI_OPT_SYN_DATA 32
+#define TCPI_OPT_USEC_TS 64
 enum tcp_ca_state {
   TCP_CA_Open = 0,
 #define TCPF_CA_Open (1 << TCP_CA_Open)
@@ -167,6 +173,9 @@
   __u32 tcpi_snd_wnd;
   __u32 tcpi_rcv_wnd;
   __u32 tcpi_rehash;
+  __u16 tcpi_total_rto;
+  __u16 tcpi_total_rto_recoveries;
+  __u32 tcpi_total_rto_time;
 };
 enum {
   TCP_NLA_PAD,
@@ -216,6 +225,68 @@
   __be32 tcpm_addr[4];
   __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN];
 };
+#define TCP_AO_MAXKEYLEN 80
+#define TCP_AO_KEYF_IFINDEX (1 << 0)
+#define TCP_AO_KEYF_EXCLUDE_OPT (1 << 1)
+struct tcp_ao_add {
+  struct sockaddr_storage addr;
+  char alg_name[64];
+  __s32 ifindex;
+  __u32 set_current : 1, set_rnext : 1, reserved : 30;
+  __u16 reserved2;
+  __u8 prefix;
+  __u8 sndid;
+  __u8 rcvid;
+  __u8 maclen;
+  __u8 keyflags;
+  __u8 keylen;
+  __u8 key[TCP_AO_MAXKEYLEN];
+} __attribute__((aligned(8)));
+struct tcp_ao_del {
+  struct sockaddr_storage addr;
+  __s32 ifindex;
+  __u32 set_current : 1, set_rnext : 1, del_async : 1, reserved : 29;
+  __u16 reserved2;
+  __u8 prefix;
+  __u8 sndid;
+  __u8 rcvid;
+  __u8 current_key;
+  __u8 rnext;
+  __u8 keyflags;
+} __attribute__((aligned(8)));
+struct tcp_ao_info_opt {
+  __u32 set_current : 1, set_rnext : 1, ao_required : 1, set_counters : 1, accept_icmps : 1, reserved : 27;
+  __u16 reserved2;
+  __u8 current_key;
+  __u8 rnext;
+  __u64 pkt_good;
+  __u64 pkt_bad;
+  __u64 pkt_key_not_found;
+  __u64 pkt_ao_required;
+  __u64 pkt_dropped_icmp;
+} __attribute__((aligned(8)));
+struct tcp_ao_getsockopt {
+  struct sockaddr_storage addr;
+  char alg_name[64];
+  __u8 key[TCP_AO_MAXKEYLEN];
+  __u32 nkeys;
+  __u16 is_current : 1, is_rnext : 1, get_all : 1, reserved : 13;
+  __u8 sndid;
+  __u8 rcvid;
+  __u8 prefix;
+  __u8 maclen;
+  __u8 keyflags;
+  __u8 keylen;
+  __s32 ifindex;
+  __u64 pkt_good;
+  __u64 pkt_bad;
+} __attribute__((aligned(8)));
+struct tcp_ao_repair {
+  __be32 snt_isn;
+  __be32 rcv_isn;
+  __u32 snd_sne;
+  __u32 rcv_sne;
+} __attribute__((aligned(8)));
 #define TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT 0x1
 struct tcp_zerocopy_receive {
   __u64 address;
diff --git a/libc/kernel/uapi/linux/usb/raw_gadget.h b/libc/kernel/uapi/linux/usb/raw_gadget.h
index 16c1753..d09dc1d 100644
--- a/libc/kernel/uapi/linux/usb/raw_gadget.h
+++ b/libc/kernel/uapi/linux/usb/raw_gadget.h
@@ -19,6 +19,10 @@
   USB_RAW_EVENT_INVALID = 0,
   USB_RAW_EVENT_CONNECT = 1,
   USB_RAW_EVENT_CONTROL = 2,
+  USB_RAW_EVENT_SUSPEND = 3,
+  USB_RAW_EVENT_RESUME = 4,
+  USB_RAW_EVENT_RESET = 5,
+  USB_RAW_EVENT_DISCONNECT = 6,
 };
 struct usb_raw_event {
   __u32 type;
diff --git a/libc/kernel/uapi/linux/user_events.h b/libc/kernel/uapi/linux/user_events.h
index de643be..7bff0b0 100644
--- a/libc/kernel/uapi/linux/user_events.h
+++ b/libc/kernel/uapi/linux/user_events.h
@@ -11,6 +11,10 @@
 #define USER_EVENTS_SYSTEM "user_events"
 #define USER_EVENTS_PREFIX "u:"
 #define DYN_LOC(offset,size) ((size) << 16 | (offset))
+enum user_reg_flag {
+  USER_EVENT_REG_PERSIST = 1U << 0,
+  USER_EVENT_REG_MAX = 1U << 1,
+};
 struct user_reg {
   __u32 size;
   __u8 enable_bit;
diff --git a/libc/kernel/uapi/linux/userfaultfd.h b/libc/kernel/uapi/linux/userfaultfd.h
index 4393eb2..5eeea4e 100644
--- a/libc/kernel/uapi/linux/userfaultfd.h
+++ b/libc/kernel/uapi/linux/userfaultfd.h
@@ -11,7 +11,7 @@
 #define USERFAULTFD_IOC_NEW _IO(USERFAULTFD_IOC, 0x00)
 #define UFFD_API ((__u64) 0xAA)
 #define UFFD_API_REGISTER_MODES (UFFDIO_REGISTER_MODE_MISSING | UFFDIO_REGISTER_MODE_WP | UFFDIO_REGISTER_MODE_MINOR)
-#define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | UFFD_FEATURE_EVENT_FORK | UFFD_FEATURE_EVENT_REMAP | UFFD_FEATURE_EVENT_REMOVE | UFFD_FEATURE_EVENT_UNMAP | UFFD_FEATURE_MISSING_HUGETLBFS | UFFD_FEATURE_MISSING_SHMEM | UFFD_FEATURE_SIGBUS | UFFD_FEATURE_THREAD_ID | UFFD_FEATURE_MINOR_HUGETLBFS | UFFD_FEATURE_MINOR_SHMEM | UFFD_FEATURE_EXACT_ADDRESS | UFFD_FEATURE_WP_HUGETLBFS_SHMEM | UFFD_FEATURE_WP_UNPOPULATED | UFFD_FEATURE_POISON)
+#define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | UFFD_FEATURE_EVENT_FORK | UFFD_FEATURE_EVENT_REMAP | UFFD_FEATURE_EVENT_REMOVE | UFFD_FEATURE_EVENT_UNMAP | UFFD_FEATURE_MISSING_HUGETLBFS | UFFD_FEATURE_MISSING_SHMEM | UFFD_FEATURE_SIGBUS | UFFD_FEATURE_THREAD_ID | UFFD_FEATURE_MINOR_HUGETLBFS | UFFD_FEATURE_MINOR_SHMEM | UFFD_FEATURE_EXACT_ADDRESS | UFFD_FEATURE_WP_HUGETLBFS_SHMEM | UFFD_FEATURE_WP_UNPOPULATED | UFFD_FEATURE_POISON | UFFD_FEATURE_WP_ASYNC)
 #define UFFD_API_IOCTLS ((__u64) 1 << _UFFDIO_REGISTER | (__u64) 1 << _UFFDIO_UNREGISTER | (__u64) 1 << _UFFDIO_API)
 #define UFFD_API_RANGE_IOCTLS ((__u64) 1 << _UFFDIO_WAKE | (__u64) 1 << _UFFDIO_COPY | (__u64) 1 << _UFFDIO_ZEROPAGE | (__u64) 1 << _UFFDIO_WRITEPROTECT | (__u64) 1 << _UFFDIO_CONTINUE | (__u64) 1 << _UFFDIO_POISON)
 #define UFFD_API_RANGE_IOCTLS_BASIC ((__u64) 1 << _UFFDIO_WAKE | (__u64) 1 << _UFFDIO_COPY | (__u64) 1 << _UFFDIO_WRITEPROTECT | (__u64) 1 << _UFFDIO_CONTINUE | (__u64) 1 << _UFFDIO_POISON)
@@ -91,6 +91,7 @@
 #define UFFD_FEATURE_WP_HUGETLBFS_SHMEM (1 << 12)
 #define UFFD_FEATURE_WP_UNPOPULATED (1 << 13)
 #define UFFD_FEATURE_POISON (1 << 14)
+#define UFFD_FEATURE_WP_ASYNC (1 << 15)
   __u64 features;
   __u64 ioctls;
 };
diff --git a/libc/kernel/uapi/linux/v4l2-controls.h b/libc/kernel/uapi/linux/v4l2-controls.h
index da0935f..90cb69d 100644
--- a/libc/kernel/uapi/linux/v4l2-controls.h
+++ b/libc/kernel/uapi/linux/v4l2-controls.h
@@ -110,6 +110,7 @@
 #define V4L2_CID_USER_ISL7998X_BASE (V4L2_CID_USER_BASE + 0x1180)
 #define V4L2_CID_USER_DW100_BASE (V4L2_CID_USER_BASE + 0x1190)
 #define V4L2_CID_USER_ASPEED_BASE (V4L2_CID_USER_BASE + 0x11a0)
+#define V4L2_CID_USER_NPCM_BASE (V4L2_CID_USER_BASE + 0x11b0)
 #define V4L2_CID_CODEC_BASE (V4L2_CTRL_CLASS_CODEC | 0x900)
 #define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1)
 #define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_CODEC_BASE + 0)
diff --git a/libc/kernel/uapi/linux/v4l2-subdev.h b/libc/kernel/uapi/linux/v4l2-subdev.h
index b1d1175..d684a54 100644
--- a/libc/kernel/uapi/linux/v4l2-subdev.h
+++ b/libc/kernel/uapi/linux/v4l2-subdev.h
@@ -103,7 +103,7 @@
   __u64 routes;
   __u32 reserved[6];
 };
-#define V4L2_SUBDEV_CLIENT_CAP_STREAMS (1U << 0)
+#define V4L2_SUBDEV_CLIENT_CAP_STREAMS (1ULL << 0)
 struct v4l2_subdev_client_capability {
   __u64 capabilities;
 };
diff --git a/libc/kernel/uapi/linux/version.h b/libc/kernel/uapi/linux/version.h
index e9f78f2..645a2ab 100644
--- a/libc/kernel/uapi/linux/version.h
+++ b/libc/kernel/uapi/linux/version.h
@@ -4,8 +4,8 @@
  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
  * for more information.
  */
-#define LINUX_VERSION_CODE 394752
+#define LINUX_VERSION_CODE 395008
 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))
 #define LINUX_VERSION_MAJOR 6
-#define LINUX_VERSION_PATCHLEVEL 6
+#define LINUX_VERSION_PATCHLEVEL 7
 #define LINUX_VERSION_SUBLEVEL 0
diff --git a/libc/kernel/uapi/linux/vfio.h b/libc/kernel/uapi/linux/vfio.h
index e44f122..1107b21 100644
--- a/libc/kernel/uapi/linux/vfio.h
+++ b/libc/kernel/uapi/linux/vfio.h
@@ -84,14 +84,14 @@
 #define VFIO_REGION_INFO_FLAG_CAPS (1 << 3)
   __u32 index;
   __u32 cap_offset;
-  __u64 size;
-  __u64 offset;
+  __aligned_u64 size;
+  __aligned_u64 offset;
 };
 #define VFIO_DEVICE_GET_REGION_INFO _IO(VFIO_TYPE, VFIO_BASE + 8)
 #define VFIO_REGION_INFO_CAP_SPARSE_MMAP 1
 struct vfio_region_sparse_mmap_area {
-  __u64 offset;
-  __u64 size;
+  __aligned_u64 offset;
+  __aligned_u64 size;
 };
 struct vfio_region_info_cap_sparse_mmap {
   struct vfio_info_cap_header header;
@@ -141,15 +141,15 @@
 #define VFIO_DEVICE_STATE_IS_ERROR(state) ((state & VFIO_DEVICE_STATE_MASK) == (VFIO_DEVICE_STATE_V1_SAVING | VFIO_DEVICE_STATE_V1_RESUMING))
 #define VFIO_DEVICE_STATE_SET_ERROR(state) ((state & ~VFIO_DEVICE_STATE_MASK) | VFIO_DEVICE_STATE_V1_SAVING | VFIO_DEVICE_STATE_V1_RESUMING)
   __u32 reserved;
-  __u64 pending_bytes;
-  __u64 data_offset;
-  __u64 data_size;
+  __aligned_u64 pending_bytes;
+  __aligned_u64 data_offset;
+  __aligned_u64 data_size;
 };
 #define VFIO_REGION_INFO_CAP_MSIX_MAPPABLE 3
 #define VFIO_REGION_INFO_CAP_NVLINK2_SSATGT 4
 struct vfio_region_info_cap_nvlink2_ssatgt {
   struct vfio_info_cap_header header;
-  __u64 tgt;
+  __aligned_u64 tgt;
 };
 #define VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD 5
 struct vfio_region_info_cap_nvlink2_lnkspd {
@@ -255,7 +255,7 @@
 #define VFIO_GFX_PLANE_TYPE_REGION (1 << 2)
   __u32 drm_plane_type;
   __u32 drm_format;
-  __u64 drm_format_mod;
+  __aligned_u64 drm_format_mod;
   __u32 width;
   __u32 height;
   __u32 stride;
@@ -268,6 +268,7 @@
     __u32 region_index;
     __u32 dmabuf_id;
   };
+  __u32 reserved;
 };
 #define VFIO_DEVICE_QUERY_GFX_PLANE _IO(VFIO_TYPE, VFIO_BASE + 14)
 #define VFIO_DEVICE_GET_GFX_DMABUF _IO(VFIO_TYPE, VFIO_BASE + 15)
@@ -279,9 +280,10 @@
 #define VFIO_DEVICE_IOEVENTFD_32 (1 << 2)
 #define VFIO_DEVICE_IOEVENTFD_64 (1 << 3)
 #define VFIO_DEVICE_IOEVENTFD_SIZE_MASK (0xf)
-  __u64 offset;
-  __u64 data;
+  __aligned_u64 offset;
+  __aligned_u64 data;
   __s32 fd;
+  __u32 reserved;
 };
 #define VFIO_DEVICE_IOEVENTFD _IO(VFIO_TYPE, VFIO_BASE + 16)
 struct vfio_device_feature {
@@ -372,12 +374,18 @@
   __aligned_u64 stop_copy_length;
 };
 #define VFIO_DEVICE_FEATURE_MIG_DATA_SIZE 9
+struct vfio_device_feature_bus_master {
+  __u32 op;
+#define VFIO_DEVICE_FEATURE_CLEAR_MASTER 0
+#define VFIO_DEVICE_FEATURE_SET_MASTER 1
+};
+#define VFIO_DEVICE_FEATURE_BUS_MASTER 10
 struct vfio_iommu_type1_info {
   __u32 argsz;
   __u32 flags;
 #define VFIO_IOMMU_INFO_PGSIZES (1 << 0)
 #define VFIO_IOMMU_INFO_CAPS (1 << 1)
-  __u64 iova_pgsizes;
+  __aligned_u64 iova_pgsizes;
   __u32 cap_offset;
   __u32 pad;
 };
diff --git a/libc/kernel/uapi/linux/vhost.h b/libc/kernel/uapi/linux/vhost.h
index 05142cb..adf0af7 100644
--- a/libc/kernel/uapi/linux/vhost.h
+++ b/libc/kernel/uapi/linux/vhost.h
@@ -62,4 +62,5 @@
 #define VHOST_VDPA_SET_GROUP_ASID _IOW(VHOST_VIRTIO, 0x7C, struct vhost_vring_state)
 #define VHOST_VDPA_SUSPEND _IO(VHOST_VIRTIO, 0x7D)
 #define VHOST_VDPA_RESUME _IO(VHOST_VIRTIO, 0x7E)
+#define VHOST_VDPA_GET_VRING_DESC_GROUP _IOWR(VHOST_VIRTIO, 0x7F, struct vhost_vring_state)
 #endif
diff --git a/libc/kernel/uapi/linux/vhost_types.h b/libc/kernel/uapi/linux/vhost_types.h
index d249ac4..cd9a9fb 100644
--- a/libc/kernel/uapi/linux/vhost_types.h
+++ b/libc/kernel/uapi/linux/vhost_types.h
@@ -103,4 +103,6 @@
 #define VHOST_BACKEND_F_SUSPEND 0x4
 #define VHOST_BACKEND_F_RESUME 0x5
 #define VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK 0x6
+#define VHOST_BACKEND_F_DESC_ASID 0x7
+#define VHOST_BACKEND_F_IOTLB_PERSIST 0x8
 #endif
diff --git a/libc/kernel/uapi/linux/videodev2.h b/libc/kernel/uapi/linux/videodev2.h
index de51ef0..bb98888 100644
--- a/libc/kernel/uapi/linux/videodev2.h
+++ b/libc/kernel/uapi/linux/videodev2.h
@@ -418,6 +418,7 @@
 #define V4L2_PIX_FMT_QC08C v4l2_fourcc('Q', '0', '8', 'C')
 #define V4L2_PIX_FMT_QC10C v4l2_fourcc('Q', '1', '0', 'C')
 #define V4L2_PIX_FMT_AJPG v4l2_fourcc('A', 'J', 'P', 'G')
+#define V4L2_PIX_FMT_HEXTILE v4l2_fourcc('H', 'X', 'T', 'L')
 #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b')
 #define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g')
 #define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G')
diff --git a/libc/kernel/uapi/linux/virtio_config.h b/libc/kernel/uapi/linux/virtio_config.h
index 223b63c..520a472 100644
--- a/libc/kernel/uapi/linux/virtio_config.h
+++ b/libc/kernel/uapi/linux/virtio_config.h
@@ -27,5 +27,6 @@
 #define VIRTIO_F_ORDER_PLATFORM 36
 #define VIRTIO_F_SR_IOV 37
 #define VIRTIO_F_NOTIFICATION_DATA 38
+#define VIRTIO_F_NOTIF_CONFIG_DATA 39
 #define VIRTIO_F_RING_RESET 40
 #endif
diff --git a/libc/kernel/uapi/linux/virtio_pci.h b/libc/kernel/uapi/linux/virtio_pci.h
index ee6a078..f9595bc 100644
--- a/libc/kernel/uapi/linux/virtio_pci.h
+++ b/libc/kernel/uapi/linux/virtio_pci.h
@@ -74,6 +74,11 @@
   __le32 queue_used_lo;
   __le32 queue_used_hi;
 };
+struct virtio_pci_modern_common_cfg {
+  struct virtio_pci_common_cfg cfg;
+  __le16 queue_notify_data;
+  __le16 queue_reset;
+};
 struct virtio_pci_cfg_cap {
   struct virtio_pci_cap cap;
   __u8 pci_cfg_data[4];
diff --git a/libc/kernel/uapi/linux/vm_sockets.h b/libc/kernel/uapi/linux/vm_sockets.h
index ad74adc..bd84f44 100644
--- a/libc/kernel/uapi/linux/vm_sockets.h
+++ b/libc/kernel/uapi/linux/vm_sockets.h
@@ -40,4 +40,6 @@
   unsigned char svm_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - sizeof(unsigned short) - sizeof(unsigned int) - sizeof(unsigned int) - sizeof(__u8)];
 };
 #define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9)
+#define SOL_VSOCK 287
+#define VSOCK_RECVERR 1
 #endif
diff --git a/libc/kernel/uapi/linux/xfrm.h b/libc/kernel/uapi/linux/xfrm.h
index a34b399..e2f168d 100644
--- a/libc/kernel/uapi/linux/xfrm.h
+++ b/libc/kernel/uapi/linux/xfrm.h
@@ -8,6 +8,7 @@
 #define _LINUX_XFRM_H
 #include <linux/in6.h>
 #include <linux/types.h>
+#include <linux/stddef.h>
 typedef union {
   __be32 a4;
   __be32 a6[4];
@@ -23,7 +24,7 @@
   __u8 ctx_alg;
   __u16 ctx_len;
   __u32 ctx_sid;
-  char ctx_str[];
+  char ctx_str[] __counted_by(ctx_len);
 };
 #define XFRM_SC_DOI_RESERVED 0
 #define XFRM_SC_DOI_LSM 1
diff --git a/libc/kernel/uapi/mtd/ubi-user.h b/libc/kernel/uapi/mtd/ubi-user.h
index 93831de..bb9a6cb 100644
--- a/libc/kernel/uapi/mtd/ubi-user.h
+++ b/libc/kernel/uapi/mtd/ubi-user.h
@@ -45,7 +45,8 @@
   __s32 vid_hdr_offset;
   __s16 max_beb_per1024;
   __s8 disable_fm;
-  __s8 padding[9];
+  __s8 need_resv_pool;
+  __s8 padding[8];
 };
 enum {
   UBI_VOL_SKIP_CRC_CHECK_FLG = 0x1,
diff --git a/libc/kernel/uapi/rdma/hns-abi.h b/libc/kernel/uapi/rdma/hns-abi.h
index afe0f80..f9effb3 100644
--- a/libc/kernel/uapi/rdma/hns-abi.h
+++ b/libc/kernel/uapi/rdma/hns-abi.h
@@ -20,14 +20,22 @@
   __aligned_u64 cqn;
   __aligned_u64 cap_flags;
 };
+enum hns_roce_srq_cap_flags {
+  HNS_ROCE_SRQ_CAP_RECORD_DB = 1 << 0,
+};
+enum hns_roce_srq_cap_flags_resp {
+  HNS_ROCE_RSP_SRQ_CAP_RECORD_DB = 1 << 0,
+};
 struct hns_roce_ib_create_srq {
   __aligned_u64 buf_addr;
   __aligned_u64 db_addr;
   __aligned_u64 que_addr;
+  __u32 req_cap_flags;
+  __u32 reserved;
 };
 struct hns_roce_ib_create_srq_resp {
   __u32 srqn;
-  __u32 reserved;
+  __u32 cap_flags;
 };
 struct hns_roce_ib_create_qp {
   __aligned_u64 buf_addr;
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
index 2e4a79b..9feec8e 100644
--- a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
@@ -151,7 +151,8 @@
 struct ib_uverbs_query_port_resp_ex {
   struct ib_uverbs_query_port_resp legacy_resp;
   __u16 port_cap_flags2;
-  __u8 reserved[6];
+  __u8 reserved[2];
+  __u32 active_speed_ex;
 };
 struct ib_uverbs_qp_cap {
   __u32 max_send_wr;
diff --git a/libc/kernel/uapi/rdma/rdma_netlink.h b/libc/kernel/uapi/rdma/rdma_netlink.h
index b16118d..2fe8c30 100644
--- a/libc/kernel/uapi/rdma/rdma_netlink.h
+++ b/libc/kernel/uapi/rdma/rdma_netlink.h
@@ -198,6 +198,7 @@
   RDMA_NLDEV_CMD_RES_CTX_GET,
   RDMA_NLDEV_CMD_RES_SRQ_GET,
   RDMA_NLDEV_CMD_STAT_GET_STATUS,
+  RDMA_NLDEV_CMD_RES_SRQ_GET_RAW,
   RDMA_NLDEV_NUM_OPS
 };
 enum rdma_nldev_print_type {
@@ -302,6 +303,7 @@
   RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK,
   RDMA_NLDEV_ATTR_STAT_HWCOUNTER_INDEX,
   RDMA_NLDEV_ATTR_STAT_HWCOUNTER_DYNAMIC,
+  RDMA_NLDEV_SYS_ATTR_PRIVILEGED_QKEY_MODE,
   RDMA_NLDEV_ATTR_MAX
 };
 enum rdma_nl_counter_mode {
diff --git a/libc/kernel/uapi/sound/asequencer.h b/libc/kernel/uapi/sound/asequencer.h
index 6919149..7918528 100644
--- a/libc/kernel/uapi/sound/asequencer.h
+++ b/libc/kernel/uapi/sound/asequencer.h
@@ -117,7 +117,7 @@
 struct snd_seq_ev_ext {
   unsigned int len;
   void * ptr;
-} __attribute__((packed));
+} __attribute__((__packed__));
 struct snd_seq_result {
   int event;
   int result;
@@ -151,7 +151,7 @@
   struct snd_seq_addr origin;
   unsigned short value;
   struct snd_seq_event * event;
-} __attribute__((packed));
+} __attribute__((__packed__));
 union snd_seq_event_data {
   struct snd_seq_ev_note note;
   struct snd_seq_ev_ctrl control;
diff --git a/libc/kernel/uapi/xen/privcmd.h b/libc/kernel/uapi/xen/privcmd.h
index eef9f8d..0597247 100644
--- a/libc/kernel/uapi/xen/privcmd.h
+++ b/libc/kernel/uapi/xen/privcmd.h
@@ -57,13 +57,26 @@
 };
 #define PRIVCMD_IRQFD_FLAG_DEASSIGN (1 << 0)
 struct privcmd_irqfd {
-  void  * dm_op;
+  __u64 dm_op;
   __u32 size;
   __u32 fd;
   __u32 flags;
   domid_t dom;
   __u8 pad[2];
 };
+#define PRIVCMD_IOEVENTFD_FLAG_DEASSIGN (1 << 0)
+struct privcmd_ioeventfd {
+  __u64 ioreq;
+  __u64 ports;
+  __u64 addr;
+  __u32 addr_len;
+  __u32 event_fd;
+  __u32 vcpus;
+  __u32 vq;
+  __u32 flags;
+  domid_t dom;
+  __u8 pad[2];
+};
 #define IOCTL_PRIVCMD_HYPERCALL _IOC(_IOC_NONE, 'P', 0, sizeof(struct privcmd_hypercall))
 #define IOCTL_PRIVCMD_MMAP _IOC(_IOC_NONE, 'P', 2, sizeof(struct privcmd_mmap))
 #define IOCTL_PRIVCMD_MMAPBATCH _IOC(_IOC_NONE, 'P', 3, sizeof(struct privcmd_mmapbatch))
@@ -71,5 +84,6 @@
 #define IOCTL_PRIVCMD_DM_OP _IOC(_IOC_NONE, 'P', 5, sizeof(struct privcmd_dm_op))
 #define IOCTL_PRIVCMD_RESTRICT _IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
 #define IOCTL_PRIVCMD_MMAP_RESOURCE _IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource))
-#define IOCTL_PRIVCMD_IRQFD _IOC(_IOC_NONE, 'P', 8, sizeof(struct privcmd_irqfd))
+#define IOCTL_PRIVCMD_IRQFD _IOW('P', 8, struct privcmd_irqfd)
+#define IOCTL_PRIVCMD_IOEVENTFD _IOW('P', 9, struct privcmd_ioeventfd)
 #endif
