2022-09-19 06:32:14

by Lukas Bulwahn

[permalink] [raw]
Subject: [PATCH] crypto: add rsize config to .config only if lib_poly1305 is set

The config CRYPTO_LIB_POLY1305_RSIZE should only be part of a kernel
build configuration (.config file) when config CRYPTO_LIB_POLY1305 is set.

Add a suitable dependency for CONFIG_CRYPTO_LIB_POLY1305_RSIZE.

Signed-off-by: Lukas Bulwahn <[email protected]>
---
lib/crypto/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
index 7e9683e9f5c6..71b90952e496 100644
--- a/lib/crypto/Kconfig
+++ b/lib/crypto/Kconfig
@@ -84,6 +84,7 @@ config CRYPTO_LIB_DES

config CRYPTO_LIB_POLY1305_RSIZE
int
+ depends on CRYPTO_LIB_POLY1305
default 2 if MIPS
default 11 if X86_64
default 9 if ARM || ARM64
--
2.17.1


2022-09-19 15:14:15

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH] crypto: add rsize config to .config only if lib_poly1305 is set

Hi Lukas,

I love your patch! Yet something to improve:

[auto build test ERROR on herbert-cryptodev-2.6/master]
[also build test ERROR on herbert-crypto-2.6/master linus/master v6.0-rc6 next-20220919]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Lukas-Bulwahn/crypto-add-rsize-config-to-config-only-if-lib_poly1305-is-set/20220919-140531
base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
config: arm-defconfig (https://download.01.org/0day-ci/archive/20220919/[email protected]/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/intel-lab-lkp/linux/commit/c1954797e493eabf02f354e290fe380ace0633e4
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Lukas-Bulwahn/crypto-add-rsize-config-to-config-only-if-lib_poly1305-is-set/20220919-140531
git checkout c1954797e493eabf02f354e290fe380ace0633e4
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/crypto/caam/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>):

In file included from drivers/crypto/caam/ctrl.c:15:
In file included from drivers/crypto/caam/compat.h:41:
>> include/crypto/poly1305.h:56:32: error: use of undeclared identifier 'CONFIG_CRYPTO_LIB_POLY1305_RSIZE'
struct poly1305_key opaque_r[CONFIG_CRYPTO_LIB_POLY1305_RSIZE];
^
1 error generated.


vim +/CONFIG_CRYPTO_LIB_POLY1305_RSIZE +56 include/crypto/poly1305.h

878afc35cd28bc Eric Biggers 2018-11-16 40
2546f811ef45fc Martin Willi 2015-07-16 41 struct poly1305_desc_ctx {
2546f811ef45fc Martin Willi 2015-07-16 42 /* partial buffer */
2546f811ef45fc Martin Willi 2015-07-16 43 u8 buf[POLY1305_BLOCK_SIZE];
2546f811ef45fc Martin Willi 2015-07-16 44 /* bytes used in partial buffer */
2546f811ef45fc Martin Willi 2015-07-16 45 unsigned int buflen;
ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 46 /* how many keys have been set in r[] */
ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 47 unsigned short rset;
ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 48 /* whether s[] has been set */
2546f811ef45fc Martin Willi 2015-07-16 49 bool sset;
ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 50 /* finalize key */
ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 51 u32 s[4];
ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 52 /* accumulator */
ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 53 struct poly1305_state h;
ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 54 /* key */
1c08a104360f3e Jason A. Donenfeld 2020-01-05 55 union {
1c08a104360f3e Jason A. Donenfeld 2020-01-05 @56 struct poly1305_key opaque_r[CONFIG_CRYPTO_LIB_POLY1305_RSIZE];
1c08a104360f3e Jason A. Donenfeld 2020-01-05 57 struct poly1305_core_key core_r;
1c08a104360f3e Jason A. Donenfeld 2020-01-05 58 };
2546f811ef45fc Martin Willi 2015-07-16 59 };
2546f811ef45fc Martin Willi 2015-07-16 60

--
0-DAY CI Kernel Test Service
https://01.org/lkp

2022-09-22 09:24:13

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH] crypto: add rsize config to .config only if lib_poly1305 is set

On Mon, Sep 19, 2022 at 5:10 PM kernel test robot <[email protected]> wrote:
>
> Hi Lukas,
>
> I love your patch! Yet something to improve:

Thanks, kernel test robot ;)

Okay, I see that I need to reiterate on this patch. The crypto caam
driver pulls in a number of headers without a dependency with Kconfig
on the corresponding config symbol here. I will check if I find a good
solution for that.

For now, this patch can be ignored until I find time to send out a patch v2.

Lukas

>
> [auto build test ERROR on herbert-cryptodev-2.6/master]
> [also build test ERROR on herbert-crypto-2.6/master linus/master v6.0-rc6 next-20220919]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Lukas-Bulwahn/crypto-add-rsize-config-to-config-only-if-lib_poly1305-is-set/20220919-140531
> base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
> config: arm-defconfig (https://download.01.org/0day-ci/archive/20220919/[email protected]/config)
> compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install arm cross compiling tool for clang build
> # apt-get install binutils-arm-linux-gnueabi
> # https://github.com/intel-lab-lkp/linux/commit/c1954797e493eabf02f354e290fe380ace0633e4
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Lukas-Bulwahn/crypto-add-rsize-config-to-config-only-if-lib_poly1305-is-set/20220919-140531
> git checkout c1954797e493eabf02f354e290fe380ace0633e4
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/crypto/caam/
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <[email protected]>
>
> All errors (new ones prefixed by >>):
>
> In file included from drivers/crypto/caam/ctrl.c:15:
> In file included from drivers/crypto/caam/compat.h:41:
> >> include/crypto/poly1305.h:56:32: error: use of undeclared identifier 'CONFIG_CRYPTO_LIB_POLY1305_RSIZE'
> struct poly1305_key opaque_r[CONFIG_CRYPTO_LIB_POLY1305_RSIZE];
> ^
> 1 error generated.
>
>
> vim +/CONFIG_CRYPTO_LIB_POLY1305_RSIZE +56 include/crypto/poly1305.h
>
> 878afc35cd28bc Eric Biggers 2018-11-16 40
> 2546f811ef45fc Martin Willi 2015-07-16 41 struct poly1305_desc_ctx {
> 2546f811ef45fc Martin Willi 2015-07-16 42 /* partial buffer */
> 2546f811ef45fc Martin Willi 2015-07-16 43 u8 buf[POLY1305_BLOCK_SIZE];
> 2546f811ef45fc Martin Willi 2015-07-16 44 /* bytes used in partial buffer */
> 2546f811ef45fc Martin Willi 2015-07-16 45 unsigned int buflen;
> ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 46 /* how many keys have been set in r[] */
> ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 47 unsigned short rset;
> ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 48 /* whether s[] has been set */
> 2546f811ef45fc Martin Willi 2015-07-16 49 bool sset;
> ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 50 /* finalize key */
> ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 51 u32 s[4];
> ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 52 /* accumulator */
> ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 53 struct poly1305_state h;
> ad8f5b88383ea6 Ard Biesheuvel 2019-11-08 54 /* key */
> 1c08a104360f3e Jason A. Donenfeld 2020-01-05 55 union {
> 1c08a104360f3e Jason A. Donenfeld 2020-01-05 @56 struct poly1305_key opaque_r[CONFIG_CRYPTO_LIB_POLY1305_RSIZE];
> 1c08a104360f3e Jason A. Donenfeld 2020-01-05 57 struct poly1305_core_key core_r;
> 1c08a104360f3e Jason A. Donenfeld 2020-01-05 58 };
> 2546f811ef45fc Martin Willi 2015-07-16 59 };
> 2546f811ef45fc Martin Willi 2015-07-16 60
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp