fs: fix sysctls.c built

Message ID 20230331084502.155284-1-wangkefeng.wang@huawei.com
State New
Headers
Series fs: fix sysctls.c built |

Commit Message

Kefeng Wang March 31, 2023, 8:45 a.m. UTC
  'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
or it won't be built as it is overwrited.

Fixes: ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
 fs/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
  

Comments

Kefeng Wang April 11, 2023, 4:14 a.m. UTC | #1
/proc/sys/fs/overflowuid and overflowgid  will be lost without
building this file, kindly ping, any comments, thanks.


On 2023/3/31 16:45, Kefeng Wang wrote:
> 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
> or it won't be built as it is overwrited.
> 
> Fixes: ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> ---
>   fs/Makefile | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/fs/Makefile b/fs/Makefile
> index 05f89b5c962f..8d4736fcc766 100644
> --- a/fs/Makefile
> +++ b/fs/Makefile
> @@ -6,7 +6,6 @@
>   # Rewritten to use lists instead of if-statements.
>   #
>   
> -obj-$(CONFIG_SYSCTL)		+= sysctls.o
>   
>   obj-y :=	open.o read_write.o file_table.o super.o \
>   		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
> @@ -50,7 +49,7 @@ obj-$(CONFIG_FS_MBCACHE)	+= mbcache.o
>   obj-$(CONFIG_FS_POSIX_ACL)	+= posix_acl.o
>   obj-$(CONFIG_NFS_COMMON)	+= nfs_common/
>   obj-$(CONFIG_COREDUMP)		+= coredump.o
> -obj-$(CONFIG_SYSCTL)		+= drop_caches.o
> +obj-$(CONFIG_SYSCTL)		+= drop_caches.o sysctls.o
>   
>   obj-$(CONFIG_FHANDLE)		+= fhandle.o
>   obj-y				+= iomap/
  
Christian Brauner April 12, 2023, 9:19 a.m. UTC | #2
On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
> /proc/sys/fs/overflowuid and overflowgid  will be lost without
> building this file, kindly ping, any comments, thanks.
> 
> 
> On 2023/3/31 16:45, Kefeng Wang wrote:
> > 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
> > or it won't be built as it is overwrited.
> > 
> > Fixes: ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> > ---
> >   fs/Makefile | 3 +--
> >   1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/fs/Makefile b/fs/Makefile
> > index 05f89b5c962f..8d4736fcc766 100644
> > --- a/fs/Makefile
> > +++ b/fs/Makefile
> > @@ -6,7 +6,6 @@
> >   # Rewritten to use lists instead of if-statements.
> >   #
> > -obj-$(CONFIG_SYSCTL)		+= sysctls.o
> >   obj-y :=	open.o read_write.o file_table.o super.o \
> >   		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
> > @@ -50,7 +49,7 @@ obj-$(CONFIG_FS_MBCACHE)	+= mbcache.o
> >   obj-$(CONFIG_FS_POSIX_ACL)	+= posix_acl.o
> >   obj-$(CONFIG_NFS_COMMON)	+= nfs_common/
> >   obj-$(CONFIG_COREDUMP)		+= coredump.o
> > -obj-$(CONFIG_SYSCTL)		+= drop_caches.o
> > +obj-$(CONFIG_SYSCTL)		+= drop_caches.o sysctls.o
> >   obj-$(CONFIG_FHANDLE)		+= fhandle.o
> >   obj-y				+= iomap/

Given the description in
ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
you probably want to move this earlier.
  
Kefeng Wang April 13, 2023, 1:34 a.m. UTC | #3
On 2023/4/12 17:19, Christian Brauner wrote:
> On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
>> /proc/sys/fs/overflowuid and overflowgid  will be lost without
>> building this file, kindly ping, any comments, thanks.
>>
>>
>> On 2023/3/31 16:45, Kefeng Wang wrote:
>>> 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
>>> or it won't be built as it is overwrited.

