Skip to content

Commit 8c9a6f5

Browse files
isilenceaxboe
authored andcommitted
io_uring: separate header for exported net bits
We're exporting some io_uring bits to networking, e.g. for implementing a net callback for io_uring cmds, but we don't want to expose more than needed. Add a separate header for networking. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: David Wei <dw@davidwei.uk> Link: https://lore.kernel.org/r/20240409210554.1878789-1-dw@davidwei.uk Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent d285da7 commit 8c9a6f5

4 files changed

Lines changed: 20 additions & 7 deletions

File tree

include/linux/io_uring.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ void __io_uring_cancel(bool cancel_all);
1111
void __io_uring_free(struct task_struct *tsk);
1212
void io_uring_unreg_ringfd(void);
1313
const char *io_uring_get_opcode(u8 opcode);
14-
int io_uring_cmd_sock(struct io_uring_cmd *cmd, unsigned int issue_flags);
1514
bool io_is_uring_fops(struct file *file);
1615

1716
static inline void io_uring_files_cancel(void)
@@ -45,11 +44,6 @@ static inline const char *io_uring_get_opcode(u8 opcode)
4544
{
4645
return "";
4746
}
48-
static inline int io_uring_cmd_sock(struct io_uring_cmd *cmd,
49-
unsigned int issue_flags)
50-
{
51-
return -EOPNOTSUPP;
52-
}
5347
static inline bool io_is_uring_fops(struct file *file)
5448
{
5549
return false;

include/linux/io_uring/net.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/* SPDX-License-Identifier: GPL-2.0-or-later */
2+
#ifndef _LINUX_IO_URING_NET_H
3+
#define _LINUX_IO_URING_NET_H
4+
5+
struct io_uring_cmd;
6+
7+
#if defined(CONFIG_IO_URING)
8+
int io_uring_cmd_sock(struct io_uring_cmd *cmd, unsigned int issue_flags);
9+
10+
#else
11+
static inline int io_uring_cmd_sock(struct io_uring_cmd *cmd,
12+
unsigned int issue_flags)
13+
{
14+
return -EOPNOTSUPP;
15+
}
16+
#endif
17+
18+
#endif

io_uring/uring_cmd.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <linux/errno.h>
44
#include <linux/file.h>
55
#include <linux/io_uring/cmd.h>
6+
#include <linux/io_uring/net.h>
67
#include <linux/security.h>
78
#include <linux/nospec.h>
89
#include <net/sock.h>

net/socket.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
#include <linux/xattr.h>
8989
#include <linux/nospec.h>
9090
#include <linux/indirect_call_wrapper.h>
91-
#include <linux/io_uring.h>
91+
#include <linux/io_uring/net.h>
9292

9393
#include <linux/uaccess.h>
9494
#include <asm/unistd.h>

0 commit comments

Comments
 (0)