Message ID | 7af3028bd374451f35e36a6c289c44d9c932ee71.1575439669.git.ps@pks.im (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] nfsd: depend on CRYPTO_MD5 for legacy client tracking | expand |
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 --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
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(+)