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] [day] [month] [year] [list]
Message-ID: <CAGudoHFcUBdZUBDFqWs4aLQfXyN4781-g-8x0mfBWwEMrTFQUg@mail.gmail.com>
Date: Fri, 4 Apr 2025 22:14:32 +0200
From: Mateusz Guzik <mjguzik@...il.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: brauner@...nel.org, viro@...iv.linux.org.uk, jack@...e.cz, 
	linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH v2] fs: make generic_fillattr() tail-callable and utilize
 it in ext2/ext4

On Fri, Apr 4, 2025 at 10:33 AM Christoph Hellwig <hch@...radead.org> wrote:
>
> On Tue, Apr 01, 2025 at 06:52:52PM +0200, Mateusz Guzik wrote:
> > Unfortunately the other filesystems I checked make adjustments after
> > their own call to generic_fillattr() and consequently can't benefit.
>
> This is in no way a useful commit message.
>
> Why do you even do this change?  What's the point of it?  And why do you
> think making a function tail callable for two callers, one of which is
> basically irrelevant warrants adding a pointless return that now needs
> to be generated and checked by all other callers (which this patch fails
> to do)?
>

Callers don't need to check it because it is guaranteed to be 0. Also
returning 0 vs returning nothing makes virtually no difference to
anyone.

As for general context, there are several small slowdowns when issuing
fstat() and I'm tackling them bit by bit (and yes, tail calling vs
returning to the caller and that caller exiting is a small
optimization).
-- 
Mateusz Guzik <mjguzik gmail.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