Re: [PATCH] NFS: Use common error handling code in nfs_alloc_server()
Christophe JAILLET <[email protected]> Sat, 13 Jun 2026 22:24:35 +0200
| Newsgroups | org.kernel.vger.kernel-janitors,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs |
|---|---|
| Message-ID | <[email protected]> |
Le 10/06/2026 à 18:35, Markus Elfring a écrit : > From: Markus Elfring <[email protected]> > Date: Wed, 10 Jun 2026 18:28:17 +0200 > > Use an additional label so that a bit of exception handling can be better > reused at the end of this function implementation. > > This issue was detected by using the Coccinelle software. > > Signed-off-by: Markus Elfring <[email protected]> > --- > fs/nfs/client.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/fs/nfs/client.c b/fs/nfs/client.c > index 73b95318ba48..50482257667d 100644 > --- a/fs/nfs/client.c > +++ b/fs/nfs/client.c > @@ -1063,10 +1063,8 @@ struct nfs_server *nfs_alloc_server(void) > return NULL; > > server->s_sysfs_id = ida_alloc(&s_sysfs_ids, GFP_KERNEL); If an error occurs after a successful ida_alloc(), then ida_free() needs to be called in the error handling path. CJ > - if (server->s_sysfs_id < 0) { > - kfree(server); > - return NULL; > - } > + if (server->s_sysfs_id < 0) > + goto free_server; > > server->client = server->client_acl = ERR_PTR(-EINVAL); > > @@ -1087,10 +1085,8 @@ struct nfs_server *nfs_alloc_server(void) > atomic_long_set(&server->nr_active_delegations, 0); > > server->io_stats = nfs_alloc_iostats(); > - if (!server->io_stats) { > - kfree(server); > - return NULL; > - } > + if (!server->io_stats) > + goto free_server; > > server->change_attr_type = NFS4_CHANGE_TYPE_IS_UNDEFINED; > > @@ -1103,6 +1099,10 @@ struct nfs_server *nfs_alloc_server(void) > rpc_init_wait_queue(&server->uoc_rpcwaitq, "NFS UOC"); > > return server; > + > +free_server: > + kfree(server); > + return NULL; > } > EXPORT_SYMBOL_GPL(nfs_alloc_server); >