...

> Given the description in
> ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> you probably want to move this earlier.

Oh, missing that part, but the /proc/sys/fs/overflowuid and overflowgid 
are lost after it, is it expected? Luis, could you take a look? thanks.

>
  
Christian Brauner April 13, 2023, 8:35 a.m. UTC | #4
On Thu, Apr 13, 2023 at 09:34:54AM +0800, Kefeng Wang wrote:
> 
> 
> On 2023/4/12 17:19, Christian Brauner wrote:
> > On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
> > > /proc/sys/fs/overflowuid and overflowgid  will be lost without
> > > building this file, kindly ping, any comments, thanks.
> > > 
> > > 
> > > On 2023/3/31 16:45, Kefeng Wang wrote:
> > > > 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
> > > > or it won't be built as it is overwrited.
> 
> ...
> 
> > Given the description in
> > ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> > you probably want to move this earlier.
> 
> Oh, missing that part, but the /proc/sys/fs/overflowuid and overflowgid are
> lost after it, is it expected? Luis, could you take a look? thanks.

No, /proc/sys/fs/overflow{g,u}id need to be there of course. What I mean
is something like the following (similar to how net/core/ does it):

UNTESTED
---
 fs/Makefile | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/fs/Makefile b/fs/Makefile
index 05f89b5c962f..dfaea8a28d92 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -6,17 +6,19 @@
 # Rewritten to use lists instead of if-statements.
 #

-obj-$(CONFIG_SYSCTL)           += sysctls.o
-
-obj-y :=       open.o read_write.o file_table.o super.o \
-               char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
-               ioctl.o readdir.o select.o dcache.o inode.o \
-               attr.o bad_inode.o file.o filesystems.o namespace.o \
-               seq_file.o xattr.o libfs.o fs-writeback.o \
-               pnode.o splice.o sync.o utimes.o d_path.o \
-               stack.o fs_struct.o statfs.o fs_pin.o nsfs.o \
-               fs_types.o fs_context.o fs_parser.o fsopen.o init.o \
-               kernel_read_file.o mnt_idmapping.o remap_range.o
+obj-y                  := fs_types.o
+obj-$(CONFIG_SYSCTL)   += sysctls.o
+obj-y                  += open.o read_write.o file_table.o super.o \
+                          char_dev.o stat.o exec.o pipe.o namei.o \
+                          fcntl.o ioctl.o readdir.o select.o dcache.o \
+                          inode.o attr.o bad_inode.o file.o \
+                          filesystems.o namespace.o seq_file.o \
+                          xattr.o libfs.o fs-writeback.o pnode.o \
+                          splice.o sync.o utimes.o d_path.o stack.o \
+                          fs_struct.o statfs.o fs_pin.o nsfs.o \
+                          fs_types.o fs_context.o fs_parser.o \
+                          fsopen.o init.o kernel_read_file.o \
+                          mnt_idmapping.o remap_range.o

 ifeq ($(CONFIG_BLOCK),y)
 obj-y +=       buffer.o mpage.o
--
2.34.1
  
Kefeng Wang April 13, 2023, 9:45 a.m. UTC | #5
On 2023/4/13 16:35, Christian Brauner wrote:
> On Thu, Apr 13, 2023 at 09:34:54AM +0800, Kefeng Wang wrote:
>>
>>
>> On 2023/4/12 17:19, Christian Brauner wrote:
>>> On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
>>>> /proc/sys/fs/overflowuid and overflowgid  will be lost without
>>>> building this file, kindly ping, any comments, thanks.
>>>>
>>>>
>>>> On 2023/3/31 16:45, Kefeng Wang wrote:
>>>>> 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
>>>>> or it won't be built as it is overwrited.
>>
>> ...
>>
>>> Given the description in
>>> ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
>>> you probably want to move this earlier.
>>
>> Oh, missing that part, but the /proc/sys/fs/overflowuid and overflowgid are
>> lost after it, is it expected? Luis, could you take a look? thanks.
> 
> No, /proc/sys/fs/overflow{g,u}id need to be there of course. What I mean
> is something like the following (similar to how net/core/ does it):
> 

