[gustavoars:testing/WFAMNAE-next20240312 1/1] lib/crc-t10dif.c:75:13: error: no member named 'tfm' in 'struct shash_desc'

From: kernel test robot
Date: Wed Mar 13 2024 - 02:43:52 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git testing/WFAMNAE-next20240312
head: 33ee4d07d6d337670a64f9d41e14e7579cfa9015
commit: 33ee4d07d6d337670a64f9d41e14e7579cfa9015 [1/1] treewide: avoid -Wfamnae warnings
config: hexagon-defconfig (https://download.01.org/0day-ci/archive/20240313/202403131429.n6mGhow1-lkp@xxxxxxxxx/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 503c55e17037436dcd45ac69dea8967e67e3f5e8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240313/202403131429.n6mGhow1-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403131429.n6mGhow1-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from lib/crc-t10dif.c:14:
include/crypto/hash.h:155:2: error: expected member name or ';' after declaration specifiers
155 | struct_group_tagged(shash_desc_hdr, hdr,
| ^
include/linux/stddef.h:81:2: note: expanded from macro 'struct_group_tagged'
81 | __struct_group(TAG, NAME, /* no attrs */, MEMBERS)
| ^
include/uapi/linux/stddef.h:28:20: note: expanded from macro '__struct_group'
28 | struct { MEMBERS } ATTRS; \
| ^
In file included from lib/crc-t10dif.c:14:
include/crypto/hash.h:155:2: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
155 | struct_group_tagged(shash_desc_hdr, hdr,
| ^
156 | struct crypto_shash *tfm;
157 | __aligned(ARCH_SLAB_MINALIGN));
| int
include/linux/stddef.h:81:2: note: expanded from macro 'struct_group_tagged'
81 | __struct_group(TAG, NAME, /* no attrs */, MEMBERS)
| ^
include/uapi/linux/stddef.h:28:20: note: expanded from macro '__struct_group'
28 | struct { MEMBERS } ATTRS; \
| ^
In file included from lib/crc-t10dif.c:14:
include/crypto/hash.h:155:2: warning: expected ';' at end of declaration list
include/linux/stddef.h:81:2: note: expanded from macro 'struct_group_tagged'
81 | __struct_group(TAG, NAME, /* no attrs */, MEMBERS)
| ^
include/uapi/linux/stddef.h:28:20: note: expanded from macro '__struct_group'
28 | struct { MEMBERS } ATTRS; \
| ^
In file included from lib/crc-t10dif.c:14:
include/crypto/hash.h:155:2: error: expected member name or ';' after declaration specifiers
include/linux/stddef.h:81:2: note: expanded from macro 'struct_group_tagged'
81 | __struct_group(TAG, NAME, /* no attrs */, MEMBERS)
| ^
include/uapi/linux/stddef.h:29:24: note: expanded from macro '__struct_group'
29 | struct TAG { MEMBERS } ATTRS NAME; \
| ^
In file included from lib/crc-t10dif.c:14:
include/crypto/hash.h:155:2: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
155 | struct_group_tagged(shash_desc_hdr, hdr,
| ^
156 | struct crypto_shash *tfm;
157 | __aligned(ARCH_SLAB_MINALIGN));
| int
include/linux/stddef.h:81:2: note: expanded from macro 'struct_group_tagged'
81 | __struct_group(TAG, NAME, /* no attrs */, MEMBERS)
| ^
include/uapi/linux/stddef.h:29:24: note: expanded from macro '__struct_group'
29 | struct TAG { MEMBERS } ATTRS NAME; \
| ^
In file included from lib/crc-t10dif.c:14:
include/crypto/hash.h:155:2: warning: expected ';' at end of declaration list
include/linux/stddef.h:81:2: note: expanded from macro 'struct_group_tagged'
81 | __struct_group(TAG, NAME, /* no attrs */, MEMBERS)
| ^
include/uapi/linux/stddef.h:29:24: note: expanded from macro '__struct_group'
29 | struct TAG { MEMBERS } ATTRS NAME; \
| ^
In file included from lib/crc-t10dif.c:14:
include/crypto/hash.h:158:8: error: flexible array member '__ctx' not allowed in otherwise empty struct
158 | void *__ctx[];
| ^
include/crypto/hash.h:891:35: error: no member named 'tfm' in 'struct shash_desc'
891 | struct crypto_shash *tfm = desc->tfm;
| ~~~~ ^
include/crypto/hash.h:951:49: error: no member named 'tfm' in 'struct shash_desc'
951 | sizeof(*desc) + crypto_shash_descsize(desc->tfm));
| ~~~~ ^
>> lib/crc-t10dif.c:75:13: error: no member named 'tfm' in 'struct shash_desc'
75 | desc.shash.tfm = rcu_dereference(crct10dif_tfm);
| ~~~~~~~~~~ ^
2 warnings and 8 errors generated.


vim +75 lib/crc-t10dif.c

f11f594edba7f6 Martin K. Petersen 2008-06-25 62
10081fb532a2a2 Akinobu Mita 2015-05-01 63 __u16 crc_t10dif_update(__u16 crc, const unsigned char *buffer, size_t len)
f11f594edba7f6 Martin K. Petersen 2008-06-25 64 {
68411521cc6055 Herbert Xu 2013-09-07 65 struct {
68411521cc6055 Herbert Xu 2013-09-07 66 struct shash_desc shash;
29195232fa2f72 Eric Biggers 2020-06-09 67 __u16 crc;
68411521cc6055 Herbert Xu 2013-09-07 68 } desc;
68411521cc6055 Herbert Xu 2013-09-07 69 int err;
68411521cc6055 Herbert Xu 2013-09-07 70
be924e0aaa315a Eric Biggers 2020-06-09 71 if (static_branch_unlikely(&crct10dif_fallback))
10081fb532a2a2 Akinobu Mita 2015-05-01 72 return crc_t10dif_generic(crc, buffer, len);
26052f9b9bb8de Herbert Xu 2013-09-12 73
b76377543b738a Martin K. Petersen 2018-08-30 74 rcu_read_lock();
b76377543b738a Martin K. Petersen 2018-08-30 @75 desc.shash.tfm = rcu_dereference(crct10dif_tfm);
29195232fa2f72 Eric Biggers 2020-06-09 76 desc.crc = crc;
68411521cc6055 Herbert Xu 2013-09-07 77 err = crypto_shash_update(&desc.shash, buffer, len);
b76377543b738a Martin K. Petersen 2018-08-30 78 rcu_read_unlock();
b76377543b738a Martin K. Petersen 2018-08-30 79
68411521cc6055 Herbert Xu 2013-09-07 80 BUG_ON(err);
f11f594edba7f6 Martin K. Petersen 2008-06-25 81
29195232fa2f72 Eric Biggers 2020-06-09 82 return desc.crc;
f11f594edba7f6 Martin K. Petersen 2008-06-25 83 }
10081fb532a2a2 Akinobu Mita 2015-05-01 84 EXPORT_SYMBOL(crc_t10dif_update);
10081fb532a2a2 Akinobu Mita 2015-05-01 85

:::::: The code at line 75 was first introduced by commit
:::::: b76377543b738a6b58b0a7b0a42dd9e16436fee1 crc-t10dif: Pick better transform if one becomes available

:::::: TO: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
:::::: CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki