Re: [PATCH 2/4] aio: Remove the now superfluous sentinel elements from ctl_table array

Joel Granados <[email protected]>
Newsgroups gmane.linux.nfs,gmane.linux.file-systems.cachefs.general,gmane.linux.kernel,gmane.linux.file-systems,gmane.linux.kernel.aio.general,gmane.linux.kernel.mm,gmane.linux.file-systems.ntfs.devel,gmane.comp.file-systems.coda.general
Message-ID <20231109160040.bahkcsp44t5xu7qo@localhost>
On Tue, Nov 07, 2023 at 07:42:31PM -0800, Eric Biggers wrote:
> On Tue, Nov 07, 2023 at 02:44:21PM +0100, Joel Granados via B4 Relay wrote:
> > [PATCH 2/4] aio: Remove the now superfluous sentinel elements from ctl_table array
> 
> The commit prefix should be "fs:".
> 
> > Remove sentinel elements ctl_table struct. Special attention was placed in
> > making sure that an empty directory for fs/verity was created when
> > CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not defined. In this case we use the
> > register sysctl call that expects a size.
> [...]
> > diff --git a/fs/verity/fsverity_private.h b/fs/verity/fsverity_private.h
> > index d071a6e32581..8191bf7ad706 100644
> > --- a/fs/verity/fsverity_private.h
> > +++ b/fs/verity/fsverity_private.h
> > @@ -122,8 +122,8 @@ void __init fsverity_init_info_cache(void);
> >  
> >  /* signature.c */
> >  
> > -#ifdef CONFIG_FS_VERITY_BUILTIN_SIGNATURES
> >  extern int fsverity_require_signatures;
> > +#ifdef CONFIG_FS_VERITY_BUILTIN_SIGNATURES
> >  int fsverity_verify_signature(const struct fsverity_info *vi,
> >  			      const u8 *signature, size_t sig_size);
> >  
> > diff --git a/fs/verity/init.c b/fs/verity/init.c
> > index a29f062f6047..e31045dd4f6c 100644
> > --- a/fs/verity/init.c
> > +++ b/fs/verity/init.c
> > @@ -13,7 +13,6 @@
> >  static struct ctl_table_header *fsverity_sysctl_header;
> >  
> >  static struct ctl_table fsverity_sysctl_table[] = {
> > -#ifdef CONFIG_FS_VERITY_BUILTIN_SIGNATURES
> >  	{
> >  		.procname       = "require_signatures",
> >  		.data           = &fsverity_require_signatures,
> > @@ -23,14 +22,17 @@ static struct ctl_table fsverity_sysctl_table[] = {
> >  		.extra1         = SYSCTL_ZERO,
> >  		.extra2         = SYSCTL_ONE,
> >  	},
> > -#endif
> > -	{ }
> >  };
> >  
> >  static void __init fsverity_init_sysctl(void)
> >  {
> > +#ifdef CONFIG_FS_VERITY_BUILTIN_SIGNATURES
> >  	fsverity_sysctl_header = register_sysctl("fs/verity",
> >  						 fsverity_sysctl_table);
> > +#else
> > +	fsverity_sysctl_header = register_sysctl_sz("fs/verity",
> > +						 fsverity_sysctl_table, 0);
> > +#endif
> >  	if (!fsverity_sysctl_header)
> >  		panic("fsverity sysctl registration failed");
> 
> This does not make sense, and it causes a build error when CONFIG_FS_VERITY=y
> and CONFIG_FS_VERITY_BUILTIN_SIGNATURES=n.
> 
> I think all you need to do is delete the sentinel element, the same as
> everywhere else.  I just tested it, and it works fine.
I found the reason why I added the CONFIG_FS_VERITY_BUILTIN_SIGNATURES
here: it is related to
https://lore.kernel.org/all/20230705212743.42180-3-ebiggers-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org/
where the directory is registered with an element only if
CONFIG_FS_VERITY_BUILTIN_SIGNATURES is defined. I had forgotten, but I
even asked for a clarification on the patch :).

I see that that patch made it to v6.6. So the solution is not to remove
the CONFIG_FS_VERITY_BUILTIN_SIGNATURES, but for me to rebase on top of
a more up to date base.

@Eric: Please get back to me if the patch in
https://lore.kernel.org/all/20230705212743.42180-3-ebiggers-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org/
is no longer relevant.

Best.

> 
> BTW, the comments for register_sysctl_sz() and __register_sysctl_table() are
> outdated, as they still say "A completely 0 filled entry terminates the table."
> 
> - Eric

-- 

Joel Granados
signature.asc (application/pgp-signature, 659 B)
-----BEGIN PGP SIGNATURE-----

iQGzBAABCgAdFiEErkcJVyXmMSXOyyeQupfNUreWQU8FAmVNAicACgkQupfNUreW
QU/GDgv/RABlWS8CUHeazT6R6sZRrWYGzO5BFRViRaIJEt9DGxPeVdxGY5fggAJB
noHXVpWD4pdS23h/JVKSgpbTgLL6Cf7ZpIz0dx/AaPEA6GaYaZQu0V+MlDeDJtAv
NxOvKTvaCgiCkWS/VYVSs2lSfGhSdHLUuZYLAdeAym0Iw0xwxbBneYjoCTDAxVh/
QE8RNvzM8YP6UJmUjOLYqGmb9CQS1tFtq92ISERe+sMogfc0EECLD0vzOM+CXT/Q
Ps87qwdFoDxwCoQzGRmdYLkpwEJZ9pIZ1cHUI29/VBh5F6utWGZvefDz8vSVcbNc
x8R5Pi4IMIax7MSUrASAljHq5hpaKDJGOIzMxBnCe/1im78XVYg70RwBPL7tyfdm
FyHNyDDQJuy6B74bEqGsolKqY8peghoOmAOF047JXbMnWUgtqLVtoj6R7blYdQAh
5OX13eCmTHSlYS+F62ayufBClYx3Sv2Lm1tyrr2Jt8R/nqjn49MLyfPAFZ96yeLH
5C8y/YbF
=rsQZ
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.