In the Linux kernel, the following vulnerability has been resolved:
iouring/net: fix ioreqpostcqe abuse by send bundle
[ 114.987980][ T5313] WARNING: CPU: 6 PID: 5313 at iouring/iouring.c:872 ioreqpostcqe+0x12e/0x4f0 [ 114.991597][ T5313] RIP: 0010:ioreqpostcqe+0x12e/0x4f0 [ 115.001880][ T5313] Call Trace: [ 115.002222][ T5313] <TASK> [ 115.007813][ T5313] iosend+0x4fe/0x10f0 [ 115.009317][ T5313] ioissuesqe+0x1a6/0x1740 [ 115.012094][ T5313] iowqsubmitwork+0x38b/0xed0 [ 115.013223][ T5313] ioworkerhandlework+0x62a/0x1600 [ 115.013876][ T5313] iowq_worker+0x34f/0xdf0
As the comment states, ioreqpostcqe() should only be used by multishot requests, i.e. REQFAPOLLMULTISHOT, which bundled sends are not. Add a flag signifying whether a request wants to post multiple CQEs. Eventually REQFAPOLL_MULTISHOT should imply the new flag, but that's left out for simplicity.