[PATCH v2 2/2] NFS: Use common error handling code in nfs_alloc_server()
Markus Elfring <[email protected]> Sun, 14 Jun 2026 10:43:42 +0200
| Newsgroups | org.kernel.vger.kernel-janitors,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs |
|---|---|
| Message-ID | <[email protected]> |
From: Markus Elfring <[email protected]> Date: Sun, 14 Jun 2026 10:06:11 +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. Cc: [email protected] Signed-off-by: Markus Elfring <[email protected]> --- fs/nfs/client.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/nfs/client.c b/fs/nfs/client.c index e15568e388f8..4dcb91ab3039 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 (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); @@ -1089,8 +1087,7 @@ struct nfs_server *nfs_alloc_server(void) server->io_stats = nfs_alloc_iostats(); if (!server->io_stats) { ida_free(&s_sysfs_ids, server->s_sysfs_id); - kfree(server); - return NULL; + goto free_server; } server->change_attr_type = NFS4_CHANGE_TYPE_IS_UNDEFINED; @@ -1104,6 +1101,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); -- 2.54.0