Re: [PATCH] fuse: add missing iput() in fuse_lookup() error path
From: Al Viro
Date: Fri Dec 19 2025 - 17:09:51 EST
On Fri, Dec 19, 2025 at 05:43:09PM +0000, Luis Henriques wrote:
> The inode use count needs to be dropped in the fuse_lookup() error path,
> when there's an error returned by d_splice_alias().
>
> (While there, remove extra white spaces before labels.)
>
> Fixes: 5835f3390e35 ("fuse: use d_materialise_unique()")
> Signed-off-by: Luis Henriques <luis@xxxxxxxxxx>
Have you actually looked at d_splice_alias()?
It does consume inode reference in all cases, success or error. On success
it gets transferred to dentry; on failure it is dropped. That's quite
deliberate, since it makes life much simplier for failure handling in the
callers.
If you can reproduce a leak there, I would like to see a reproducer.
If not, I would say that your patch introduces a double-iput.
NAK.