Thanks for your explanation,

> UNTESTED

Will try,

> ---
>   fs/Makefile | 24 +++++++++++++-----------
>   1 file changed, 13 insertions(+), 11 deletions(-)
> 
> diff --git a/fs/Makefile b/fs/Makefile
> index 05f89b5c962f..dfaea8a28d92 100644
> --- a/fs/Makefile
> +++ b/fs/Makefile
> @@ -6,17 +6,19 @@
>   # Rewritten to use lists instead of if-statements.
>   #
> 
> -obj-$(CONFIG_SYSCTL)           += sysctls.o
> -
> -obj-y :=       open.o read_write.o file_table.o super.o \
> -               char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
> -               ioctl.o readdir.o select.o dcache.o inode.o \
> -               attr.o bad_inode.o file.o filesystems.o namespace.o \
> -               seq_file.o xattr.o libfs.o fs-writeback.o \
> -               pnode.o splice.o sync.o utimes.o d_path.o \
> -               stack.o fs_struct.o statfs.o fs_pin.o nsfs.o \
> -               fs_types.o fs_context.o fs_parser.o fsopen.o init.o \
> -               kernel_read_file.o mnt_idmapping.o remap_range.o
> +obj-y                  := fs_types.o
> +obj-$(CONFIG_SYSCTL)   += sysctls.o
> +obj-y                  += open.o read_write.o file_table.o super.o \
> +                          char_dev.o stat.o exec.o pipe.o namei.o \
> +                          fcntl.o ioctl.o readdir.o select.o dcache.o \
> +                          inode.o attr.o bad_inode.o file.o \
> +                          filesystems.o namespace.o seq_file.o \
> +                          xattr.o libfs.o fs-writeback.o pnode.o \
> +                          splice.o sync.o utimes.o d_path.o stack.o \
> +                          fs_struct.o statfs.o fs_pin.o nsfs.o \
> +                          fs_types.o fs_context.o fs_parser.o \

drop this fs_types.o ?

> +                          fsopen.o init.o kernel_read_file.o \
> +                          mnt_idmapping.o remap_range.o >
>   ifeq ($(CONFIG_BLOCK),y)
>   obj-y +=       buffer.o mpage.o
> --
> 2.34.1
>
  
