diff mbox series

[v2] nfsd: depend on CRYPTO_MD5 for legacy client tracking

Message ID 7af3028bd374451f35e36a6c289c44d9c932ee71.1575439669.git.ps@pks.im
State New, archived
Headers show
Series [v2] nfsd: depend on CRYPTO_MD5 for legacy client tracking | expand

Commit Message

Patrick Steinhardt Dec. 4, 2019, 6:13 a.m. UTC
The legacy client tracking infrastructure of nfsd makes use of MD5 to
derive a client's recovery directory name. As the nfsd module doesn't
declare any dependency on CRYPTO_MD5, though, it may fail to allocate
the hash if the kernel was compiled without it. As a result, generation
of client recovery directories will fail with the following error:

    NFSD: unable to generate recoverydir name

The explicit dependency on CRYPTO_MD5 was removed as redundant back in
6aaa67b5f3b9 (NFSD: Remove redundant "select" clauses in fs/Kconfig
2008-02-11) as it was already implicitly selected via RPCSEC_GSS_KRB5.
This broke when RPCSEC_GSS_KRB5 was made optional for NFSv4 in commit
df486a25900f (NFS: Fix the selection of security flavours in Kconfig) at
a later point.

Fix the issue by adding back an explicit dependency on CRYPTO_MD5.

Fixes: df486a25900f (NFS: Fix the selection of security flavours in Kconfig)
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---

The only change compared to v1 is in the commit message. As
pointed out by Chuck, it wasn't actually commit 6aaa67b5f3b9
which broke it, but the later df486a25900f. I've reworded the
commit message and fixed the Fixes tag to account for that.

 fs/nfsd/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

J. Bruce Fields Dec. 6, 2019, 9:03 p.m. UTC | #1
Thanks, applied your v2.

--b.

On Wed, Dec 04, 2019 at 07:13:22AM +0100, Patrick Steinhardt wrote:
> The legacy client tracking infrastructure of nfsd makes use of MD5 to
> derive a client's recovery directory name. As the nfsd module doesn't
> declare any dependency on CRYPTO_MD5, though, it may fail to allocate
> the hash if the kernel was compiled without it. As a result, generation
> of client recovery directories will fail with the following error:
> 
>     NFSD: unable to generate recoverydir name
> 
> The explicit dependency on CRYPTO_MD5 was removed as redundant back in
> 6aaa67b5f3b9 (NFSD: Remove redundant "select" clauses in fs/Kconfig
> 2008-02-11) as it was already implicitly selected via RPCSEC_GSS_KRB5.
> This broke when RPCSEC_GSS_KRB5 was made optional for NFSv4 in commit
> df486a25900f (NFS: Fix the selection of security flavours in Kconfig) at
> a later point.
> 
> Fix the issue by adding back an explicit dependency on CRYPTO_MD5.
> 
> Fixes: df486a25900f (NFS: Fix the selection of security flavours in Kconfig)
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> 
> The only change compared to v1 is in the commit message. As
> pointed out by Chuck, it wasn't actually commit 6aaa67b5f3b9
> which broke it, but the later df486a25900f. I've reworded the
> commit message and fixed the Fixes tag to account for that.
> 
>  fs/nfsd/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/fs/nfsd/Kconfig b/fs/nfsd/Kconfig
> index c4b1a89b8845..f2f81561ebb6 100644
> --- a/fs/nfsd/Kconfig
> +++ b/fs/nfsd/Kconfig
> @@ -73,6 +73,7 @@ config NFSD_V4
>  	select NFSD_V3
>  	select FS_POSIX_ACL
>  	select SUNRPC_GSS
> +	select CRYPTO_MD5
>  	select CRYPTO_SHA256
>  	select GRACE_PERIOD
>  	help
> -- 
> 2.24.0
diff mbox series

Patch

diff --git a/fs/nfsd/Kconfig b/fs/nfsd/Kconfig
index c4b1a89b8845..f2f81561ebb6 100644
--- a/fs/nfsd/Kconfig
+++ b/fs/nfsd/Kconfig
@@ -73,6 +73,7 @@  config NFSD_V4
 	select NFSD_V3
 	select FS_POSIX_ACL
 	select SUNRPC_GSS
+	select CRYPTO_MD5
 	select CRYPTO_SHA256
 	select GRACE_PERIOD
 	help