From 903833a3cf9c7c357730cde99937b7eb81abc5c9 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 17 Sep 2018 18:55:12 +0200 Subject: crypto: do not use -include trick --- src/crypto/Kbuild.include | 30 +++++++++------------- src/crypto/zinc/blake2s/blake2s-x86_64-glue.h | 3 --- src/crypto/zinc/blake2s/blake2s.c | 4 ++- src/crypto/zinc/chacha20/chacha20-arm-glue.h | 3 --- src/crypto/zinc/chacha20/chacha20-mips-glue.h | 4 --- src/crypto/zinc/chacha20/chacha20-x86_64-glue.h | 3 --- src/crypto/zinc/chacha20/chacha20.c | 8 +++++- src/crypto/zinc/curve25519/curve25519-arm-glue.h | 3 --- .../zinc/curve25519/curve25519-x86_64-glue.h | 3 --- src/crypto/zinc/curve25519/curve25519.c | 6 ++++- src/crypto/zinc/poly1305/poly1305-arm-glue.h | 3 --- src/crypto/zinc/poly1305/poly1305-mips-glue.h | 4 --- src/crypto/zinc/poly1305/poly1305-x86_64-glue.h | 3 --- src/crypto/zinc/poly1305/poly1305.c | 8 +++++- 14 files changed, 34 insertions(+), 51 deletions(-) (limited to 'src') diff --git a/src/crypto/Kbuild.include b/src/crypto/Kbuild.include index c252c80..9ea7452 100644 --- a/src/crypto/Kbuild.include +++ b/src/crypto/Kbuild.include @@ -1,49 +1,43 @@ -ifeq ($(wildcard $(src)/compat/compat.h),) -cmd_include_path_prefix := $(srctree)/$(src) -else -cmd_include_path_prefix := $(src) -endif - ccflags-y += -I$(src)/crypto/include wireguard-y += crypto/zinc/chacha20/chacha20.o ifeq ($(CONFIG_X86_64)$(if $(CONFIG_UML),y,n),yn) wireguard-y += crypto/zinc/chacha20/chacha20-x86_64.o -CFLAGS_chacha20.o += -include $(cmd_include_path_prefix)/crypto/zinc/chacha20/chacha20-x86_64-glue.h +CFLAGS_chacha20.o += -DCONFIG_ZINC_ARCH_X86_64 endif ifeq ($(CONFIG_ARM),y) wireguard-y += crypto/zinc/chacha20/chacha20-arm.o -CFLAGS_chacha20.o += -include $(cmd_include_path_prefix)/crypto/zinc/chacha20/chacha20-arm-glue.h +CFLAGS_chacha20.o += -DCONFIG_ZINC_ARCH_ARM endif ifeq ($(CONFIG_ARM64),y) wireguard-y += crypto/zinc/chacha20/chacha20-arm64.o -CFLAGS_chacha20.o += -include $(cmd_include_path_prefix)/crypto/zinc/chacha20/chacha20-arm-glue.h +CFLAGS_chacha20.o += -DCONFIG_ZINC_ARCH_ARM64 endif ifeq ($(CONFIG_MIPS)$(CONFIG_CPU_MIPS32_R2),yy) wireguard-y += crypto/zinc/chacha20/chacha20-mips.o -CFLAGS_chacha20.o += -include $(cmd_include_path_prefix)/crypto/zinc/chacha20/chacha20-mips-glue.h +CFLAGS_chacha20.o += -DCONFIG_ZINC_ARCH_MIPS endif wireguard-y += crypto/zinc/poly1305/poly1305.o ifeq ($(CONFIG_X86_64)$(if $(CONFIG_UML),y,n),yn) wireguard-y += crypto/zinc/poly1305/poly1305-x86_64.o -CFLAGS_poly1305.o += -include $(cmd_include_path_prefix)/crypto/zinc/poly1305/poly1305-x86_64-glue.h +CFLAGS_poly1305.o += -DCONFIG_ZINC_ARCH_X86_64 endif ifeq ($(CONFIG_ARM),y) wireguard-y += crypto/zinc/poly1305/poly1305-arm.o -CFLAGS_poly1305.o += -include $(cmd_include_path_prefix)/crypto/zinc/poly1305/poly1305-arm-glue.h +CFLAGS_poly1305.o += -DCONFIG_ZINC_ARCH_ARM endif ifeq ($(CONFIG_ARM64),y) wireguard-y += crypto/zinc/poly1305/poly1305-arm64.o -CFLAGS_poly1305.o += -include $(cmd_include_path_prefix)/crypto/zinc/poly1305/poly1305-arm-glue.h +CFLAGS_poly1305.o += -DCONFIG_ZINC_ARCH_ARM64 endif ifeq ($(CONFIG_MIPS)$(CONFIG_CPU_MIPS32_R2),yy) wireguard-y += crypto/zinc/poly1305/poly1305-mips.o -CFLAGS_poly1305.o += -include $(cmd_include_path_prefix)/crypto/zinc/poly1305/poly1305-mips-glue.h +CFLAGS_poly1305.o += -DCONFIG_ZINC_ARCH_MIPS endif ifeq ($(CONFIG_MIPS)$(CONFIG_64BIT),yy) wireguard-y += crypto/zinc/poly1305/poly1305-mips64.o -CFLAGS_poly1305.o += -include $(cmd_include_path_prefix)/crypto/zinc/poly1305/poly1305-mips-glue.h +CFLAGS_poly1305.o += -DCONFIG_ZINC_ARCH_MIPS64 endif wireguard-y += crypto/zinc/chacha20poly1305.o @@ -51,14 +45,14 @@ wireguard-y += crypto/zinc/chacha20poly1305.o wireguard-y += crypto/zinc/curve25519/curve25519.o ifeq ($(CONFIG_ARM)$(CONFIG_KERNEL_MODE_NEON),yy) wireguard-y += crypto/zinc/curve25519/curve25519-arm.o -CFLAGS_curve25519.o += -include $(cmd_include_path_prefix)/crypto/zinc/curve25519/curve25519-arm-glue.h +CFLAGS_curve25519.o += -DCONFIG_ZINC_ARCH_ARM endif ifeq ($(CONFIG_X86_64)$(if $(CONFIG_UML),y,n),yn) -CFLAGS_curve25519.o += -include $(cmd_include_path_prefix)/crypto/zinc/curve25519/curve25519-x86_64-glue.h +CFLAGS_curve25519.o += -DCONFIG_ZINC_ARCH_X86_64 endif wireguard-y += crypto/zinc/blake2s/blake2s.o ifeq ($(CONFIG_X86_64)$(if $(CONFIG_UML),y,n),yn) wireguard-y += crypto/zinc/blake2s/blake2s-x86_64.o -CFLAGS_blake2s.o += -include $(cmd_include_path_prefix)/crypto/zinc/blake2s/blake2s-x86_64-glue.h +CFLAGS_blake2s.o += -DCONFIG_ZINC_ARCH_X86_64 endif diff --git a/src/crypto/zinc/blake2s/blake2s-x86_64-glue.h b/src/crypto/zinc/blake2s/blake2s-x86_64-glue.h index f0b43e8..e7cbef7 100644 --- a/src/crypto/zinc/blake2s/blake2s-x86_64-glue.h +++ b/src/crypto/zinc/blake2s/blake2s-x86_64-glue.h @@ -3,7 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include #include #include #include @@ -60,5 +59,3 @@ static inline bool blake2s_arch(struct blake2s_state *state, const u8 *block, #endif return false; } - -#define HAVE_BLAKE2S_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/blake2s/blake2s.c b/src/crypto/zinc/blake2s/blake2s.c index d0b9bb9..bedff1e 100644 --- a/src/crypto/zinc/blake2s/blake2s.c +++ b/src/crypto/zinc/blake2s/blake2s.c @@ -111,7 +111,9 @@ void blake2s_init_key(struct blake2s_state *state, const size_t outlen, } EXPORT_SYMBOL(blake2s_init_key); -#ifndef HAVE_BLAKE2S_ARCH_IMPLEMENTATION +#if defined(CONFIG_ZINC_ARCH_X86_64) +#include "blake2s-x86_64-glue.h" +#else void __init blake2s_fpu_init(void) { } diff --git a/src/crypto/zinc/chacha20/chacha20-arm-glue.h b/src/crypto/zinc/chacha20/chacha20-arm-glue.h index 0c8c9d5..1de1a71 100644 --- a/src/crypto/zinc/chacha20/chacha20-arm-glue.h +++ b/src/crypto/zinc/chacha20/chacha20-arm-glue.h @@ -3,7 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include #include #include @@ -46,5 +45,3 @@ static inline bool hchacha20_arch(u8 *derived_key, const u8 *nonce, { return false; } - -#define HAVE_CHACHA20_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/chacha20/chacha20-mips-glue.h b/src/crypto/zinc/chacha20/chacha20-mips-glue.h index e4185e1..4bdaea5 100644 --- a/src/crypto/zinc/chacha20/chacha20-mips-glue.h +++ b/src/crypto/zinc/chacha20/chacha20-mips-glue.h @@ -3,8 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include - asmlinkage void chacha20_mips(u8 *out, const u8 *in, const size_t len, const u32 key[8], const u32 counter[4]); void __init chacha20_fpu_init(void) @@ -24,5 +22,3 @@ static inline bool hchacha20_arch(u8 *derived_key, const u8 *nonce, { return false; } - -#define HAVE_CHACHA20_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/chacha20/chacha20-x86_64-glue.h b/src/crypto/zinc/chacha20/chacha20-x86_64-glue.h index aef9697..e9a0d1e 100644 --- a/src/crypto/zinc/chacha20/chacha20-x86_64-glue.h +++ b/src/crypto/zinc/chacha20/chacha20-x86_64-glue.h @@ -3,7 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include #include #include #include @@ -101,5 +100,3 @@ static inline bool hchacha20_arch(u8 *derived_key, const u8 *nonce, #endif return false; } - -#define HAVE_CHACHA20_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/chacha20/chacha20.c b/src/crypto/zinc/chacha20/chacha20.c index da04d5b..a7156a9 100644 --- a/src/crypto/zinc/chacha20/chacha20.c +++ b/src/crypto/zinc/chacha20/chacha20.c @@ -12,7 +12,13 @@ #include #include -#ifndef HAVE_CHACHA20_ARCH_IMPLEMENTATION +#if defined(CONFIG_ZINC_ARCH_X86_64) +#include "chacha20-x86_64-glue.h" +#elif defined(CONFIG_ZINC_ARCH_ARM) || defined(CONFIG_ZINC_ARCH_ARM64) +#include "chacha20-arm-glue.h" +#elif defined(CONFIG_ZINC_ARCH_MIPS) +#include "chacha20-mips-glue.h" +#else void __init chacha20_fpu_init(void) { } diff --git a/src/crypto/zinc/curve25519/curve25519-arm-glue.h b/src/crypto/zinc/curve25519/curve25519-arm-glue.h index 494fd3e..1b39920 100644 --- a/src/crypto/zinc/curve25519/curve25519-arm-glue.h +++ b/src/crypto/zinc/curve25519/curve25519-arm-glue.h @@ -3,7 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include #include #include #include @@ -42,5 +41,3 @@ static inline bool curve25519_base_arch(u8 pub[CURVE25519_POINT_SIZE], { return false; } - -#define HAVE_CURVE25519_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/curve25519/curve25519-x86_64-glue.h b/src/crypto/zinc/curve25519/curve25519-x86_64-glue.h index 3996b48..9159460 100644 --- a/src/crypto/zinc/curve25519/curve25519-x86_64-glue.h +++ b/src/crypto/zinc/curve25519/curve25519-x86_64-glue.h @@ -3,7 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include #include #include @@ -45,5 +44,3 @@ static inline bool curve25519_base_arch(u8 pub[CURVE25519_POINT_SIZE], } return false; } - -#define HAVE_CURVE25519_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/curve25519/curve25519.c b/src/crypto/zinc/curve25519/curve25519.c index a20b295..7d19fb9 100644 --- a/src/crypto/zinc/curve25519/curve25519.c +++ b/src/crypto/zinc/curve25519/curve25519.c @@ -17,7 +17,11 @@ #include #include -#ifndef HAVE_CURVE25519_ARCH_IMPLEMENTATION +#if defined(CONFIG_ZINC_ARCH_X86_64) +#include "curve25519-x86_64-glue.h" +#elif defined(CONFIG_ZINC_ARCH_ARM) +#include "curve25519-arm-glue.h" +#else void __init curve25519_fpu_init(void) { } diff --git a/src/crypto/zinc/poly1305/poly1305-arm-glue.h b/src/crypto/zinc/poly1305/poly1305-arm-glue.h index 6ec2fc8..50fb519 100644 --- a/src/crypto/zinc/poly1305/poly1305-arm-glue.h +++ b/src/crypto/zinc/poly1305/poly1305-arm-glue.h @@ -3,7 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include #include #include @@ -64,5 +63,3 @@ static inline bool poly1305_emit_arch(void *ctx, u8 mac[POLY1305_MAC_SIZE], poly1305_emit_arm(ctx, mac, nonce); return true; } - -#define HAVE_POLY1305_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/poly1305/poly1305-mips-glue.h b/src/crypto/zinc/poly1305/poly1305-mips-glue.h index 0e72c8b..6af3f57 100644 --- a/src/crypto/zinc/poly1305/poly1305-mips-glue.h +++ b/src/crypto/zinc/poly1305/poly1305-mips-glue.h @@ -3,8 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include - asmlinkage void poly1305_init_mips(void *ctx, const u8 key[16]); asmlinkage void poly1305_blocks_mips(void *ctx, const u8 *inp, const size_t len, const u32 padbit); @@ -35,5 +33,3 @@ static inline bool poly1305_emit_arch(void *ctx, u8 mac[POLY1305_MAC_SIZE], poly1305_emit_mips(ctx, mac, nonce); return true; } - -#define HAVE_POLY1305_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/poly1305/poly1305-x86_64-glue.h b/src/crypto/zinc/poly1305/poly1305-x86_64-glue.h index a884d22..63e2a5c 100644 --- a/src/crypto/zinc/poly1305/poly1305-x86_64-glue.h +++ b/src/crypto/zinc/poly1305/poly1305-x86_64-glue.h @@ -3,7 +3,6 @@ * Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. */ -#include #include #include #include @@ -117,5 +116,3 @@ static inline bool poly1305_emit_arch(void *ctx, u8 mac[POLY1305_MAC_SIZE], poly1305_emit_x86_64(ctx, mac, nonce); return true; } - -#define HAVE_POLY1305_ARCH_IMPLEMENTATION diff --git a/src/crypto/zinc/poly1305/poly1305.c b/src/crypto/zinc/poly1305/poly1305.c index a098b61..aad6587 100644 --- a/src/crypto/zinc/poly1305/poly1305.c +++ b/src/crypto/zinc/poly1305/poly1305.c @@ -13,7 +13,13 @@ #include #include -#ifndef HAVE_POLY1305_ARCH_IMPLEMENTATION +#if defined(CONFIG_ZINC_ARCH_X86_64) +#include "poly1305-x86_64-glue.h" +#elif defined(CONFIG_ZINC_ARCH_ARM) || defined(CONFIG_ZINC_ARCH_ARM64) +#include "poly1305-arm-glue.h" +#elif defined(CONFIG_ZINC_ARCH_MIPS) || defined(CONFIG_ZINC_ARCH_MIPS64) +#include "poly1305-mips-glue.h" +#else static inline bool poly1305_init_arch(void *ctx, const u8 key[POLY1305_KEY_SIZE]) { -- cgit v1.2.3-59-g8ed1b