tree:   
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
head:   4fd7d7befdb531920cae8f78afd4938e4a25e421
commit: bb7679b840cc7cf23868e05c5ef7a044e7fafd97 [29/53] crypto: inside-secure 
- Added support for authenc HMAC-SHA1/DES-CBC
config: i386-randconfig-g004-201940 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
        git checkout bb7679b840cc7cf23868e05c5ef7a044e7fafd97
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   drivers/crypto/inside-secure/safexcel_cipher.c: In function 
'safexcel_aead_setkey':
>> drivers/crypto/inside-secure/safexcel_cipher.c:457:1: warning: the frame 
>> size of 1072 bytes is larger than 1024 bytes [-Wframe-larger-than=]
    }
    ^

vim +457 drivers/crypto/inside-secure/safexcel_cipher.c

1b44c5a60c137e Antoine Tenart     2017-05-24  341  
77cdd4efe57134 Pascal van Leeuwen 2019-07-05  342  static int 
safexcel_aead_setkey(struct crypto_aead *ctfm, const u8 *key,
f6beaea304872b Antoine Tenart     2018-05-14  343                               
unsigned int len)
f6beaea304872b Antoine Tenart     2018-05-14  344  {
f6beaea304872b Antoine Tenart     2018-05-14  345       struct crypto_tfm *tfm 
= crypto_aead_tfm(ctfm);
f6beaea304872b Antoine Tenart     2018-05-14  346       struct 
safexcel_cipher_ctx *ctx = crypto_tfm_ctx(tfm);
f6beaea304872b Antoine Tenart     2018-05-14  347       struct 
safexcel_ahash_export_state istate, ostate;
f6beaea304872b Antoine Tenart     2018-05-14  348       struct 
safexcel_crypto_priv *priv = ctx->priv;
f6beaea304872b Antoine Tenart     2018-05-14  349       struct 
crypto_authenc_keys keys;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  350       struct crypto_aes_ctx 
aes;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  351       int err = -EINVAL;
f6beaea304872b Antoine Tenart     2018-05-14  352  
1769f704e55b11 Pascal van Leeuwen 2019-09-13  353       if 
(unlikely(crypto_authenc_extractkeys(&keys, key, len)))
f6beaea304872b Antoine Tenart     2018-05-14  354               goto badkey;
f6beaea304872b Antoine Tenart     2018-05-14  355  
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  356       if (ctx->mode == 
CONTEXT_CONTROL_CRYPTO_MODE_CTR_LOAD) {
1769f704e55b11 Pascal van Leeuwen 2019-09-13  357               /* Must have at 
least space for the nonce here */
1769f704e55b11 Pascal van Leeuwen 2019-09-13  358               if 
(unlikely(keys.enckeylen < CTR_RFC3686_NONCE_SIZE))
f6beaea304872b Antoine Tenart     2018-05-14  359                       goto 
badkey;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  360               /* last 4 bytes 
of key are the nonce! */
f26882a3475eb7 Pascal van Leeuwen 2019-07-30  361               ctx->nonce = 
*(u32 *)(keys.enckey + keys.enckeylen -
f26882a3475eb7 Pascal van Leeuwen 2019-07-30  362                               
      CTR_RFC3686_NONCE_SIZE);
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  363               /* exclude the 
nonce here */
1769f704e55b11 Pascal van Leeuwen 2019-09-13  364               keys.enckeylen 
-= CTR_RFC3686_NONCE_SIZE;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  365       }
f6beaea304872b Antoine Tenart     2018-05-14  366  
f6beaea304872b Antoine Tenart     2018-05-14  367       /* Encryption key */
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  368       switch (ctx->alg) {
bb7679b840cc7c Pascal van Leeuwen 2019-09-13  369       case SAFEXCEL_DES:
bb7679b840cc7c Pascal van Leeuwen 2019-09-13  370               err = 
verify_aead_des_key(ctfm, keys.enckey, keys.enckeylen);
bb7679b840cc7c Pascal van Leeuwen 2019-09-13  371               if 
(unlikely(err))
bb7679b840cc7c Pascal van Leeuwen 2019-09-13  372                       goto 
badkey_expflags;
bb7679b840cc7c Pascal van Leeuwen 2019-09-13  373               break;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  374       case SAFEXCEL_3DES:
21f5a15e0f26c7 Ard Biesheuvel     2019-08-15  375               err = 
verify_aead_des3_key(ctfm, keys.enckey, keys.enckeylen);
77cdd4efe57134 Pascal van Leeuwen 2019-07-05  376               if 
(unlikely(err))
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  377                       goto 
badkey_expflags;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  378               break;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  379       case SAFEXCEL_AES:
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  380               err = 
aes_expandkey(&aes, keys.enckey, keys.enckeylen);
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  381               if 
(unlikely(err))
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  382                       goto 
badkey;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  383               break;
1769f704e55b11 Pascal van Leeuwen 2019-09-13  384       case SAFEXCEL_SM4:
1769f704e55b11 Pascal van Leeuwen 2019-09-13  385               if 
(unlikely(keys.enckeylen != SM4_KEY_SIZE))
1769f704e55b11 Pascal van Leeuwen 2019-09-13  386                       goto 
badkey;
1769f704e55b11 Pascal van Leeuwen 2019-09-13  387               break;
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  388       default:
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  389               
dev_err(priv->dev, "aead: unsupported cipher algorithm\n");
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  390               goto badkey;
77cdd4efe57134 Pascal van Leeuwen 2019-07-05  391       }
77cdd4efe57134 Pascal van Leeuwen 2019-07-05  392  
53c83e915ce8b2 Antoine Tenart     2018-06-28  393       if (priv->flags & 
EIP197_TRC_CACHE && ctx->base.ctxr_dma &&
f6beaea304872b Antoine Tenart     2018-05-14  394           memcmp(ctx->key, 
keys.enckey, keys.enckeylen))
f6beaea304872b Antoine Tenart     2018-05-14  395               
ctx->base.needs_inv = true;
f6beaea304872b Antoine Tenart     2018-05-14  396  
f6beaea304872b Antoine Tenart     2018-05-14  397       /* Auth key */
a7dea8c0ff9f25 Ofer Heifetz       2018-06-28  398       switch (ctx->hash_alg) {
01ba061d0fd769 Antoine Tenart     2018-05-14  399       case 
CONTEXT_CONTROL_CRYPTO_ALG_SHA1:
01ba061d0fd769 Antoine Tenart     2018-05-14  400               if 
(safexcel_hmac_setkey("safexcel-sha1", keys.authkey,
01ba061d0fd769 Antoine Tenart     2018-05-14  401                               
         keys.authkeylen, &istate, &ostate))
01ba061d0fd769 Antoine Tenart     2018-05-14  402                       goto 
badkey;
01ba061d0fd769 Antoine Tenart     2018-05-14  403               break;
678b2878ac396f Antoine Tenart     2018-05-14  404       case 
CONTEXT_CONTROL_CRYPTO_ALG_SHA224:
678b2878ac396f Antoine Tenart     2018-05-14  405               if 
(safexcel_hmac_setkey("safexcel-sha224", keys.authkey,
678b2878ac396f Antoine Tenart     2018-05-14  406                               
         keys.authkeylen, &istate, &ostate))
678b2878ac396f Antoine Tenart     2018-05-14  407                       goto 
badkey;
678b2878ac396f Antoine Tenart     2018-05-14  408               break;
678b2878ac396f Antoine Tenart     2018-05-14  409       case 
CONTEXT_CONTROL_CRYPTO_ALG_SHA256:
f6beaea304872b Antoine Tenart     2018-05-14  410               if 
(safexcel_hmac_setkey("safexcel-sha256", keys.authkey,
f6beaea304872b Antoine Tenart     2018-05-14  411                               
         keys.authkeylen, &istate, &ostate))
f6beaea304872b Antoine Tenart     2018-05-14  412                       goto 
badkey;
678b2878ac396f Antoine Tenart     2018-05-14  413               break;
ea23cb533ce419 Antoine Tenart     2018-05-29  414       case 
CONTEXT_CONTROL_CRYPTO_ALG_SHA384:
ea23cb533ce419 Antoine Tenart     2018-05-29  415               if 
(safexcel_hmac_setkey("safexcel-sha384", keys.authkey,
ea23cb533ce419 Antoine Tenart     2018-05-29  416                               
         keys.authkeylen, &istate, &ostate))
ea23cb533ce419 Antoine Tenart     2018-05-29  417                       goto 
badkey;
ea23cb533ce419 Antoine Tenart     2018-05-29  418               break;
87eee125e7490c Antoine Tenart     2018-05-29  419       case 
CONTEXT_CONTROL_CRYPTO_ALG_SHA512:
87eee125e7490c Antoine Tenart     2018-05-29  420               if 
(safexcel_hmac_setkey("safexcel-sha512", keys.authkey,
87eee125e7490c Antoine Tenart     2018-05-29  421                               
         keys.authkeylen, &istate, &ostate))
87eee125e7490c Antoine Tenart     2018-05-29  422                       goto 
badkey;
87eee125e7490c Antoine Tenart     2018-05-29  423               break;
1769f704e55b11 Pascal van Leeuwen 2019-09-13  424       case 
CONTEXT_CONTROL_CRYPTO_ALG_SM3:
1769f704e55b11 Pascal van Leeuwen 2019-09-13  425               if 
(safexcel_hmac_setkey("safexcel-sm3", keys.authkey,
1769f704e55b11 Pascal van Leeuwen 2019-09-13  426                               
         keys.authkeylen, &istate, &ostate))
1769f704e55b11 Pascal van Leeuwen 2019-09-13  427                       goto 
badkey;
1769f704e55b11 Pascal van Leeuwen 2019-09-13  428               break;
678b2878ac396f Antoine Tenart     2018-05-14  429       default:
a60619211dd188 Pascal van Leeuwen 2019-09-18  430               
dev_err(priv->dev, "aead: unsupported hash algorithmn");
678b2878ac396f Antoine Tenart     2018-05-14  431               goto badkey;
678b2878ac396f Antoine Tenart     2018-05-14  432       }
f6beaea304872b Antoine Tenart     2018-05-14  433  
f6beaea304872b Antoine Tenart     2018-05-14  434       
crypto_aead_set_flags(ctfm, crypto_aead_get_flags(ctfm) &
f6beaea304872b Antoine Tenart     2018-05-14  435                               
    CRYPTO_TFM_RES_MASK);
f6beaea304872b Antoine Tenart     2018-05-14  436  
53c83e915ce8b2 Antoine Tenart     2018-06-28  437       if (priv->flags & 
EIP197_TRC_CACHE && ctx->base.ctxr_dma &&
f6beaea304872b Antoine Tenart     2018-05-14  438           (memcmp(ctx->ipad, 
istate.state, ctx->state_sz) ||
f6beaea304872b Antoine Tenart     2018-05-14  439            memcmp(ctx->opad, 
ostate.state, ctx->state_sz)))
f6beaea304872b Antoine Tenart     2018-05-14  440               
ctx->base.needs_inv = true;
f6beaea304872b Antoine Tenart     2018-05-14  441  
f6beaea304872b Antoine Tenart     2018-05-14  442       /* Now copy the keys 
into the context */
f6beaea304872b Antoine Tenart     2018-05-14  443       memcpy(ctx->key, 
keys.enckey, keys.enckeylen);
f6beaea304872b Antoine Tenart     2018-05-14  444       ctx->key_len = 
keys.enckeylen;
f6beaea304872b Antoine Tenart     2018-05-14  445  
f6beaea304872b Antoine Tenart     2018-05-14  446       memcpy(ctx->ipad, 
&istate.state, ctx->state_sz);
f6beaea304872b Antoine Tenart     2018-05-14  447       memcpy(ctx->opad, 
&ostate.state, ctx->state_sz);
f6beaea304872b Antoine Tenart     2018-05-14  448  
f6beaea304872b Antoine Tenart     2018-05-14  449       memzero_explicit(&keys, 
sizeof(keys));
f6beaea304872b Antoine Tenart     2018-05-14  450       return 0;
f6beaea304872b Antoine Tenart     2018-05-14  451  
f6beaea304872b Antoine Tenart     2018-05-14  452  badkey:
f6beaea304872b Antoine Tenart     2018-05-14  453       
crypto_aead_set_flags(ctfm, CRYPTO_TFM_RES_BAD_KEY_LEN);
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  454  badkey_expflags:
f6beaea304872b Antoine Tenart     2018-05-14  455       memzero_explicit(&keys, 
sizeof(keys));
0e17e3621a28a6 Pascal van Leeuwen 2019-07-05  456       return err;
f6beaea304872b Antoine Tenart     2018-05-14 @457  }
f6beaea304872b Antoine Tenart     2018-05-14  458  

:::::: The code at line 457 was first introduced by commit
:::::: f6beaea304872bb1c76bf6c551386bf896cac8b9 crypto: inside-secure - 
authenc(hmac(sha256), cbc(aes)) support

:::::: TO: Antoine Tenart <antoine.ten...@bootlin.com>
:::::: CC: Herbert Xu <herb...@gondor.apana.org.au>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to