diff mbox series

nfsd: fix legacy client tracking initialization

Message ID 20241210122554.133412-1-smayhew@redhat.com (mailing list archive)
State Under Review
Headers show
Series nfsd: fix legacy client tracking initialization | expand

Commit Message

Scott Mayhew Dec. 10, 2024, 12:25 p.m. UTC
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(-)

Comments

Chuck Lever Dec. 10, 2024, 3:01 p.m. UTC | #1
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
Jeff Layton Dec. 10, 2024, 3:02 p.m. UTC | #2
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>
Chuck Lever Dec. 17, 2024, 2:54 p.m. UTC | #3
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
      (no commit info)

--
Chuck Lever
diff mbox series

Patch

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;
 }