lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <170692054137.13976.14338822289976654430@noble.neil.brown.name>
Date: Sat, 03 Feb 2024 11:35:41 +1100
From: "NeilBrown" <neilb@...e.de>
To: "Benjamin Coddington" <bcodding@...hat.com>
Cc: "Kunwu Chan" <chentao@...inos.cn>, chuck.lever@...cle.com,
 jlayton@...nel.org, kolga@...app.com, Dai.Ngo@...cle.com, tom@...pey.com,
 linux-nfs@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] nfsd: Simplify the allocation of slab caches in
 nfsd_drc_slab_create

On Sat, 03 Feb 2024, Benjamin Coddington wrote:
> On 1 Feb 2024, at 3:19, Kunwu Chan wrote:
> 
> > Use the new KMEM_CACHE() macro instead of direct kmem_cache_create
> > to simplify the creation of SLAB caches.
> > Make the code cleaner and more readable.
> >
> > Signed-off-by: Kunwu Chan <chentao@...inos.cn>
> > ---
> >  fs/nfsd/nfscache.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c
> > index 5c1a4a0aa605..64ce0cc22197 100644
> > --- a/fs/nfsd/nfscache.c
> > +++ b/fs/nfsd/nfscache.c
> > @@ -166,8 +166,7 @@ nfsd_reply_cache_free(struct nfsd_drc_bucket *b, struct nfsd_cacherep *rp,
> >
> >  int nfsd_drc_slab_create(void)
> >  {
> > -	drc_slab = kmem_cache_create("nfsd_drc",
> > -				sizeof(struct nfsd_cacherep), 0, 0, NULL);
> > +	drc_slab = KMEM_CACHE(nfsd_cacherep, 0);
> >  	return drc_slab ? 0: -ENOMEM;
> >  }
> >
> > -- 
> > 2.39.2
> 
> I don't agree that the code is cleaner or more readable like this.  I really
> dislike having to parse through the extra "simplification" to see what's
> actually being called and sent.
> 
> Just my .02 worth.
> 

In general I agree that wrappers like this can hinder as much as they
help - if not more.

In this particular case it doesn't seem to bother me.  This is probably
because it is only used in initialisation code and I don't look at that
nearly as much as code that uses the initialised things.
Initialisation/cleanup code often has a lot of boilerplate which can
make it look messy.  Reducing that, which I think this patch helps with,
can be a good thing.

So I agree that we should be cautious about using (or creating) new
wrapper macros, but in this case I am mildly in favour.

Thanks,
NeilBrown

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