From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Date: Sun, 31 Dec 2023 17:26:41 +0100 The kfree() function was called in one case by the __netlink_kernel_create() function during error handling even if the passed variable contained a null pointer. This issue was detected by using the Coccinelle software. Thus use another label. Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> --- net/netlink/af_netlink.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 4ed8ffd58ff3..c3f88015cacf 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -2042,7 +2042,7 @@ __netlink_kernel_create(struct net *net, int unit, struct module *module, listeners = kzalloc(sizeof(*listeners) + NLGRPSZ(groups), GFP_KERNEL); if (!listeners) - goto out_sock_release; + goto out_netlink_release_sock; sk->sk_data_ready = netlink_data_ready; if (cfg && cfg->input) @@ -2076,6 +2076,7 @@ __netlink_kernel_create(struct net *net, int unit, struct module *module, out_sock_release: kfree(listeners); +out_netlink_release_sock: netlink_kernel_release(sk); return NULL; -- 2.43.0