diff mbox series

NFSv4: Fix memory leak in nfs4_set_security_label

Message ID 20240522074524.23046-1-mastichi@gmail.com (mailing list archive)
State New
Headers show
Series NFSv4: Fix memory leak in nfs4_set_security_label | expand

Commit Message

Dmitry Mastykin May 22, 2024, 7:45 a.m. UTC
We leak nfs_fattr and nfs4_label every time we set a security xattr.

Signed-off-by: Dmitry Mastykin <mastichi@gmail.com>
---
 fs/nfs/nfs4proc.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Trond Myklebust May 22, 2024, 12:25 p.m. UTC | #1
On Wed, 2024-05-22 at 10:45 +0300, Dmitry Mastykin wrote:
> [You don't often get email from mastichi@gmail.com. Learn why this is
> important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> We leak nfs_fattr and nfs4_label every time we set a security xattr.
> 
> Signed-off-by: Dmitry Mastykin <mastichi@gmail.com>
> ---
>  fs/nfs/nfs4proc.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> index ea390db94b62..d400093a2fff 100644
> --- a/fs/nfs/nfs4proc.c
> +++ b/fs/nfs/nfs4proc.c
> @@ -6268,6 +6268,7 @@ nfs4_set_security_label(struct inode *inode,
> const void *buf, size_t buflen)
>         if (status == 0)
>                 nfs_setsecurity(inode, fattr);
> 
> +       nfs_free_fattr(fattr);
>         return status;
>  }
>  #endif /* CONFIG_NFS_V4_SECURITY_LABEL */
> --
> 2.30.2
> 

Thanks! For future reference, please note the section on indenting in
the file Documentation/process/coding-style.rst as your patch above was
whitespace-broken and so didn't apply cleanly.
Since this was just a 1-liner, I've fixed it up for now, so no need to
resubmit.
diff mbox series

Patch

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index ea390db94b62..d400093a2fff 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -6268,6 +6268,7 @@  nfs4_set_security_label(struct inode *inode, const void *buf, size_t buflen)
 	if (status == 0)
 		nfs_setsecurity(inode, fattr);
 
+	nfs_free_fattr(fattr);
 	return status;
 }
 #endif	/* CONFIG_NFS_V4_SECURITY_LABEL */