Patch "io_uring/futex: always remove futex entry for cancel all" has been added to the 6.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    io_uring/futex: always remove futex entry for cancel all

to the 6.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     io_uring-futex-always-remove-futex-entry-for-cancel-.patch
and it can be found in the queue-6.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit a4dbe0cc7c1b46dd53f46b2d99c5d7484a434c26
Author: Jens Axboe <axboe@xxxxxxxxx>
Date:   Fri Mar 15 15:37:15 2024 -0600

    io_uring/futex: always remove futex entry for cancel all
    
    [ Upstream commit 30dab608c3cb99c2a05b76289fd05551703979ae ]
    
    We know the request is either being removed, or already in the process of
    being removed through task_work, so we can delete it from our futex list
    upfront. This is important for remove all conditions, as we otherwise
    will find it multiple times and prevent cancelation progress.
    
    Cc: stable@xxxxxxxxxxxxxxx
    Fixes: 194bb58c6090 ("io_uring: add support for futex wake and wait")
    Fixes: 8f350194d5cf ("io_uring: add support for vectored futex waits")
    Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/io_uring/futex.c b/io_uring/futex.c
index 3c3575303c3d0..792a03df58dea 100644
--- a/io_uring/futex.c
+++ b/io_uring/futex.c
@@ -159,6 +159,7 @@ bool io_futex_remove_all(struct io_ring_ctx *ctx, struct task_struct *task,
 	hlist_for_each_entry_safe(req, tmp, &ctx->futex_list, hash_node) {
 		if (!io_match_task_safe(req, task, cancel_all))
 			continue;
+		hlist_del_init(&req->hash_node);
 		__io_futex_cancel(ctx, req);
 		found = true;
 	}




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux