]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
NFSD: unregister filesystem in case genl_register_family() fails
authorManinder Singh <maninder1.s@samsung.com>
Thu, 6 Mar 2025 09:20:06 +0000 (14:50 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:11:15 +0000 (11:11 +0100)
commit ff12eb379554eea7932ad6caea55e3091701cce4 upstream.

With rpc_status netlink support, unregister of register_filesystem()
was missed in case of genl_register_family() fails.

Correcting it by making new label.

Fixes: bd9d6a3efa97 ("NFSD: add rpc_status netlink support")
Cc: stable@vger.kernel.org
Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/nfsctl.c

index 2e835e7c107ee0e2b8ab312cdee1ecdcb09a99b4..dcd59a4ff986799cd9e07e36ede34b78e7f991f9 100644 (file)
@@ -2345,7 +2345,7 @@ static int __init init_nfsd(void)
                goto out_free_cld;
        retval = register_filesystem(&nfsd_fs_type);
        if (retval)
-               goto out_free_all;
+               goto out_free_nfsd4;
        retval = genl_register_family(&nfsd_nl_family);
        if (retval)
                goto out_free_all;
@@ -2353,6 +2353,8 @@ static int __init init_nfsd(void)
 
        return 0;
 out_free_all:
+       unregister_filesystem(&nfsd_fs_type);
+out_free_nfsd4:
        nfsd4_destroy_laundry_wq();
 out_free_cld:
        unregister_cld_notifier();