Merge tag 'for-5.6/io_uring-vfs-2020-01-29' of git://git.kernel.dk/linux-block
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 30 Jan 2020 02:53:37 +0000 (18:53 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 30 Jan 2020 02:53:37 +0000 (18:53 -0800)
Pull io_uring updates from Jens Axboe:

 - Support for various new opcodes (fallocate, openat, close, statx,
   fadvise, madvise, openat2, non-vectored read/write, send/recv, and
   epoll_ctl)

 - Faster ring quiesce for fileset updates

 - Optimizations for overflow condition checking

 - Support for max-sized clamping

 - Support for probing what opcodes are supported

 - Support for io-wq backend sharing between "sibling" rings

 - Support for registering personalities

 - Lots of little fixes and improvements

* tag 'for-5.6/io_uring-vfs-2020-01-29' of git://git.kernel.dk/linux-block: (64 commits)
  io_uring: add support for epoll_ctl(2)
  eventpoll: support non-blocking do_epoll_ctl() calls
  eventpoll: abstract out epoll_ctl() handler
  io_uring: fix linked command file table usage
  io_uring: support using a registered personality for commands
  io_uring: allow registering credentials
  io_uring: add io-wq workqueue sharing
  io-wq: allow grabbing existing io-wq
  io_uring/io-wq: don't use static creds/mm assignments
  io-wq: make the io_wq ref counted
  io_uring: fix refcounting with batched allocations at OOM
  io_uring: add comment for drain_next
  io_uring: don't attempt to copy iovec for READ/WRITE
  io_uring: honor IOSQE_ASYNC for linked reqs
  io_uring: prep req when do IOSQE_ASYNC
  io_uring: use labeled array init in io_op_defs
  io_uring: optimise sqe-to-req flags translation
  io_uring: remove REQ_F_IO_DRAINED
  io_uring: file switch work needs to get flushed on exit
  io_uring: hide uring_fd in ctx
  ...

1  2 
drivers/android/binder.c
fs/internal.h
fs/io_uring.c
include/linux/mm.h

Simple merge
diff --cc fs/internal.h
@@@ -180,5 -182,17 +182,11 @@@ extern void mnt_pin_kill(struct mount *
   */
  extern const struct dentry_operations ns_dentry_operations;
  
 -/*
 - * fs/ioctl.c
 - */
 -extern int do_vfs_ioctl(struct file *file, unsigned int fd, unsigned int cmd,
 -                  unsigned long arg);
 -
  /* direct-io.c: */
  int sb_init_dio_done_wq(struct super_block *sb);
+ /*
+  * fs/stat.c:
+  */
+ unsigned vfs_stat_set_lookup_flags(unsigned *lookup_flags, int flags);
+ int cp_statx(const struct kstat *stat, struct statx __user *buffer);
diff --cc fs/io_uring.c
@@@ -5157,7 -6476,12 +6472,6 @@@ SYSCALL_DEFINE6(io_uring_enter, unsigne
        } else if (to_submit) {
                struct mm_struct *cur_mm;
  
-               to_submit = min(to_submit, ctx->sq_entries);
 -              if (current->mm != ctx->sqo_mm ||
 -                  current_cred() != ctx->creds) {
 -                      ret = -EPERM;
 -                      goto out;
 -              }
 -
                mutex_lock(&ctx->uring_lock);
                /* already have mm, so io_submit_sqes() won't try to grab it */
                cur_mm = ctx->sqo_mm;
Simple merge