Christian Brauner April 13, 2023, 12:06 p.m. UTC | #6
On Thu, Apr 13, 2023 at 05:45:20PM +0800, Kefeng Wang wrote:
> 
> 
> On 2023/4/13 16:35, Christian Brauner wrote:
> > On Thu, Apr 13, 2023 at 09:34:54AM +0800, Kefeng Wang wrote:
> > > 
> > > 
> > > On 2023/4/12 17:19, Christian Brauner wrote:
> > > > On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
> > > > > /proc/sys/fs/overflowuid and overflowgid  will be lost without
> > > > > building this file, kindly ping, any comments, thanks.
> > > > > 
> > > > > 
> > > > > On 2023/3/31 16:45, Kefeng Wang wrote:
> > > > > > 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
> > > > > > or it won't be built as it is overwrited.
> > > 
> > > ...
> > > 
> > > > Given the description in
> > > > ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> > > > you probably want to move this earlier.
> > > 
> > > Oh, missing that part, but the /proc/sys/fs/overflowuid and overflowgid are
> > > lost after it, is it expected? Luis, could you take a look? thanks.
> > 
> > No, /proc/sys/fs/overflow{g,u}id need to be there of course. What I mean
> > is something like the following (similar to how net/core/ does it):
> > 
> 
> Thanks for your explanation,
> 
> > UNTESTED
> 
> Will try,
> 
> > ---
> >   fs/Makefile | 24 +++++++++++++-----------
> >   1 file changed, 13 insertions(+), 11 deletions(-)
> > 
> > diff --git a/fs/Makefile b/fs/Makefile
> > index 05f89b5c962f..dfaea8a28d92 100644
> > --- a/fs/Makefile
> > +++ b/fs/Makefile
> > @@ -6,17 +6,19 @@
> >   # Rewritten to use lists instead of if-statements.
> >   #
> > 
> > -obj-$(CONFIG_SYSCTL)           += sysctls.o
> > -
> > -obj-y :=       open.o read_write.o file_table.o super.o \
> > -               char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
> > -               ioctl.o readdir.o select.o dcache.o inode.o \
> > -               attr.o bad_inode.o file.o filesystems.o namespace.o \
> > -               seq_file.o xattr.o libfs.o fs-writeback.o \
> > -               pnode.o splice.o sync.o utimes.o d_path.o \
> > -               stack.o fs_struct.o statfs.o fs_pin.o nsfs.o \
> > -               fs_types.o fs_context.o fs_parser.o fsopen.o init.o \
> > -               kernel_read_file.o mnt_idmapping.o remap_range.o
> > +obj-y                  := fs_types.o
> > +obj-$(CONFIG_SYSCTL)   += sysctls.o
> > +obj-y                  += open.o read_write.o file_table.o super.o \
> > +                          char_dev.o stat.o exec.o pipe.o namei.o \
> > +                          fcntl.o ioctl.o readdir.o select.o dcache.o \
> > +                          inode.o attr.o bad_inode.o file.o \
> > +                          filesystems.o namespace.o seq_file.o \
> > +                          xattr.o libfs.o fs-writeback.o pnode.o \
> > +                          splice.o sync.o utimes.o d_path.o stack.o \
> > +                          fs_struct.o statfs.o fs_pin.o nsfs.o \
> > +                          fs_types.o fs_context.o fs_parser.o \
> 
> drop this fs_types.o ?

Yes.
  
Luis Chamberlain April 13, 2023, 5:06 p.m. UTC | #7
On Wed, Apr 12, 2023 at 11:19:56AM +0200, Christian Brauner wrote:
> On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
> > /proc/sys/fs/overflowuid and overflowgid  will be lost without
> > building this file, kindly ping, any comments, thanks.
> > 
> > 
> > On 2023/3/31 16:45, Kefeng Wang wrote:
> > > 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
> > > or it won't be built as it is overwrited.
> > > 
> > > Fixes: ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> > > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> > > ---
> > >   fs/Makefile | 3 +--
> > >   1 file changed, 1 insertion(+), 2 deletions(-)
> > > 
> > > diff --git a/fs/Makefile b/fs/Makefile
> > > index 05f89b5c962f..8d4736fcc766 100644
> > > --- a/fs/Makefile
> > > +++ b/fs/Makefile
> > > @@ -6,7 +6,6 @@
> > >   # Rewritten to use lists instead of if-statements.
> > >   #
> > > -obj-$(CONFIG_SYSCTL)		+= sysctls.o
> > >   obj-y :=	open.o read_write.o file_table.o super.o \
> > >   		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
> > > @@ -50,7 +49,7 @@ obj-$(CONFIG_FS_MBCACHE)	+= mbcache.o
> > >   obj-$(CONFIG_FS_POSIX_ACL)	+= posix_acl.o
> > >   obj-$(CONFIG_NFS_COMMON)	+= nfs_common/
> > >   obj-$(CONFIG_COREDUMP)		+= coredump.o
> > > -obj-$(CONFIG_SYSCTL)		+= drop_caches.o
> > > +obj-$(CONFIG_SYSCTL)		+= drop_caches.o sysctls.o
> > >   obj-$(CONFIG_FHANDLE)		+= fhandle.o
> > >   obj-y				+= iomap/
> 
> Given the description in
> ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> you probably want to move this earlier.

