Jeff Moyer d96b55cd99 io_uring/net: fix io_req_post_cqe abuse by send bundle
JIRA: https://issues.redhat.com/browse/RHEL-105612

commit 6889ae1b4df1579bcdffef023e2ea9a982565dff
Author: Pavel Begunkov <asml.silence@gmail.com>
Date:   Thu Mar 27 09:57:27 2025 +0000

    io_uring/net: fix io_req_post_cqe abuse by send bundle
    
    [  114.987980][ T5313] WARNING: CPU: 6 PID: 5313 at io_uring/io_uring.c:872 io_req_post_cqe+0x12e/0x4f0
    [  114.991597][ T5313] RIP: 0010:io_req_post_cqe+0x12e/0x4f0
    [  115.001880][ T5313] Call Trace:
    [  115.002222][ T5313]  <TASK>
    [  115.007813][ T5313]  io_send+0x4fe/0x10f0
    [  115.009317][ T5313]  io_issue_sqe+0x1a6/0x1740
    [  115.012094][ T5313]  io_wq_submit_work+0x38b/0xed0
    [  115.013223][ T5313]  io_worker_handle_work+0x62a/0x1600
    [  115.013876][ T5313]  io_wq_worker+0x34f/0xdf0
    
    As the comment states, io_req_post_cqe() should only be used by
    multishot requests, i.e. REQ_F_APOLL_MULTISHOT, which bundled sends are
    not. Add a flag signifying whether a request wants to post multiple
    CQEs. Eventually REQ_F_APOLL_MULTISHOT should imply the new flag, but
    that's left out for simplicity.
    
    Cc: stable@vger.kernel.org
    Fixes: a05d1f625c7aa ("io_uring/net: support bundles for send")
    Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
    Link: https://lore.kernel.org/r/8b611dbb54d1cd47a88681f5d38c84d0c02bc563.1743067183.git.asml.silence@gmail.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
2025-10-27 13:18:46 -04:00
2025-10-03 14:30:15 -04:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
S
Description
No description provided
Readme
2.8 GiB
Languages
C 97.6%
Assembly 1%
Shell 0.5%
Python 0.3%
Makefile 0.3%
Other 0.1%