Hi Vadim, kernel test robot noticed the following build errors: [auto build test ERROR on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Vadim-Fedorenko/bpf-crypto-add-skcipher-to-bpf-crypto/20231130-014813 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20231129173312.31008-1-vadfed%40meta.com patch subject: [PATCH bpf-next v6 1/3] bpf: make common crypto API for TC/XDP programs config: arm64-randconfig-r081-20231130 (https://download.01.org/0day-ci/archive/20231130/202311300742.fDSG2vce-lkp@xxxxxxxxx/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231130/202311300742.fDSG2vce-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/202311300742.fDSG2vce-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> kernel/bpf/crypto.c:179:46: error: expected ')' 179 | *err = type->setauthsize(ctx->tfm, authsize; | ^ kernel/bpf/crypto.c:179:27: note: to match this '(' 179 | *err = type->setauthsize(ctx->tfm, authsize; | ^ 1 error generated. vim +179 kernel/bpf/crypto.c 105 106 /** 107 * bpf_crypto_ctx_create() - Create a mutable BPF crypto context. 108 * 109 * Allocates a crypto context that can be used, acquired, and released by 110 * a BPF program. The crypto context returned by this function must either 111 * be embedded in a map as a kptr, or freed with bpf_crypto_ctx_release(). 112 * As crypto API functions use GFP_KERNEL allocations, this function can 113 * only be used in sleepable BPF programs. 114 * 115 * bpf_crypto_ctx_create() allocates memory for crypto context. 116 * It may return NULL if no memory is available. 117 * @type__str: pointer to string representation of crypto type. 118 * @algo__str: pointer to string representation of algorithm. 119 * @pkey: bpf_dynptr which holds cipher key to do crypto. 120 * @err: integer to store error code when NULL is returned 121 */ 122 __bpf_kfunc struct bpf_crypto_ctx * 123 bpf_crypto_ctx_create(const char *type__str, const char *algo__str, 124 const struct bpf_dynptr_kern *pkey, 125 unsigned int authsize, int *err) 126 { 127 const struct bpf_crypto_type *type = bpf_crypto_get_type(type__str); 128 struct bpf_crypto_ctx *ctx; 129 const u8 *key; 130 u32 key_len; 131 132 //type = bpf_crypto_get_type(type__str); 133 if (IS_ERR(type)) { 134 *err = PTR_ERR(type); 135 return NULL; 136 } 137 138 if (!type->has_algo(algo__str)) { 139 *err = -EOPNOTSUPP; 140 goto err; 141 } 142 143 if (!authsize && type->setauthsize) { 144 *err = -EOPNOTSUPP; 145 goto err; 146 } 147 148 if (authsize && !type->setauthsize) { 149 *err = -EOPNOTSUPP; 150 goto err; 151 } 152 153 key_len = __bpf_dynptr_size(pkey); 154 if (!key_len) { 155 *err = -EINVAL; 156 goto err; 157 } 158 key = __bpf_dynptr_data(pkey, key_len); 159 if (!key) { 160 *err = -EINVAL; 161 goto err; 162 } 163 164 ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); 165 if (!ctx) { 166 *err = -ENOMEM; 167 goto err; 168 } 169 170 ctx->type = type; 171 ctx->tfm = type->alloc_tfm(algo__str); 172 if (IS_ERR(ctx->tfm)) { 173 *err = PTR_ERR(ctx->tfm); 174 ctx->tfm = NULL; 175 goto err; 176 } 177 178 if (authsize) { > 179 *err = type->setauthsize(ctx->tfm, authsize; 180 if (*err) 181 goto err; 182 } 183 184 *err = type->setkey(ctx->tfm, key, key_len); 185 if (*err) 186 goto err; 187 188 refcount_set(&ctx->usage, 1); 189 190 return ctx; 191 err: 192 if (ctx->tfm) 193 type->free_tfm(ctx->tfm); 194 kfree(ctx); 195 module_put(type->owner); 196 197 return NULL; 198 } 199 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki