Whamcloud - gitweb
LU-14880 libcfs: Use crypto/sha2.h if available
authorShaun Tancheff <shaun.tancheff@hpe.com>
Thu, 22 Jul 2021 07:45:37 +0000 (02:45 -0500)
committerAndreas Dilger <adilger@whamcloud.com>
Mon, 20 Sep 2021 23:01:13 +0000 (23:01 +0000)
As of Linux commit a24d22b225ce158651378869a6b88105c4bdb887
   crypto: sha - split sha.h into sha1.h and sha2.h

sha.h is removed and sha2.h or sha3.h is preferred.

Lustre-change: https://review.whamcloud.com/44373
Lustre-commit: e9cffb256d10a3bb28c957f0bf06c61793a9610b

Test-Parameters: trivial
Fixes: a813e81870 ("LU-12275 sec: add llcrypt as file encryption library")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: Iead5e1cb23e79a400da3cbfeb4c35c834e821d62
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-on: https://review.whamcloud.com/44996
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Andreas Dilger <adilger@whamcloud.com>
libcfs/autoconf/lustre-libcfs.m4
libcfs/libcfs/crypto/hkdf.c
libcfs/libcfs/crypto/keysetup.c

index ce1d2f5..481fb8e 100644 (file)
@@ -1541,6 +1541,18 @@ kfree_sensitive_exists, [
 EXTRA_KCFLAGS="$tmp_flags"
 ]) # LIBCFS_HAVE_NR_UNSTABLE_NFS
 
+#
+# LIBCFS_HAVE_CRYPTO_SHA2_HEADER
+#
+# Kernel v5.10-rc1-114-ga24d22b225ce
+# crypto: sha - split sha.h into sha1.h and sha2.h
+#
+AC_DEFUN([LIBCFS_HAVE_CRYPTO_SHA2_HEADER], [
+LB_CHECK_LINUX_HEADER([crypto/sha2.h], [
+       AC_DEFINE(HAVE_CRYPTO_SHA2_HEADER, 1,
+               [crypto/sha2.h is present])])
+]) # LIBCFS_HAVE_CRYPTO_SHA2_HEADER
+
 AC_DEFUN([LIBCFS_PROG_LINUX_SRC], [
        LIBCFS_SRC_HAVE_PROC_OPS
 
@@ -1673,6 +1685,7 @@ LIBCFS_VMALLOC_2ARGS
 LIBCFS_SEC_RELEASE_SECCTX
 # 5.10
 LIBCFS_HAVE_KFREE_SENSITIVE
+LIBCFS_HAVE_CRYPTO_SHA2_HEADER
 ]) # LIBCFS_PROG_LINUX
 
 #
index 147f14b..8874bcb 100644 (file)
  */
 
 #include <crypto/hash.h>
+#ifdef HAVE_CRYPTO_SHA2_HEADER
+#include <crypto/sha2.h>
+#else
 #include <crypto/sha.h>
-
+#endif
 #include "llcrypt_private.h"
 
 /*
index 2d35266..14f7bd7 100644 (file)
  */
 
 #include <crypto/aes.h>
+#ifdef HAVE_CRYPTO_SHA2_HEADER
+#include <crypto/sha2.h>
+#else
 #include <crypto/sha.h>
+#endif
 #include <crypto/skcipher.h>
 #include <linux/key.h>