Test "test_udp_recvmsg_multishot_trunc" fails
Running io-uring-test on 1f30c22 (current main) results in this panic:
$ RUST_BACKTRACE=1 cargo run --release -p io-uring-test
thread 'main' panicked at io-uring-test/src/tests/net.rs:1802:39:
called `Result::unwrap()` on an `Err` value: ()
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::result::unwrap_failed
3: io_uring_test::tests::net::test_udp_recvmsg_multishot_trunc
4: io_uring_test::main
This looks like a bug in the test. Before the test_udp_recvmsg_multishot_trunc test runs, the test_recvmsg_multishot test runs, and the code here is registering three buffers (contradicting the comment saying it's registering two), and sending two messages. It appears this means that this test leaves behind a multishot recv that's still waiting for a third message. So when test_udp_recvmsg_multishot_trunc runs, it sends a message, and that message gets received by the stale multishot recv, which writes the data to a buffer which ceased to exist when test_recvmsg_multishot returned, so it corrupts random things on the stack.