lkml.org 
[lkml]   [2022]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 044/102] NFS: restore module put when manager exits.
    Date
    From: NeilBrown <neilb@suse.de>

    commit 080abad71e99d2becf38c978572982130b927a28 upstream.

    Commit f49169c97fce ("NFSD: Remove svc_serv_ops::svo_module") removed
    calls to module_put_and_kthread_exit() from threads that acted as SUNRPC
    servers and had a related svc_serv_ops structure. This was correct.

    It ALSO removed the module_put_and_kthread_exit() call from
    nfs4_run_state_manager() which is NOT a SUNRPC service.

    Consequently every time the NFSv4 state manager runs the module count
    increments and won't be decremented. So the nfsv4 module cannot be
    unloaded.

    So restore the module_put_and_kthread_exit() call.

    Fixes: f49169c97fce ("NFSD: Remove svc_serv_ops::svo_module")
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/nfs/nfs4state.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/fs/nfs/nfs4state.c
    +++ b/fs/nfs/nfs4state.c
    @@ -2743,5 +2743,6 @@ again:
    goto again;

    nfs_put_client(clp);
    + module_put_and_kthread_exit(0);
    return 0;
    }

    \
     
     \ /
      Last update: 2022-07-05 14:36    [W:3.562 / U:0.864 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site