Message ID | 20210202094500.679761-1-rong.a.chen@intel.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | selftests/tls: fix compile errors after adding CHACHA20-POLY1305 | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Guessed tree name to be net-next |
netdev/subject_prefix | warning | Target tree name not specified in the subject |
netdev/cc_maintainers | warning | 5 maintainers not CCed: shuah@kernel.org linux-kselftest@vger.kernel.org daniel@iogearbox.net davem@davemloft.net john.fastabend@gmail.com |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 92 this patch: 92 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 42 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 92 this patch: 92 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
On 02.02.2021 09:45, Rong Chen wrote: > The kernel test robot reported the following errors: > > tls.c: In function ‘tls_setup’: > tls.c:136:27: error: storage size of ‘tls12’ isn’t known > union tls_crypto_context tls12; > ^~~~~ > tls.c:150:21: error: ‘tls12_crypto_info_chacha20_poly1305’ undeclared (first use in this function) > tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > tls.c:150:21: note: each undeclared identifier is reported only once for each function it appears in > tls.c:153:21: error: ‘tls12_crypto_info_aes_gcm_128’ undeclared (first use in this function) > tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); > > Fixes: 4f336e88a870 ("selftests/tls: add CHACHA20-POLY1305 to tls selftests") > Reported-by: kernel test robot <oliver.sang@intel.com> > Link: https://lore.kernel.org/lkml/20210108064141.GB3437@xsang-OptiPlex-9020/ > Signed-off-by: Rong Chen <rong.a.chen@intel.com> > --- > include/net/tls.h | 9 --------- > include/uapi/linux/tls.h | 9 +++++++++ > tools/testing/selftests/net/tls.c | 4 ++-- > 3 files changed, 11 insertions(+), 11 deletions(-) > > diff --git a/include/net/tls.h b/include/net/tls.h > index 3eccb525e8f7..54f7863ad915 100644 > --- a/include/net/tls.h > +++ b/include/net/tls.h > @@ -212,15 +212,6 @@ struct cipher_context { > char *rec_seq; > }; > > -union tls_crypto_context { > - struct tls_crypto_info info; > - union { > - struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; > - struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; > - struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; > - }; > -}; > - > struct tls_prot_info { > u16 version; > u16 cipher_type; > diff --git a/include/uapi/linux/tls.h b/include/uapi/linux/tls.h > index 0d54baea1d8d..9933dd425571 100644 > --- a/include/uapi/linux/tls.h > +++ b/include/uapi/linux/tls.h > @@ -124,6 +124,15 @@ struct tls12_crypto_info_chacha20_poly1305 { > unsigned char rec_seq[TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE]; > }; > > +union tls_crypto_context { > + struct tls_crypto_info info; > + union { > + struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; > + struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; > + struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; > + }; > +}; > + > enum { > TLS_INFO_UNSPEC, > TLS_INFO_VERSION, > diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/net/tls.c > index e0088c2d38a5..6951c8524a27 100644 > --- a/tools/testing/selftests/net/tls.c > +++ b/tools/testing/selftests/net/tls.c > @@ -147,10 +147,10 @@ FIXTURE_SETUP(tls) > tls12.info.cipher_type = variant->cipher_type; > switch (variant->cipher_type) { > case TLS_CIPHER_CHACHA20_POLY1305: > - tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); > + tls12_sz = sizeof(struct tls12_crypto_info_chacha20_poly1305); > break; > case TLS_CIPHER_AES_GCM_128: > - tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); > + tls12_sz = sizeof(struct tls12_crypto_info_aes_gcm_128); > break; > default: > tls12_sz = 0; > I'm not sure that it's a good idea to move tls_crypto_context to uapi as it's an internal union. Previous patches assumes that user-space uses different structures for different cipher configurations.
On Tue, 2 Feb 2021 17:45:00 +0800 Rong Chen wrote: > The kernel test robot reported the following errors: > > tls.c: In function ‘tls_setup’: > tls.c:136:27: error: storage size of ‘tls12’ isn’t known > union tls_crypto_context tls12; > ^~~~~ > tls.c:150:21: error: ‘tls12_crypto_info_chacha20_poly1305’ undeclared (first use in this function) > tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > tls.c:150:21: note: each undeclared identifier is reported only once for each function it appears in > tls.c:153:21: error: ‘tls12_crypto_info_aes_gcm_128’ undeclared (first use in this function) > tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); > > Fixes: 4f336e88a870 ("selftests/tls: add CHACHA20-POLY1305 to tls selftests") > Reported-by: kernel test robot <oliver.sang@intel.com> > Link: https://lore.kernel.org/lkml/20210108064141.GB3437@xsang-OptiPlex-9020/ > Signed-off-by: Rong Chen <rong.a.chen@intel.com> Are you sure you have latest headers installed on your system? Try make headers_install or some such, I forgot what the way to appease selftest was exactly but selftests often don't build on a fresh kernel clone if system headers are not very recent :S
On 2/2/21 6:11 PM, Vadim Fedorenko wrote: > On 02.02.2021 09:45, Rong Chen wrote: >> The kernel test robot reported the following errors: >> >> tls.c: In function ‘tls_setup’: >> tls.c:136:27: error: storage size of ‘tls12’ isn’t known >> union tls_crypto_context tls12; >> ^~~~~ >> tls.c:150:21: error: ‘tls12_crypto_info_chacha20_poly1305’ undeclared >> (first use in this function) >> tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> tls.c:150:21: note: each undeclared identifier is reported only once >> for each function it appears in >> tls.c:153:21: error: ‘tls12_crypto_info_aes_gcm_128’ undeclared >> (first use in this function) >> tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); >> >> Fixes: 4f336e88a870 ("selftests/tls: add CHACHA20-POLY1305 to tls >> selftests") >> Reported-by: kernel test robot <oliver.sang@intel.com> >> Link: >> https://lore.kernel.org/lkml/20210108064141.GB3437@xsang-OptiPlex-9020/ >> Signed-off-by: Rong Chen <rong.a.chen@intel.com> >> --- >> include/net/tls.h | 9 --------- >> include/uapi/linux/tls.h | 9 +++++++++ >> tools/testing/selftests/net/tls.c | 4 ++-- >> 3 files changed, 11 insertions(+), 11 deletions(-) >> >> diff --git a/include/net/tls.h b/include/net/tls.h >> index 3eccb525e8f7..54f7863ad915 100644 >> --- a/include/net/tls.h >> +++ b/include/net/tls.h >> @@ -212,15 +212,6 @@ struct cipher_context { >> char *rec_seq; >> }; >> -union tls_crypto_context { >> - struct tls_crypto_info info; >> - union { >> - struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; >> - struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; >> - struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; >> - }; >> -}; >> - >> struct tls_prot_info { >> u16 version; >> u16 cipher_type; >> diff --git a/include/uapi/linux/tls.h b/include/uapi/linux/tls.h >> index 0d54baea1d8d..9933dd425571 100644 >> --- a/include/uapi/linux/tls.h >> +++ b/include/uapi/linux/tls.h >> @@ -124,6 +124,15 @@ struct tls12_crypto_info_chacha20_poly1305 { >> unsigned char rec_seq[TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE]; >> }; >> +union tls_crypto_context { >> + struct tls_crypto_info info; >> + union { >> + struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; >> + struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; >> + struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; >> + }; >> +}; >> + >> enum { >> TLS_INFO_UNSPEC, >> TLS_INFO_VERSION, >> diff --git a/tools/testing/selftests/net/tls.c >> b/tools/testing/selftests/net/tls.c >> index e0088c2d38a5..6951c8524a27 100644 >> --- a/tools/testing/selftests/net/tls.c >> +++ b/tools/testing/selftests/net/tls.c >> @@ -147,10 +147,10 @@ FIXTURE_SETUP(tls) >> tls12.info.cipher_type = variant->cipher_type; >> switch (variant->cipher_type) { >> case TLS_CIPHER_CHACHA20_POLY1305: >> - tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); >> + tls12_sz = sizeof(struct tls12_crypto_info_chacha20_poly1305); >> break; >> case TLS_CIPHER_AES_GCM_128: >> - tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); >> + tls12_sz = sizeof(struct tls12_crypto_info_aes_gcm_128); >> break; >> default: >> tls12_sz = 0; >> > > I'm not sure that it's a good idea to move tls_crypto_context to uapi > as it's > an internal union. Previous patches assumes that user-space uses > different > structures for different cipher configurations. Hi Vadim, Sorry i don't have the background, could you help to fix these build errors? Best Regards, Rong Chen
On 2/3/21 5:53 AM, Jakub Kicinski wrote: > On Tue, 2 Feb 2021 17:45:00 +0800 Rong Chen wrote: >> The kernel test robot reported the following errors: >> >> tls.c: In function ‘tls_setup’: >> tls.c:136:27: error: storage size of ‘tls12’ isn’t known >> union tls_crypto_context tls12; >> ^~~~~ >> tls.c:150:21: error: ‘tls12_crypto_info_chacha20_poly1305’ undeclared (first use in this function) >> tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> tls.c:150:21: note: each undeclared identifier is reported only once for each function it appears in >> tls.c:153:21: error: ‘tls12_crypto_info_aes_gcm_128’ undeclared (first use in this function) >> tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); >> >> Fixes: 4f336e88a870 ("selftests/tls: add CHACHA20-POLY1305 to tls selftests") >> Reported-by: kernel test robot <oliver.sang@intel.com> >> Link: https://lore.kernel.org/lkml/20210108064141.GB3437@xsang-OptiPlex-9020/ >> Signed-off-by: Rong Chen <rong.a.chen@intel.com> > Are you sure you have latest headers installed on your system? > > Try make headers_install or some such, I forgot what the way to appease > selftest was exactly but selftests often don't build on a fresh kernel > clone if system headers are not very recent :S Hi Jakub, These errors still exist when testing the latest linux-next/master branch on our test system, and kernelci noticed the errors too: https://storage.staging.kernelci.org/kernelci/staging-mainline/staging-mainline-20210130.0/x86_64/x86_64_defconfig+kselftest/gcc-8/build.log Best Regards, Rong Chen
On 03.02.2021 00:58, Rong Chen wrote: > > > On 2/2/21 6:11 PM, Vadim Fedorenko wrote: >> On 02.02.2021 09:45, Rong Chen wrote: >>> The kernel test robot reported the following errors: >>> >>> tls.c: In function ‘tls_setup’: >>> tls.c:136:27: error: storage size of ‘tls12’ isn’t known >>> union tls_crypto_context tls12; >>> ^~~~~ >>> tls.c:150:21: error: ‘tls12_crypto_info_chacha20_poly1305’ undeclared (first >>> use in this function) >>> tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); >>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> tls.c:150:21: note: each undeclared identifier is reported only once for each >>> function it appears in >>> tls.c:153:21: error: ‘tls12_crypto_info_aes_gcm_128’ undeclared (first use in >>> this function) >>> tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); >>> >>> Fixes: 4f336e88a870 ("selftests/tls: add CHACHA20-POLY1305 to tls selftests") >>> Reported-by: kernel test robot <oliver.sang@intel.com> >>> Link: https://lore.kernel.org/lkml/20210108064141.GB3437@xsang-OptiPlex-9020/ >>> Signed-off-by: Rong Chen <rong.a.chen@intel.com> >>> --- >>> include/net/tls.h | 9 --------- >>> include/uapi/linux/tls.h | 9 +++++++++ >>> tools/testing/selftests/net/tls.c | 4 ++-- >>> 3 files changed, 11 insertions(+), 11 deletions(-) >>> >>> diff --git a/include/net/tls.h b/include/net/tls.h >>> index 3eccb525e8f7..54f7863ad915 100644 >>> --- a/include/net/tls.h >>> +++ b/include/net/tls.h >>> @@ -212,15 +212,6 @@ struct cipher_context { >>> char *rec_seq; >>> }; >>> -union tls_crypto_context { >>> - struct tls_crypto_info info; >>> - union { >>> - struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; >>> - struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; >>> - struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; >>> - }; >>> -}; >>> - >>> struct tls_prot_info { >>> u16 version; >>> u16 cipher_type; >>> diff --git a/include/uapi/linux/tls.h b/include/uapi/linux/tls.h >>> index 0d54baea1d8d..9933dd425571 100644 >>> --- a/include/uapi/linux/tls.h >>> +++ b/include/uapi/linux/tls.h >>> @@ -124,6 +124,15 @@ struct tls12_crypto_info_chacha20_poly1305 { >>> unsigned char rec_seq[TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE]; >>> }; >>> +union tls_crypto_context { >>> + struct tls_crypto_info info; >>> + union { >>> + struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; >>> + struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; >>> + struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; >>> + }; >>> +}; >>> + >>> enum { >>> TLS_INFO_UNSPEC, >>> TLS_INFO_VERSION, >>> diff --git a/tools/testing/selftests/net/tls.c >>> b/tools/testing/selftests/net/tls.c >>> index e0088c2d38a5..6951c8524a27 100644 >>> --- a/tools/testing/selftests/net/tls.c >>> +++ b/tools/testing/selftests/net/tls.c >>> @@ -147,10 +147,10 @@ FIXTURE_SETUP(tls) >>> tls12.info.cipher_type = variant->cipher_type; >>> switch (variant->cipher_type) { >>> case TLS_CIPHER_CHACHA20_POLY1305: >>> - tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); >>> + tls12_sz = sizeof(struct tls12_crypto_info_chacha20_poly1305); >>> break; >>> case TLS_CIPHER_AES_GCM_128: >>> - tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); >>> + tls12_sz = sizeof(struct tls12_crypto_info_aes_gcm_128); >>> break; >>> default: >>> tls12_sz = 0; >>> >> >> I'm not sure that it's a good idea to move tls_crypto_context to uapi as it's >> an internal union. Previous patches assumes that user-space uses different >> structures for different cipher configurations. > > Hi Vadim, > > Sorry i don't have the background, could you help to fix these build errors? > > Best Regards, > Rong Chen > Yes, sure, no problem. I will prepare new patch tomorrow.
On 02.02.2021 21:53, Jakub Kicinski wrote: > On Tue, 2 Feb 2021 17:45:00 +0800 Rong Chen wrote: >> The kernel test robot reported the following errors: >> >> tls.c: In function ‘tls_setup’: >> tls.c:136:27: error: storage size of ‘tls12’ isn’t known >> union tls_crypto_context tls12; >> ^~~~~ >> tls.c:150:21: error: ‘tls12_crypto_info_chacha20_poly1305’ undeclared (first use in this function) >> tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> tls.c:150:21: note: each undeclared identifier is reported only once for each function it appears in >> tls.c:153:21: error: ‘tls12_crypto_info_aes_gcm_128’ undeclared (first use in this function) >> tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); >> >> Fixes: 4f336e88a870 ("selftests/tls: add CHACHA20-POLY1305 to tls selftests") >> Reported-by: kernel test robot <oliver.sang@intel.com> >> Link: https://lore.kernel.org/lkml/20210108064141.GB3437@xsang-OptiPlex-9020/ >> Signed-off-by: Rong Chen <rong.a.chen@intel.com> > > Are you sure you have latest headers installed on your system? > > Try make headers_install or some such, I forgot what the way to appease > selftest was exactly but selftests often don't build on a fresh kernel > clone if system headers are not very recent :S There is definitely error in test - I could reproduce it in a clean environment. I will take care of it.
diff --git a/include/net/tls.h b/include/net/tls.h index 3eccb525e8f7..54f7863ad915 100644 --- a/include/net/tls.h +++ b/include/net/tls.h @@ -212,15 +212,6 @@ struct cipher_context { char *rec_seq; }; -union tls_crypto_context { - struct tls_crypto_info info; - union { - struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; - struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; - struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; - }; -}; - struct tls_prot_info { u16 version; u16 cipher_type; diff --git a/include/uapi/linux/tls.h b/include/uapi/linux/tls.h index 0d54baea1d8d..9933dd425571 100644 --- a/include/uapi/linux/tls.h +++ b/include/uapi/linux/tls.h @@ -124,6 +124,15 @@ struct tls12_crypto_info_chacha20_poly1305 { unsigned char rec_seq[TLS_CIPHER_CHACHA20_POLY1305_REC_SEQ_SIZE]; }; +union tls_crypto_context { + struct tls_crypto_info info; + union { + struct tls12_crypto_info_aes_gcm_128 aes_gcm_128; + struct tls12_crypto_info_aes_gcm_256 aes_gcm_256; + struct tls12_crypto_info_chacha20_poly1305 chacha20_poly1305; + }; +}; + enum { TLS_INFO_UNSPEC, TLS_INFO_VERSION, diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/net/tls.c index e0088c2d38a5..6951c8524a27 100644 --- a/tools/testing/selftests/net/tls.c +++ b/tools/testing/selftests/net/tls.c @@ -147,10 +147,10 @@ FIXTURE_SETUP(tls) tls12.info.cipher_type = variant->cipher_type; switch (variant->cipher_type) { case TLS_CIPHER_CHACHA20_POLY1305: - tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); + tls12_sz = sizeof(struct tls12_crypto_info_chacha20_poly1305); break; case TLS_CIPHER_AES_GCM_128: - tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); + tls12_sz = sizeof(struct tls12_crypto_info_aes_gcm_128); break; default: tls12_sz = 0;
The kernel test robot reported the following errors: tls.c: In function ‘tls_setup’: tls.c:136:27: error: storage size of ‘tls12’ isn’t known union tls_crypto_context tls12; ^~~~~ tls.c:150:21: error: ‘tls12_crypto_info_chacha20_poly1305’ undeclared (first use in this function) tls12_sz = sizeof(tls12_crypto_info_chacha20_poly1305); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tls.c:150:21: note: each undeclared identifier is reported only once for each function it appears in tls.c:153:21: error: ‘tls12_crypto_info_aes_gcm_128’ undeclared (first use in this function) tls12_sz = sizeof(tls12_crypto_info_aes_gcm_128); Fixes: 4f336e88a870 ("selftests/tls: add CHACHA20-POLY1305 to tls selftests") Reported-by: kernel test robot <oliver.sang@intel.com> Link: https://lore.kernel.org/lkml/20210108064141.GB3437@xsang-OptiPlex-9020/ Signed-off-by: Rong Chen <rong.a.chen@intel.com> --- include/net/tls.h | 9 --------- include/uapi/linux/tls.h | 9 +++++++++ tools/testing/selftests/net/tls.c | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-)