Re: [PATCH 5.15 122/123] io_uring: move to separate directory

Harshit Mogalapalli
2022-12-12T13:47:20Z

On 12/12/22 6:48 pm, Greg Kroah-Hartman wrote:
> From: Jens Axboe <axboe@kernel.dk>
>
> [ Upstream commit ed29b0b4fd835b058ddd151c49d021e28d631ee6 ]
>
> In preparation for splitting io_uring up a bit, move it into its own
> top level directory. It didn't really belong in fs/ anyway, as it's
> not a file system only API.
>
> This adds io_uring/ and moves the core files in there, and updates the
> MAINTAINERS file for the new location.
>
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> Stable-dep-of: 998b30c3948e ("io_uring: Fix a null-ptr-deref in io_tctx_exit_cb()")

Hi,

Just wanted to add a note: This change moved io_uring code to a
different folder, this change is brought in to backport 998b30c3948e
("io_uring: Fix a null-ptr-deref in io_tctx_exit_cb()") for which we
have a backport provided by Jens here:
https://lore.kernel.org/all/24918edb-e6eb-a093-51cf-519c7ece88a3@kernel.dk/

I am not sure which is the preferred way, but just want to inform about
this.

Thanks,
Harshit

> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
> MAINTAINERS | 7 +------
> Makefile | 1 +
> fs/Makefile | 2 --
> io_uring/Makefile | 6 ++++++
> {fs => io_uring}/io-wq.c | 0
> {fs => io_uring}/io-wq.h | 0
> {fs => io_uring}/io_uring.c | 2 +-
> kernel/sched/core.c | 2 +-
> 8 files changed, 10 insertions(+), 10 deletions(-)
> create mode 100644 io_uring/Makefile
> rename {fs => io_uring}/io-wq.c (100%)
> rename {fs => io_uring}/io-wq.h (100%)
> rename {fs => io_uring}/io_uring.c (99%)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index edc32575828b..1cf05aee91af 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -7244,9 +7244,6 @@ F: include/linux/fs.h
> F: include/linux/fs_types.h
> F: include/uapi/linux/fs.h
> F: include/uapi/linux/openat2.h
> -X: fs/io-wq.c
> -X: fs/io-wq.h
> -X: fs/io_uring.c
>
> FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
> M: Riku Voipio <riku.voipio@iki.fi>
> @@ -9818,9 +9815,7 @@ L: io-uring@vger.kernel.org
> S: Maintained
> T: git git://git.kernel.dk/linux-block
> T: git git://git.kernel.dk/liburing
> -F: fs/io-wq.c
> -F: fs/io-wq.h
> -F: fs/io_uring.c
> +F: io_uring/
> F: include/linux/io_uring.h
> F: include/uapi/linux/io_uring.h
> F: tools/io_uring/
> diff --git a/Makefile b/Makefile
> index 0acea54c2ffd..e6570933dcfa 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1152,6 +1152,7 @@ export MODULES_NSDEPS := $(extmod_prefix)modules.nsdeps
> ifeq ($(KBUILD_EXTMOD),)
> core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/
> core-$(CONFIG_BLOCK) += block/
> +core-$(CONFIG_IO_URING) += io_uring/
>
> vmlinux-dirs := $(patsubst %/,%,$(filter %/, \
> $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
> diff --git a/fs/Makefile b/fs/Makefile
> index 84c5e4cdfee5..d504be65a210 100644
> --- a/fs/Makefile
> +++ b/fs/Makefile
> @@ -32,8 +32,6 @@ obj-$(CONFIG_TIMERFD) += timerfd.o
> obj-$(CONFIG_EVENTFD) += eventfd.o
> obj-$(CONFIG_USERFAULTFD) += userfaultfd.o
> obj-$(CONFIG_AIO) += aio.o
> -obj-$(CONFIG_IO_URING) += io_uring.o
> -obj-$(CONFIG_IO_WQ) += io-wq.o
> obj-$(CONFIG_FS_DAX) += dax.o
> obj-$(CONFIG_FS_ENCRYPTION) += crypto/
> obj-$(CONFIG_FS_VERITY) += verity/
> diff --git a/io_uring/Makefile b/io_uring/Makefile
> new file mode 100644
> index 000000000000..3680425df947
> --- /dev/null
> +++ b/io_uring/Makefile
> @@ -0,0 +1,6 @@
> +# SPDX-License-Identifier: GPL-2.0
> +#
> +# Makefile for io_uring
> +
> +obj-$(CONFIG_IO_URING) += io_uring.o
> +obj-$(CONFIG_IO_WQ) += io-wq.o
> diff --git a/fs/io-wq.c b/io_uring/io-wq.c
> similarity index 100%
> rename from fs/io-wq.c
> rename to io_uring/io-wq.c
> diff --git a/fs/io-wq.h b/io_uring/io-wq.h
> similarity index 100%
> rename from fs/io-wq.h
> rename to io_uring/io-wq.h
> diff --git a/fs/io_uring.c b/io_uring/io_uring.c
> similarity index 99%
> rename from fs/io_uring.c
> rename to io_uring/io_uring.c
> index c2fdde6fdda3..1279b5c5c959 100644
> --- a/fs/io_uring.c
> +++ b/io_uring/io_uring.c
> @@ -85,7 +85,7 @@
>
> #include <uapi/linux/io_uring.h>
>
> -#include "internal.h"
> +#include "../fs/internal.h"
> #include "io-wq.h"
>
> #define IORING_MAX_ENTRIES 32768
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 85be684687b0..bb684fe1b96e 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -21,7 +21,7 @@
> #include <asm/tlb.h>
>
> #include "../workqueue_internal.h"
> -#include "../../fs/io-wq.h"
> +#include "../../io_uring/io-wq.h"
> #include "../smpboot.h"
>
> #include "pelt.h"