[IORING_OP_LINKAT] = {},
        [IORING_OP_MSG_RING] = {
                .needs_file             = 1,
 +              .iopoll                 = 1,
        },
+       [IORING_OP_FSETXATTR] = {
+               .needs_file = 1
+       },
+       [IORING_OP_SETXATTR] = {},
+       [IORING_OP_FGETXATTR] = {
+               .needs_file = 1
+       },
+       [IORING_OP_GETXATTR] = {},
+       [IORING_OP_SOCKET] = {
+               .audit_skip             = 1,
+       },
  };
  
  /* requests with any of those set should undergo io_disarm_next() */
 
  #define IORING_SETUP_ATTACH_WQ        (1U << 5)       /* attach to existing wq */
  #define IORING_SETUP_R_DISABLED       (1U << 6)       /* start with ring disabled */
  #define IORING_SETUP_SUBMIT_ALL       (1U << 7)       /* continue submit on error */
 +/*
 + * Cooperative task running. When requests complete, they often require
 + * forcing the submitter to transition to the kernel to complete. If this
 + * flag is set, work will be done when the task transitions anyway, rather
 + * than force an inter-processor interrupt reschedule. This avoids interrupting
 + * a task running in userspace, and saves an IPI.
 + */
 +#define IORING_SETUP_COOP_TASKRUN     (1U << 8)
 +/*
 + * If COOP_TASKRUN is set, get notified if task work is available for
 + * running and a kernel transition would be needed to run it. This sets
 + * IORING_SQ_TASKRUN in the sq ring flags. Not valid with COOP_TASKRUN.
 + */
 +#define IORING_SETUP_TASKRUN_FLAG     (1U << 9)
  
- enum {
+ enum io_uring_op {
        IORING_OP_NOP,
        IORING_OP_READV,
        IORING_OP_WRITEV,