Merge branch 'akpm' (patches from Andrew)
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 29 Jun 2019 09:11:01 +0000 (17:11 +0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 29 Jun 2019 09:11:01 +0000 (17:11 +0800)
Merge misc fixes from Andrew Morton:
 "15 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
  linux/kernel.h: fix overflow for DIV_ROUND_UP_ULL
  mm, swap: fix THP swap out
  fork,memcg: alloc_thread_stack_node needs to set tsk->stack
  MAINTAINERS: add CLANG/LLVM BUILD SUPPORT info
  mm/vmalloc.c: avoid bogus -Wmaybe-uninitialized warning
  mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
  initramfs: fix populate_initrd_image() section mismatch
  mm/oom_kill.c: fix uninitialized oc->constraint
  mm: hugetlb: soft-offline: dissolve_free_huge_page() return zero on !PageHuge
  mm: soft-offline: return -EBUSY if set_hwpoison_free_buddy_page() fails
  signal: remove the wrong signal_pending() check in restore_user_sigmask()
  fs/binfmt_flat.c: make load_flat_shared_library() work
  mm/mempolicy.c: fix an incorrect rebind node in mpol_rebind_nodemask
  fs/proc/array.c: allow reporting eip/esp for all coredumping threads
  mm/dev_pfn: exclude MEMORY_DEVICE_PRIVATE while computing virtual address

1  2 
fs/io_uring.c

diff --combined fs/io_uring.c
index 485832deb7ea1602702bb0e063f1000b5f2c12ed,e6981d3f44683d374c8b24054fe476cf6fe5c4b3..4ef62a45045d3da7b5f4a255242584ed9cfb9655
@@@ -579,7 -579,6 +579,7 @@@ static struct io_kiocb *io_get_req(stru
                state->cur_req++;
        }
  
 +      req->file = NULL;
        req->ctx = ctx;
        req->flags = 0;
        /* one is dropped after submission, the other at completion */
@@@ -1802,8 -1801,10 +1802,8 @@@ static int io_req_set_file(struct io_ri
                req->sequence = ctx->cached_sq_head - 1;
        }
  
 -      if (!io_op_needs_file(s->sqe)) {
 -              req->file = NULL;
 +      if (!io_op_needs_file(s->sqe))
                return 0;
 -      }
  
        if (flags & IOSQE_FIXED_FILE) {
                if (unlikely(!ctx->user_files ||
@@@ -2200,11 -2201,12 +2200,12 @@@ static int io_cqring_wait(struct io_rin
        }
  
        ret = wait_event_interruptible(ctx->wait, io_cqring_events(ring) >= min_events);
-       if (ret == -ERESTARTSYS)
-               ret = -EINTR;
  
        if (sig)
-               restore_user_sigmask(sig, &sigsaved);
+               restore_user_sigmask(sig, &sigsaved, ret == -ERESTARTSYS);
+       if (ret == -ERESTARTSYS)
+               ret = -EINTR;
  
        return READ_ONCE(ring->r.head) == READ_ONCE(ring->r.tail) ? ret : 0;
  }