The first patch just refractors the do_msg function so that its different parts can be used in io_uring. The last 2 patches add the support for the async msgsnd/msgrcv. For msgsnd the pointer to the loaded msgbuf is saved in io_setup_async_msg_msg for the case when the call is punted to async context. For msgrcv, the pointer to user-defined buffer is already stored in the prep function. The correspoding prep helpers and a simple testcase for these in liburing are present at https://github.com/uarif1/liburing/commit/17f6685ca398265b54a07ce4246ee344b5390aad. These patches are currently missing compat support. If the patches and approach look acceptable to start review, I can send the next series with compat support included and also add the man pages in the above liburing patch. Thanks! Usama Arif (3): ipc/msg: split do_msgsnd into functions io_uring: add support for IORING_OP_MSGSND io_uring: add support for IORING_OP_MSGRCV fs/io_uring.c | 152 ++++++++++++++++++++++++++++++++++ include/linux/msg.h | 11 +++ include/uapi/linux/io_uring.h | 2 + ipc/msg.c | 52 +++++++++--- 4 files changed, 205 insertions(+), 12 deletions(-) -- 2.25.1