Message ID | d411d31bcde3e0221d54ee8bb5af80772a277cad.1575355896.git.ps@pks.im (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nfsd: depend on CRYPTO_MD5 for legacy client tracking | expand |
Hi Patrick- > On Dec 3, 2019, at 1:52 AM, Patrick Steinhardt <ps@pks.im> 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 dependency was removed as a seemingly redundant dependency back in > 6aaa67b5f3b9 (NFSD: Remove redundant "select" clauses in fs/Kconfig > 2008-02-11). But in fact, even then the MD5 module was pulled in only > when RPCSEC_GSS_KRB5 or RPCSEC_GSS_KRB5 was selected. > > Fix the issue by adding back an explicit dependency on CRYPTO_MD5. > > Fixes: 6aaa67b5f3b9 (NFSD: Remove redundant "select" clauses in fs/Kconfig) Just a quibble with your Fixes: tag. At that time, selecting NFSv4 support did bring in CRYPTO, because NFSv4 support always selected RPCSEC_GSS_KRB5. It was a later commit that removed RPCSEC_GSS_KRB5: df486a25900f ("NFS: Fix the selection of security flavours in Kconfig") > Signed-off-by: Patrick Steinhardt <ps@pks.im> > --- > 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 > -- Chuck Lever
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 dependency was removed as a seemingly redundant dependency back in 6aaa67b5f3b9 (NFSD: Remove redundant "select" clauses in fs/Kconfig 2008-02-11). But in fact, even then the MD5 module was pulled in only when RPCSEC_GSS_KRB5 or RPCSEC_GSS_KRB5 was selected. Fix the issue by adding back an explicit dependency on CRYPTO_MD5. Fixes: 6aaa67b5f3b9 (NFSD: Remove redundant "select" clauses in fs/Kconfig) Signed-off-by: Patrick Steinhardt <ps@pks.im> --- fs/nfsd/Kconfig | 1 + 1 file changed, 1 insertion(+)