I was being *way* too cautious and I was wrong, so I'll take Kefang's patch as
I can verify now that order does not matter and his patch is correct.
I've corrected the documentation and clarified this on sysctl-next and
so reflected on linux-next too with these two patches:

sysctl: clarify register_sysctl_init() base directory order
https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=8ae59580f2b0529b6dd1a1cda6b838cfb268cb87

proc_sysctl: move helper which creates required subdirectories
https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=f4c09b14073513efd581459520a01c4c88cb24d7

proc_sysctl: update docs for __register_sysctl_table()
https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=d59d91edd67ec4cef62f26249510fe08b291ae72

proc_sysctl: enhance documentation
https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=eb472aa0678fd03321093bffeb9c7fd7f5035844

And so something we can do eventually is do away with all the base stuff.
For now it's fine, it's not creating an issue.

  Luis
  
Luis Chamberlain April 13, 2023, 6:46 p.m. UTC | #8
On Thu, Apr 13, 2023 at 10:06:35AM -0700, Luis Chamberlain wrote:
> On Wed, Apr 12, 2023 at 11:19:56AM +0200, Christian Brauner wrote:
> > On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
> > > /proc/sys/fs/overflowuid and overflowgid  will be lost without
> > > building this file, kindly ping, any comments, thanks.
> > > 
> > > 
> > > On 2023/3/31 16:45, Kefeng Wang wrote:
> > > > 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
> > > > or it won't be built as it is overwrited.
> > > > 
> > > > Fixes: ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> > > > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> > > > ---
> > > >   fs/Makefile | 3 +--
> > > >   1 file changed, 1 insertion(+), 2 deletions(-)
> > > > 
> > > > diff --git a/fs/Makefile b/fs/Makefile
> > > > index 05f89b5c962f..8d4736fcc766 100644
> > > > --- a/fs/Makefile
> > > > +++ b/fs/Makefile
> > > > @@ -6,7 +6,6 @@
> > > >   # Rewritten to use lists instead of if-statements.
> > > >   #
> > > > -obj-$(CONFIG_SYSCTL)		+= sysctls.o
> > > >   obj-y :=	open.o read_write.o file_table.o super.o \
> > > >   		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
> > > > @@ -50,7 +49,7 @@ obj-$(CONFIG_FS_MBCACHE)	+= mbcache.o
> > > >   obj-$(CONFIG_FS_POSIX_ACL)	+= posix_acl.o
> > > >   obj-$(CONFIG_NFS_COMMON)	+= nfs_common/
> > > >   obj-$(CONFIG_COREDUMP)		+= coredump.o
> > > > -obj-$(CONFIG_SYSCTL)		+= drop_caches.o
> > > > +obj-$(CONFIG_SYSCTL)		+= drop_caches.o sysctls.o
> > > >   obj-$(CONFIG_FHANDLE)		+= fhandle.o
> > > >   obj-y				+= iomap/
> > 
> > Given the description in
> > ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> > you probably want to move this earlier.
> 
> I was being *way* too cautious and I was wrong, so I'll take Kefang's patch as
> I can verify now that order does not matter and his patch is correct.
> I've corrected the documentation and clarified this on sysctl-next and
> so reflected on linux-next too with these two patches:
> 
> sysctl: clarify register_sysctl_init() base directory order
> https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=8ae59580f2b0529b6dd1a1cda6b838cfb268cb87
> 
> proc_sysctl: move helper which creates required subdirectories
> https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=f4c09b14073513efd581459520a01c4c88cb24d7
> 
> proc_sysctl: update docs for __register_sysctl_table()
> https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=d59d91edd67ec4cef62f26249510fe08b291ae72
> 
> proc_sysctl: enhance documentation
> https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=eb472aa0678fd03321093bffeb9c7fd7f5035844
> 
> And so something we can do eventually is do away with all the base stuff.
> For now it's fine, it's not creating an issue.

Come to think of it all the above patches except the one that moves code
("proc_sysctl: move helper which creates required subdirectories") are
stable fix candidates prior to Kefeng's patch. I'll also update Kefeng's
patch to mention stable down to v5.17 and update the other patches with
the respective stable tag as well.

  Luis
  
Luis Chamberlain April 13, 2023, 7:43 p.m. UTC | #9
On Thu, Apr 13, 2023 at 11:46:24AM -0700, Luis Chamberlain wrote:
> On Thu, Apr 13, 2023 at 10:06:35AM -0700, Luis Chamberlain wrote:
> > On Wed, Apr 12, 2023 at 11:19:56AM +0200, Christian Brauner wrote:
> > > On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
> > > > /proc/sys/fs/overflowuid and overflowgid  will be lost without
> > > > building this file, kindly ping, any comments, thanks.
> > > > 
> > > > 
> > > > On 2023/3/31 16:45, Kefeng Wang wrote:
> > > > > 'obj-$(CONFIG_SYSCTL) += sysctls.o' must be moved after "obj-y :=",
> > > > > or it won't be built as it is overwrited.
> > > > > 
> > > > > Fixes: ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> > > > > Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
> > > > > ---
> > > > >   fs/Makefile | 3 +--
> > > > >   1 file changed, 1 insertion(+), 2 deletions(-)
> > > > > 
> > > > > diff --git a/fs/Makefile b/fs/Makefile
> > > > > index 05f89b5c962f..8d4736fcc766 100644
> > > > > --- a/fs/Makefile
> > > > > +++ b/fs/Makefile
> > > > > @@ -6,7 +6,6 @@
> > > > >   # Rewritten to use lists instead of if-statements.
> > > > >   #
> > > > > -obj-$(CONFIG_SYSCTL)		+= sysctls.o
> > > > >   obj-y :=	open.o read_write.o file_table.o super.o \
> > > > >   		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
> > > > > @@ -50,7 +49,7 @@ obj-$(CONFIG_FS_MBCACHE)	+= mbcache.o
> > > > >   obj-$(CONFIG_FS_POSIX_ACL)	+= posix_acl.o
> > > > >   obj-$(CONFIG_NFS_COMMON)	+= nfs_common/
> > > > >   obj-$(CONFIG_COREDUMP)		+= coredump.o
> > > > > -obj-$(CONFIG_SYSCTL)		+= drop_caches.o
> > > > > +obj-$(CONFIG_SYSCTL)		+= drop_caches.o sysctls.o
> > > > >   obj-$(CONFIG_FHANDLE)		+= fhandle.o
> > > > >   obj-y				+= iomap/
> > > 
> > > Given the description in
> > > ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
> > > you probably want to move this earlier.
> > 
> > I was being *way* too cautious and I was wrong, so I'll take Kefang's patch as
> > I can verify now that order does not matter and his patch is correct.
> > I've corrected the documentation and clarified this on sysctl-next and
> > so reflected on linux-next too with these two patches:
> > 
> > sysctl: clarify register_sysctl_init() base directory order
> > https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=8ae59580f2b0529b6dd1a1cda6b838cfb268cb87
> > 
> > proc_sysctl: move helper which creates required subdirectories
> > https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=f4c09b14073513efd581459520a01c4c88cb24d7
> > 
> > proc_sysctl: update docs for __register_sysctl_table()
> > https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=d59d91edd67ec4cef62f26249510fe08b291ae72
> > 
> > proc_sysctl: enhance documentation
> > https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=eb472aa0678fd03321093bffeb9c7fd7f5035844
> > 
> > And so something we can do eventually is do away with all the base stuff.
> > For now it's fine, it's not creating an issue.
> 
> Come to think of it all the above patches except the one that moves code
> ("proc_sysctl: move helper which creates required subdirectories") are
> stable fix candidates prior to Kefeng's patch. I'll also update Kefeng's
> patch to mention stable down to v5.17 and update the other patches with
> the respective stable tag as well.

