Update to v6.12 kernel headers.

Kernel headers coming from:

Git: https://android.googlesource.com/kernel/common/
Branch: android-mainline
Tag: android-mainline-6.12

Comment out the TAG usage of the __struct_group macro in linux/pkt_cls.h.
The kernel upstream is either going to revert this usage of __struct_group
or fix this in another way. When set, it creates a named struct in an
anonyous union, which is not allowed in C++.

Test: Builds and bionic unit tests pass on raven.
Change-Id: Ibb49550dfdc86fa0fc888b51d893959b6d433c59
diff --git a/libc/kernel/uapi/rdma/bnxt_re-abi.h b/libc/kernel/uapi/rdma/bnxt_re-abi.h
index 50f8b8a..38bfb1b 100644
--- a/libc/kernel/uapi/rdma/bnxt_re-abi.h
+++ b/libc/kernel/uapi/rdma/bnxt_re-abi.h
@@ -27,6 +27,7 @@
 };
 enum {
   BNXT_RE_COMP_MASK_REQ_UCNTX_POW2_SUPPORT = 0x01,
+  BNXT_RE_COMP_MASK_REQ_UCNTX_VAR_WQE_SUPPORT = 0x02,
 };
 struct bnxt_re_uctx_req {
   __aligned_u64 comp_mask;
@@ -66,10 +67,15 @@
 struct bnxt_re_resize_cq_req {
   __aligned_u64 cq_va;
 };
+enum bnxt_re_qp_mask {
+  BNXT_RE_QP_REQ_MASK_VAR_WQE_SQ_SLOTS = 0x1,
+};
 struct bnxt_re_qp_req {
   __aligned_u64 qpsva;
   __aligned_u64 qprva;
   __aligned_u64 qp_handle;
+  __aligned_u64 comp_mask;
+  __u32 sq_slots;
 };
 struct bnxt_re_qp_resp {
   __u32 qpid;
@@ -79,8 +85,13 @@
   __aligned_u64 srqva;
   __aligned_u64 srq_handle;
 };
+enum bnxt_re_srq_mask {
+  BNXT_RE_SRQ_TOGGLE_PAGE_SUPPORT = 0x1,
+};
 struct bnxt_re_srq_resp {
   __u32 srqid;
+  __u32 rsvd;
+  __aligned_u64 comp_mask;
 };
 enum bnxt_re_shpg_offt {
   BNXT_RE_BEG_RESV_OFFT = 0x00,
diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
index ebafb00..2e61c71 100644
--- a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
@@ -204,6 +204,9 @@
 enum mlx5_ib_create_cq_attrs {
   MLX5_IB_ATTR_CREATE_CQ_UAR_INDEX = UVERBS_ID_DRIVER_NS_WITH_UHW,
 };
+enum mlx5_ib_reg_dmabuf_mr_attrs {
+  MLX5_IB_ATTR_REG_DMABUF_MR_ACCESS_FLAGS = (1U << UVERBS_ID_NS_SHIFT),
+};
 #define MLX5_IB_DW_MATCH_PARAM 0xA0
 struct mlx5_ib_match_params {
   __u32 match_params[MLX5_IB_DW_MATCH_PARAM];
@@ -261,9 +264,13 @@
 };
 enum mlx5_ib_device_methods {
   MLX5_IB_METHOD_QUERY_PORT = (1U << UVERBS_ID_NS_SHIFT),
+  MLX5_IB_METHOD_GET_DATA_DIRECT_SYSFS_PATH,
 };
 enum mlx5_ib_query_port_attrs {
   MLX5_IB_ATTR_QUERY_PORT_PORT_NUM = (1U << UVERBS_ID_NS_SHIFT),
   MLX5_IB_ATTR_QUERY_PORT,
 };
+enum mlx5_ib_get_data_direct_sysfs_path_attrs {
+  MLX5_IB_ATTR_GET_DATA_DIRECT_SYSFS_PATH = (1U << UVERBS_ID_NS_SHIFT),
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h
index f087ee8..3fe3c82 100644
--- a/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h
+++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h
@@ -23,6 +23,9 @@
   MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L3_TUNNEL_TO_L2 = 0x2,
   MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3,
 };
+enum mlx5_ib_uapi_reg_dmabuf_flags {
+  MLX5_IB_UAPI_REG_DMABUF_ACCESS_DATA_DIRECT = 1 << 0,
+};
 struct mlx5_ib_uapi_devx_async_cmd_hdr {
   __aligned_u64 wr_id;
   __u8 out_data[];
diff --git a/libc/kernel/uapi/rdma/rdma_netlink.h b/libc/kernel/uapi/rdma/rdma_netlink.h
index ac027ac..137b68f 100644
--- a/libc/kernel/uapi/rdma/rdma_netlink.h
+++ b/libc/kernel/uapi/rdma/rdma_netlink.h
@@ -17,6 +17,7 @@
 enum {
   RDMA_NL_GROUP_IWPM = 2,
   RDMA_NL_GROUP_LS,
+  RDMA_NL_GROUP_NOTIFY,
   RDMA_NL_NUM_GROUPS
 };
 #define RDMA_NL_GET_CLIENT(type) ((type & (((1 << 6) - 1) << 10)) >> 10)
@@ -201,6 +202,7 @@
   RDMA_NLDEV_CMD_RES_SRQ_GET_RAW,
   RDMA_NLDEV_CMD_NEWDEV,
   RDMA_NLDEV_CMD_DELDEV,
+  RDMA_NLDEV_CMD_MONITOR,
   RDMA_NLDEV_NUM_OPS
 };
 enum rdma_nldev_print_type {
@@ -311,6 +313,8 @@
   RDMA_NLDEV_ATTR_DEV_TYPE,
   RDMA_NLDEV_ATTR_PARENT_NAME,
   RDMA_NLDEV_ATTR_NAME_ASSIGN_TYPE,
+  RDMA_NLDEV_ATTR_EVENT_TYPE,
+  RDMA_NLDEV_SYS_ATTR_MONITOR_MODE,
   RDMA_NLDEV_ATTR_MAX
 };
 enum rdma_nl_counter_mode {
@@ -330,4 +334,10 @@
   RDMA_NAME_ASSIGN_TYPE_UNKNOWN = 0,
   RDMA_NAME_ASSIGN_TYPE_USER = 1,
 };
+enum rdma_nl_notify_event_type {
+  RDMA_REGISTER_EVENT,
+  RDMA_UNREGISTER_EVENT,
+  RDMA_NETDEV_ATTACH_EVENT,
+  RDMA_NETDEV_DETACH_EVENT,
+};
 #endif