Blob Blame History Raw
From c5020bc8d9295ad4a3e09d858a28b26a25d4afab Mon Sep 17 00:00:00 2001
From: Olivier Langlois <olivier@trillion01.com>
Date: Wed, 16 Feb 2022 14:53:42 -0500
Subject: [PATCH] io_uring: Remove unneeded test in io_run_task_work_sig()
Git-commit: c5020bc8d9295ad4a3e09d858a28b26a25d4afab
Patch-mainline: v5.18-rc1
References: bsc#1205205

Avoid testing TIF_NOTIFY_SIGNAL twice by calling task_sigpending()
directly from io_run_task_work_sig()

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Link: https://lore.kernel.org/r/bd7c0495f7656e803e5736708591bb665e6eaacd.1645041650.git.olivier@trillion01.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Gabriel Krisman Bertazi <krisman@suse.de>
---
 fs/io_uring.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 5ec24b0438f1..8d3454a243b4 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -7704,11 +7704,11 @@ static int io_run_task_work_sig(void)
 {
 	if (io_run_task_work())
 		return 1;
-	if (!signal_pending(current))
-		return 0;
 	if (test_thread_flag(TIF_NOTIFY_SIGNAL))
 		return -ERESTARTSYS;
-	return -EINTR;
+	if (task_sigpending(current))
+		return -EINTR;
+	return 0;
 }
 
 /* when returns >0, the caller should retry */
-- 
2.35.3