Message ID | 20241210122554.133412-1-smayhew@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | nfsd: fix legacy client tracking initialization | expand |
From: Chuck Lever <chuck.lever@oracle.com> On Tue, 10 Dec 2024 07:25:54 -0500, Scott Mayhew wrote: > Get rid of the nfsd4_legacy_tracking_ops->init() call in > check_for_legacy_methods(). That will be handled in the caller > (nfsd4_client_tracking_init()). Otherwise, we'll wind up calling > nfsd4_legacy_tracking_ops->init() twice, and the second time we'll > trigger the BUG_ON() in nfsd4_init_recdir(). > > > [...] Applied to nfsd-testing for v6.14, thanks! [1/1] nfsd: fix legacy client tracking initialization commit: 0f0f93d93be82021f30c23eeca6aaf8e59a276d0 -- Chuck Lever
On Tue, 2024-12-10 at 07:25 -0500, Scott Mayhew wrote: > Get rid of the nfsd4_legacy_tracking_ops->init() call in > check_for_legacy_methods(). That will be handled in the caller > (nfsd4_client_tracking_init()). Otherwise, we'll wind up calling > nfsd4_legacy_tracking_ops->init() twice, and the second time we'll > trigger the BUG_ON() in nfsd4_init_recdir(). > > Fixes: 74fd48739d04 ("nfsd: new Kconfig option for legacy client tracking") > Reported-by: Jur van der Burg <jur@avtware.com> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=219580 > Signed-off-by: Scott Mayhew <smayhew@redhat.com> > --- > fs/nfsd/nfs4recover.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c > index 4a765555bf84..1c8fcb04b3cd 100644 > --- a/fs/nfsd/nfs4recover.c > +++ b/fs/nfsd/nfs4recover.c > @@ -2052,7 +2052,6 @@ static inline int check_for_legacy_methods(int status, struct net *net) > path_put(&path); > if (status) > return -ENOTDIR; > - status = nn->client_tracking_ops->init(net); > } > return status; > } Reviewed-by: Jeff Layton <jlayton@kernel.org>
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 4a765555bf84..1c8fcb04b3cd 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -2052,7 +2052,6 @@ static inline int check_for_legacy_methods(int status, struct net *net) path_put(&path); if (status) return -ENOTDIR; - status = nn->client_tracking_ops->init(net); } return status; }
Get rid of the nfsd4_legacy_tracking_ops->init() call in check_for_legacy_methods(). That will be handled in the caller (nfsd4_client_tracking_init()). Otherwise, we'll wind up calling nfsd4_legacy_tracking_ops->init() twice, and the second time we'll trigger the BUG_ON() in nfsd4_init_recdir(). Fixes: 74fd48739d04 ("nfsd: new Kconfig option for legacy client tracking") Reported-by: Jur van der Burg <jur@avtware.com> Link: https://bugzilla.kernel.org/show_bug.cgi?id=219580 Signed-off-by: Scott Mayhew <smayhew@redhat.com> --- fs/nfsd/nfs4recover.c | 1 - 1 file changed, 1 deletion(-)