Skip to content

Commit e901f17

Browse files
bcodding-rhTrond Myklebust
authored andcommitted
NFS: Don't cleanup sysfs superblock entry if uninitialized
Its possible to end up in nfs_free_server() before the server's superblock sysfs entry has been initialized, in which case calling kobject_put() will emit a WARNING. Check if the kobject has been initialized before cleaning it up. Fixes: 1c72511 ("NFS: add superblock sysfs entries") Reported-by: Nathan Chancellor <nathan@kernel.org> Tested-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Benjamin Coddington <bcodding@redhat.com> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
1 parent cded49b commit e901f17

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

fs/nfs/client.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,8 +1021,10 @@ void nfs_free_server(struct nfs_server *server)
10211021

10221022
nfs_put_client(server->nfs_client);
10231023

1024-
nfs_sysfs_remove_server(server);
1025-
kobject_put(&server->kobj);
1024+
if (server->kobj.state_initialized) {
1025+
nfs_sysfs_remove_server(server);
1026+
kobject_put(&server->kobj);
1027+
}
10261028
ida_free(&s_sysfs_ids, server->s_sysfs_id);
10271029

10281030
ida_destroy(&server->lockowner_id);

0 commit comments

Comments
 (0)