From: Johannes Berg <[email protected]>
This never actually worked properly as far as I can tell,
and now it looks like it won't even compile due to the
real crypto_memneq() backport.
Just remove it - distro kernels have it enabled and all
others should just enable it.
Signed-off-by: Johannes Berg <[email protected]>
---
backport/compat/Kconfig | 11 -------
backport/compat/Makefile | 1 -
backport/compat/backports.h | 10 ------
backport/compat/main.c | 9 +-----
patches/crypto-ccm.patch | 78 ---------------------------------------------
5 files changed, 1 insertion(+), 108 deletions(-)
delete mode 100644 patches/crypto-ccm.patch
diff --git a/backport/compat/Kconfig b/backport/compat/Kconfig
index 542cf0cca781..492efbfc7d9f 100644
--- a/backport/compat/Kconfig
+++ b/backport/compat/Kconfig
@@ -102,17 +102,6 @@ config BPAUTO_USERSEL_BUILD_ALL
It's only really useful for compat testing, so
you probably shouldn't enable it.
-config BPAUTO_CRYPTO_CCM
- depends on CRYPTO_AEAD
- depends on CRYPTO_CTR
- bool
-
-config BPAUTO_BUILD_CRYPTO_CCM
- bool
- default n if CRYPTO_CCM
- default y if BPAUTO_CRYPTO_CCM
- #c-file crypto/ccm.c
-
config BPAUTO_CRYPTO_SKCIPHER
tristate
depends on KERNEL_4_3
diff --git a/backport/compat/Makefile b/backport/compat/Makefile
index ead22a0099fc..69cfd514da71 100644
--- a/backport/compat/Makefile
+++ b/backport/compat/Makefile
@@ -37,7 +37,6 @@ compat-$(CPTCFG_KERNEL_4_7) += backport-4.7.o
compat-$(CPTCFG_KERNEL_4_8) += backport-4.8.o
compat-$(CPTCFG_KERNEL_4_10) += backport-4.10.o
-compat-$(CPTCFG_BPAUTO_BUILD_CRYPTO_CCM) += crypto-ccm.o
compat-$(CPTCFG_BPAUTO_CRYPTO_SKCIPHER) += crypto-skcipher.o
compat-$(CPTCFG_BPAUTO_BUILD_SYSTEM_DATA_VERIFICATION) += verification/verify.o
diff --git a/backport/compat/backports.h b/backport/compat/backports.h
index ccc8972b41f6..538488887fca 100644
--- a/backport/compat/backports.h
+++ b/backport/compat/backports.h
@@ -3,16 +3,6 @@
#include <linux/version.h>
-#ifdef CPTCFG_BPAUTO_BUILD_CRYPTO_CCM
-int crypto_ccm_module_init(void);
-void crypto_ccm_module_exit(void);
-#else
-static inline int crypto_ccm_module_init(void)
-{ return 0; }
-static inline void crypto_ccm_module_exit(void)
-{}
-#endif
-
#ifdef CPTCFG_BPAUTO_BUILD_WANT_DEV_COREDUMP
int devcoredump_init(void);
void devcoredump_exit(void);
diff --git a/backport/compat/main.c b/backport/compat/main.c
index 5d45e3dad3e3..0bf04201a0bd 100644
--- a/backport/compat/main.c
+++ b/backport/compat/main.c
@@ -53,16 +53,10 @@ EXPORT_SYMBOL_GPL(backport_dependency_symbol);
static int __init backport_init(void)
{
- int ret = crypto_ccm_module_init();
+ int ret = devcoredump_init();
if (ret)
return ret;
- ret = devcoredump_init();
- if (ret) {
- crypto_ccm_module_exit();
- return ret;
- }
-
printk(KERN_INFO "Loading modules backported from " CPTCFG_KERNEL_NAME
#ifndef BACKPORTS_GIT_TRACKED
" version " CPTCFG_KERNEL_VERSION
@@ -86,7 +80,6 @@ subsys_initcall(backport_init);
static void __exit backport_exit(void)
{
- crypto_ccm_module_exit();
devcoredump_exit();
}
module_exit(backport_exit);
diff --git a/patches/crypto-ccm.patch b/patches/crypto-ccm.patch
deleted file mode 100644
index 2136689eca91..000000000000
--- a/patches/crypto-ccm.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- a/compat/crypto-ccm.c
-+++ b/compat/crypto-ccm.c
-@@ -14,13 +14,44 @@
- #include <crypto/internal/hash.h>
- #include <crypto/internal/skcipher.h>
- #include <crypto/scatterwalk.h>
-+#include <crypto/algapi.h>
- #include <linux/err.h>
- #include <linux/init.h>
- #include <linux/kernel.h>
- #include <linux/module.h>
- #include <linux/slab.h>
-+#include <linux/version.h>
-
--#include "internal.h"
-+#if LINUX_VERSION_IS_LESS(3,13,0)
-+/* consider properly backporting this? */
-+static int crypto_memneq(const void *a, const void *b, size_t size)
-+{
-+ unsigned long neq = 0;
-+
-+#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
-+ while (size >= sizeof(unsigned long)) {
-+ neq |= *(unsigned long *)a ^ *(unsigned long *)b;
-+ /* OPTIMIZER_HIDE_VAR(neq); */
-+ barrier();
-+ a += sizeof(unsigned long);
-+ b += sizeof(unsigned long);
-+ size -= sizeof(unsigned long);
-+ }
-+#endif /* CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS */
-+ while (size > 0) {
-+ neq |= *(unsigned char *)a ^ *(unsigned char *)b;
-+ /* OPTIMIZER_HIDE_VAR(neq); */
-+ barrier();
-+ a += 1;
-+ b += 1;
-+ size -= 1;
-+ }
-+ return neq != 0UL ? 1 : 0;
-+}
-+#endif
-+
-+/* from internal.h */
-+struct crypto_alg *crypto_alg_mod_lookup(const char *name, u32 type, u32 mask);
-
- struct ccm_instance_ctx {
- struct crypto_skcipher_spawn ctr;
-@@ -1001,7 +1032,7 @@ static struct crypto_template crypto_cbc
- .module = THIS_MODULE,
- };
-
--static int __init crypto_ccm_module_init(void)
-+int __init crypto_ccm_module_init(void)
- {
- int err;
-
-@@ -1033,19 +1064,10 @@ out_undo_cbcmac:
- goto out;
- }
-
--static void __exit crypto_ccm_module_exit(void)
-+void __exit crypto_ccm_module_exit(void)
- {
- crypto_unregister_template(&crypto_rfc4309_tmpl);
- crypto_unregister_template(&crypto_ccm_tmpl);
- crypto_unregister_template(&crypto_ccm_base_tmpl);
- crypto_unregister_template(&crypto_cbcmac_tmpl);
- }
--
--module_init(crypto_ccm_module_init);
--module_exit(crypto_ccm_module_exit);
--
--MODULE_LICENSE("GPL");
--MODULE_DESCRIPTION("Counter with CBC MAC");
--MODULE_ALIAS_CRYPTO("ccm_base");
--MODULE_ALIAS_CRYPTO("rfc4309");
--MODULE_ALIAS_CRYPTO("ccm");
--
2.14.2
T24gRnJpLCAyMDE3LTEwLTEzIGF0IDEyOjI4ICswMjAwLCBKb2hhbm5lcyBCZXJnIHdyb3RlOgo+
IEZyb206IEpvaGFubmVzIEJlcmcgPGpvaGFubmVzLmJlcmdAaW50ZWwuY29tPgo+IAo+IFRoaXMg
bmV2ZXIgYWN0dWFsbHkgd29ya2VkIHByb3Blcmx5IGFzIGZhciBhcyBJIGNhbiB0ZWxsLAo+IGFu
ZCBub3cgaXQgbG9va3MgbGlrZSBpdCB3b24ndCBldmVuIGNvbXBpbGUgZHVlIHRvIHRoZQo+IHJl
YWwgY3J5cHRvX21lbW5lcSgpIGJhY2twb3J0Lgo+IAo+IEp1c3QgcmVtb3ZlIGl0IC0gZGlzdHJv
IGtlcm5lbHMgaGF2ZSBpdCBlbmFibGVkIGFuZCBhbGwKPiBvdGhlcnMgc2hvdWxkIGp1c3QgZW5h
YmxlIGl0LgoKU29ycnksIHdyb25nIGxpc3QsIHdpbGwgcmVzZW5kLgoKam9oYW5uZXMKSW50ZWwg
RGV1dHNjaGxhbmQgR21iSApSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAtMTIsIDg1
NTc5IE5ldWJpYmVyZywgR2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5k
ZQpNYW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBDaHJpc3RpYW4gTGFt
cHJlY2h0ZXIKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1
ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10c2dlcmlj
aHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=