OK pushed to sysctl-next and updated the patches above also to refer to
stable and Cc you guys. Finally, a good reason or value to having Cc on
the commit log. It just tmeans you (Christian and Kefeng) will be be CC'd
once this trickles to stable kernel trees too.

  Luis
  
Kefeng Wang April 14, 2023, 1:19 a.m. UTC | #10
On 2023/4/14 3:43, Luis Chamberlain wrote:
> On Thu, Apr 13, 2023 at 11:46:24AM -0700, Luis Chamberlain wrote:
>> On Thu, Apr 13, 2023 at 10:06:35AM -0700, Luis Chamberlain wrote:
>>> On Wed, Apr 12, 2023 at 11:19:56AM +0200, Christian Brauner wrote:
>>>> On Tue, Apr 11, 2023 at 12:14:44PM +0800, Kefeng Wang wrote:
>>>>> /proc/sys/fs/overflowuid and overflowgid  will be lost without
>>>>> building this file, kindly ping, any comments, thanks.
>>>>>
>>>>>
...
>>>>
>>>> Given the description in
>>>> ab171b952c6e ("fs: move namespace sysctls and declare fs base directory")
>>>> you probably want to move this earlier.
>>>
>>> I was being *way* too cautious and I was wrong, so I'll take Kefang's patch as
>>> I can verify now that order does not matter and his patch is correct.
>>> I've corrected the documentation and clarified this on sysctl-next and
>>> so reflected on linux-next too with these two patches:
>>>
>>> sysctl: clarify register_sysctl_init() base directory order
>>> https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=8ae59580f2b0529b6dd1a1cda6b838cfb268cb87
>>>
>>> proc_sysctl: move helper which creates required subdirectories
>>> https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=f4c09b14073513efd581459520a01c4c88cb24d7
>>>
>>> proc_sysctl: update docs for __register_sysctl_table()
>>> https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=d59d91edd67ec4cef62f26249510fe08b291ae72
>>>
>>> proc_sysctl: enhance documentation
>>> https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?h=sysctl-next-20230413&id=eb472aa0678fd03321093bffeb9c7fd7f5035844
>>>
>>> And so something we can do eventually is do away with all the base stuff.
>>> For now it's fine, it's not creating an issue.
>>
>> Come to think of it all the above patches except the one that moves code
>> ("proc_sysctl: move helper which creates required subdirectories") are
>> stable fix candidates prior to Kefeng's patch. I'll also update Kefeng's
>> patch to mention stable down to v5.17 and update the other patches with
>> the respective stable tag as well.

Thanks for your detail explanation.

> 
> OK pushed to sysctl-next and updated the patches above also to refer to
> stable and Cc you guys. Finally, a good reason or value to having Cc on
> the commit log. It just tmeans you (Christian and Kefeng) will be be CC'd
> once this trickles to stable kernel trees too.
> 
>    Luis
  

Patch

diff --git a/fs/Makefile b/fs/Makefile
index 05f89b5c962f..8d4736fcc766 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -6,7 +6,6 @@ 
 # Rewritten to use lists instead of if-statements.
 # 
 
-obj-$(CONFIG_SYSCTL)		+= sysctls.o
 
 obj-y :=	open.o read_write.o file_table.o super.o \
 		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
@@ -50,7 +49,7 @@  obj-$(CONFIG_FS_MBCACHE)	+= mbcache.o
 obj-$(CONFIG_FS_POSIX_ACL)	+= posix_acl.o
 obj-$(CONFIG_NFS_COMMON)	+= nfs_common/
 obj-$(CONFIG_COREDUMP)		+= coredump.o
-obj-$(CONFIG_SYSCTL)		+= drop_caches.o
+obj-$(CONFIG_SYSCTL)		+= drop_caches.o sysctls.o
 
 obj-$(CONFIG_FHANDLE)		+= fhandle.o
 obj-y				+= iomap/