Thread (28 messages) 28 messages, 4 authors, 2022-09-16

Re: [PATCH 3/3] /dev/null: add IORING_OP_URING_CMD support

From: Paul Moore <paul@paul-moore.com>
Date: 2022-08-22 23:38:06
Also in: io-uring, selinux

On Mon, Aug 22, 2022 at 7:25 PM Jens Axboe [off-list ref] wrote:
On 8/22/22 5:19 PM, Paul Moore wrote:
quoted
On Mon, Aug 22, 2022 at 7:13 PM Jens Axboe [off-list ref] wrote:
quoted
On 8/22/22 5:09 PM, Paul Moore wrote:
quoted
On Mon, Aug 22, 2022 at 6:36 PM Jens Axboe [off-list ref] wrote:
quoted
On 8/22/22 3:21 PM, Paul Moore wrote:
quoted
This patch adds support for the io_uring command pass through, aka
IORING_OP_URING_CMD, to the /dev/null driver.  As with all of the
/dev/null functionality, the implementation is just a simple sink
where commands go to die, but it should be useful for developers who
need a simple IORING_OP_URING_CMD test device that doesn't require
any special hardware.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paul Moore <paul@paul-moore.com>
---
 drivers/char/mem.c |    6 ++++++
 1 file changed, 6 insertions(+)
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 84ca98ed1dad..32a932a065a6 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -480,6 +480,11 @@ static ssize_t splice_write_null(struct pipe_inode_info *pipe, struct file *out,
      return splice_from_pipe(pipe, out, ppos, len, flags, pipe_to_null);
 }

+static int uring_cmd_null(struct io_uring_cmd *ioucmd, unsigned int issue_flags)
+{
+     return 0;
+}
This would be better as:

        return IOU_OK;

using the proper return values for the uring_cmd hook.
The only problem I see with that is that IOU_OK is defined under
io_uring/io_uring.h and not include/linux/io_uring.h so the #include
macro is kinda ugly:

  #include "../../io_uring/io_uring.h"

I'm not sure I want to submit that upstream looking like that.  Are
you okay with leaving the return code as 0 for now and changing it at
a later date?  I'm trying to keep this patchset relatively small since
we are in the -rcX stage, but if you're okay with a simple cut-n-paste
of the enum to linux/io_uring.h I can do that.
Ugh yes, that should move into the general domain. Yeah I'm fine with it
as it is, we can fix that up (and them nvme as well) at a later point.
Okay, sounds good, I'll leave it as-is.  Is it okay to still add your ACK?
Yep, all things considered, for 6.0 I think that's the way to go.
Great, thanks.

-- 
paul-moore.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help