FAILED: patch "[PATCH] io_uring: fix missing sigmask restore in io_cqring_wait()" failed to apply to 5.14-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 44df58d441a94de40d52fca67dc60790daee4266 Mon Sep 17 00:00:00 2001
From: Xiaoguang Wang <[email protected]>
Date: Tue, 14 Sep 2021 22:38:52 +0800
Subject: [PATCH] io_uring: fix missing sigmask restore in io_cqring_wait()
Move get_timespec() section in io_cqring_wait() before the sigmask saving, otherwise we'll fail to restore sigmask once get_timespec() returns error.
Fixes c73ebb685fb6 ("io_uring: add timeout support for io_uring_enter()")
Signed-off-by Xiaoguang Wang <[email protected]>
Signed-off-by Jens Axboe <[email protected]>
fs/io_uring.c +8 -8
@@ -7518,6 +7518,14 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events,break ; }while (1 ); +if (uts) { +struct timespec64 ts; + +if (get_timespec64 (&ts, uts)) +return -EFAULT ; + timeout =timespec64_to_jiffies (&ts); + } +if (sig) {#ifdef CONFIG_COMPAT if (in_compat_syscall ())
@@ -7531,14 +7539,6 @@ static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events,return ret; } -if (uts) { -struct timespec64 ts; - -if (get_timespec64 (&ts, uts)) -return -EFAULT ; - timeout =timespec64_to_jiffies (&ts); - } -init_waitqueue_func_entry (&iowq.wq, io_wake_function); iowq.wq.private = current;INIT_LIST_HEAD (&iowq.wq.entry);