diff options
author | Benjamin Coddington <bcodding@redhat.com> | 2023-07-10 14:41:58 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2023-08-19 10:26:29 -0400 |
commit | c3dd7de2a3137d84161dcfb522c19f8b2884e502 (patch) | |
tree | 4a11ccf24c013e5c9c2f2f26f04cd5bd3bcc34e0 | |
parent | be2fd1560eb57b7298aa3c258ddcca0d53ecdea3 (diff) | |
download | lwn-c3dd7de2a3137d84161dcfb522c19f8b2884e502.tar.gz lwn-c3dd7de2a3137d84161dcfb522c19f8b2884e502.zip |
NFS: Fix sysfs server name memory leak
Free the formatted server index string after it has been duplicated by
kobject_rename().
Fixes: 1c7251187dc0 ("NFS: add superblock sysfs entries")
Reported-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Tested-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
-rw-r--r-- | fs/nfs/sysfs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/sysfs.c b/fs/nfs/sysfs.c index acda8f033d30..bf378ecd5d9f 100644 --- a/fs/nfs/sysfs.c +++ b/fs/nfs/sysfs.c @@ -345,8 +345,10 @@ void nfs_sysfs_move_sb_to_server(struct nfs_server *server) int ret = -ENOMEM; s = kasprintf(GFP_KERNEL, "server-%d", server->s_sysfs_id); - if (s) + if (s) { ret = kobject_rename(&server->kobj, s); + kfree(s); + } if (ret < 0) pr_warn("NFS: rename sysfs %s failed (%d)\n", server->kobj.name, ret); |