From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1CB7EC433F5 for ; Mon, 21 Mar 2022 11:21:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 67B8A6B0072; Mon, 21 Mar 2022 07:21:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 603436B0073; Mon, 21 Mar 2022 07:21:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 47E046B0074; Mon, 21 Mar 2022 07:21:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0227.hostedemail.com [216.40.44.227]) by kanga.kvack.org (Postfix) with ESMTP id 35BE56B0072 for ; Mon, 21 Mar 2022 07:21:49 -0400 (EDT) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id DFADB8249980 for ; Mon, 21 Mar 2022 11:21:48 +0000 (UTC) X-FDA: 79268153496.19.4DCAC2E Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf26.hostedemail.com (Postfix) with ESMTP id D8B1714001F for ; Mon, 21 Mar 2022 11:21:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647861707; x=1679397707; h=date:from:to:cc:subject:message-id:mime-version; bh=FO6c/Tj1y4b2o7cgkDZa8XOg8XTGeIMhXAyB4E4sNO8=; b=AkgX2JOIIW+dCzTvSUQOdXcfdMmYwaL++9jclB3uG+L+3syYaylZKuwu bkx0o1jgphE4jJIZgXzmqtr79DzHoFJu7ji2qE89KXMc+v830uTrN4QuV DeHn60hJxU0rtOEvlBPx5MM1IU7qb3kVFUChqJzsvCYjI5PpwkOa4C9Ol iA80J7ycG8fMqI191yXME4gg5ijJz0S92M5tdO1DPlNUd/nLows+/wztR UyeenQ2ainM6MGr/oL3Wa7HzDnqlUfmM1RFnJN8FnLtiVG8T5Nm8vPZyY eHCgy8k1KQj398g2gK3pDJzJkEU3AGUsJXJGJ0YNr4RSBuYd/oaZjS8e9 A==; X-IronPort-AV: E=McAfee;i="6200,9189,10292"; a="237470254" X-IronPort-AV: E=Sophos;i="5.90,198,1643702400"; d="scan'208";a="237470254" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Mar 2022 04:21:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,198,1643702400"; d="scan'208";a="518393688" Received: from lkp-server02.sh.intel.com (HELO 89b41b6ae01c) ([10.239.97.151]) by orsmga006.jf.intel.com with ESMTP; 21 Mar 2022 04:21:42 -0700 Received: from kbuild by 89b41b6ae01c with local (Exim 4.92) (envelope-from ) id 1nWG6X-000Hmi-7U; Mon, 21 Mar 2022 11:21:41 +0000 Date: Mon, 21 Mar 2022 19:20:56 +0800 From: kernel test robot To: Arvind Sankar Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Randy Dunlap , Andrew Morton , Linux Memory Management List , Nick Desaulniers , Kees Cook Subject: [linux-stable-rc:queue/5.4 2475/9999] drivers/crypto/inside-secure/safexcel_cipher.c:303:12: warning: stack frame size (1032) exceeds limit (1024) in 'safexcel_aead_setkey' Message-ID: <202203211901.Rjocgciw-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: D8B1714001F X-Stat-Signature: t8ftz1o9pc7isoycprk7cadc8qmy9agt Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=AkgX2JOI; spf=none (imf26.hostedemail.com: domain of lkp@intel.com has no SPF policy when checking 192.55.52.136) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com X-HE-Tag: 1647861707-130117 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git queue/5.4 head: 56d48cd38defb6b9eb374d9b0ca438325067ffad commit: c2c5dc84ac51da90cadcb12554c69bdd5ac7aeeb [2475/9999] compiler.h: fix barrier_data() on clang config: mips-randconfig-r036-20220320 (https://download.01.org/0day-ci/archive/20220321/202203211901.Rjocgciw-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 85e9b2687a13d1908aa86d1b89c5ce398a06cd39) 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 mips cross compiling tool for clang build # apt-get install binutils-mips-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=c2c5dc84ac51da90cadcb12554c69bdd5ac7aeeb git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git git fetch --no-tags linux-stable-rc queue/5.4 git checkout c2c5dc84ac51da90cadcb12554c69bdd5ac7aeeb # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/crypto/inside-secure/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> drivers/crypto/inside-secure/safexcel_cipher.c:303:12: warning: stack frame size (1032) exceeds limit (1024) in 'safexcel_aead_setkey' [-Wframe-larger-than] static int safexcel_aead_setkey(struct crypto_aead *ctfm, const u8 *key, ^ 1 warning generated. vim +/safexcel_aead_setkey +303 drivers/crypto/inside-secure/safexcel_cipher.c 1b44c5a60c137e Antoine Tenart 2017-05-24 302 77cdd4efe57134 Pascal van Leeuwen 2019-07-05 @303 static int safexcel_aead_setkey(struct crypto_aead *ctfm, const u8 *key, f6beaea304872b Antoine Tenart 2018-05-14 304 unsigned int len) f6beaea304872b Antoine Tenart 2018-05-14 305 { f6beaea304872b Antoine Tenart 2018-05-14 306 struct crypto_tfm *tfm = crypto_aead_tfm(ctfm); f6beaea304872b Antoine Tenart 2018-05-14 307 struct safexcel_cipher_ctx *ctx = crypto_tfm_ctx(tfm); f6beaea304872b Antoine Tenart 2018-05-14 308 struct safexcel_ahash_export_state istate, ostate; f6beaea304872b Antoine Tenart 2018-05-14 309 struct safexcel_crypto_priv *priv = ctx->priv; f6beaea304872b Antoine Tenart 2018-05-14 310 struct crypto_authenc_keys keys; 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 311 struct crypto_aes_ctx aes; 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 312 int err = -EINVAL; f6beaea304872b Antoine Tenart 2018-05-14 313 f6beaea304872b Antoine Tenart 2018-05-14 314 if (crypto_authenc_extractkeys(&keys, key, len) != 0) f6beaea304872b Antoine Tenart 2018-05-14 315 goto badkey; f6beaea304872b Antoine Tenart 2018-05-14 316 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 317 if (ctx->mode == CONTEXT_CONTROL_CRYPTO_MODE_CTR_LOAD) { f26882a3475eb7 Pascal van Leeuwen 2019-07-30 318 /* Minimum keysize is minimum AES key size + nonce size */ f26882a3475eb7 Pascal van Leeuwen 2019-07-30 319 if (keys.enckeylen < (AES_MIN_KEY_SIZE + f26882a3475eb7 Pascal van Leeuwen 2019-07-30 320 CTR_RFC3686_NONCE_SIZE)) f6beaea304872b Antoine Tenart 2018-05-14 321 goto badkey; 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 322 /* last 4 bytes of key are the nonce! */ f26882a3475eb7 Pascal van Leeuwen 2019-07-30 323 ctx->nonce = *(u32 *)(keys.enckey + keys.enckeylen - f26882a3475eb7 Pascal van Leeuwen 2019-07-30 324 CTR_RFC3686_NONCE_SIZE); 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 325 /* exclude the nonce here */ f26882a3475eb7 Pascal van Leeuwen 2019-07-30 326 keys.enckeylen -= CONTEXT_CONTROL_CRYPTO_MODE_CTR_LOAD; 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 327 } f6beaea304872b Antoine Tenart 2018-05-14 328 f6beaea304872b Antoine Tenart 2018-05-14 329 /* Encryption key */ 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 330 switch (ctx->alg) { 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 331 case SAFEXCEL_3DES: 21f5a15e0f26c7 Ard Biesheuvel 2019-08-15 332 err = verify_aead_des3_key(ctfm, keys.enckey, keys.enckeylen); 77cdd4efe57134 Pascal van Leeuwen 2019-07-05 333 if (unlikely(err)) 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 334 goto badkey_expflags; 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 335 break; 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 336 case SAFEXCEL_AES: 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 337 err = aes_expandkey(&aes, keys.enckey, keys.enckeylen); 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 338 if (unlikely(err)) 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 339 goto badkey; 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 340 break; 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 341 default: 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 342 dev_err(priv->dev, "aead: unsupported cipher algorithm\n"); 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 343 goto badkey; 77cdd4efe57134 Pascal van Leeuwen 2019-07-05 344 } 77cdd4efe57134 Pascal van Leeuwen 2019-07-05 345 53c83e915ce8b2 Antoine Tenart 2018-06-28 346 if (priv->flags & EIP197_TRC_CACHE && ctx->base.ctxr_dma && f6beaea304872b Antoine Tenart 2018-05-14 347 memcmp(ctx->key, keys.enckey, keys.enckeylen)) f6beaea304872b Antoine Tenart 2018-05-14 348 ctx->base.needs_inv = true; f6beaea304872b Antoine Tenart 2018-05-14 349 f6beaea304872b Antoine Tenart 2018-05-14 350 /* Auth key */ a7dea8c0ff9f25 Ofer Heifetz 2018-06-28 351 switch (ctx->hash_alg) { 01ba061d0fd769 Antoine Tenart 2018-05-14 352 case CONTEXT_CONTROL_CRYPTO_ALG_SHA1: 01ba061d0fd769 Antoine Tenart 2018-05-14 353 if (safexcel_hmac_setkey("safexcel-sha1", keys.authkey, 01ba061d0fd769 Antoine Tenart 2018-05-14 354 keys.authkeylen, &istate, &ostate)) 01ba061d0fd769 Antoine Tenart 2018-05-14 355 goto badkey; 01ba061d0fd769 Antoine Tenart 2018-05-14 356 break; 678b2878ac396f Antoine Tenart 2018-05-14 357 case CONTEXT_CONTROL_CRYPTO_ALG_SHA224: 678b2878ac396f Antoine Tenart 2018-05-14 358 if (safexcel_hmac_setkey("safexcel-sha224", keys.authkey, 678b2878ac396f Antoine Tenart 2018-05-14 359 keys.authkeylen, &istate, &ostate)) 678b2878ac396f Antoine Tenart 2018-05-14 360 goto badkey; 678b2878ac396f Antoine Tenart 2018-05-14 361 break; 678b2878ac396f Antoine Tenart 2018-05-14 362 case CONTEXT_CONTROL_CRYPTO_ALG_SHA256: f6beaea304872b Antoine Tenart 2018-05-14 363 if (safexcel_hmac_setkey("safexcel-sha256", keys.authkey, f6beaea304872b Antoine Tenart 2018-05-14 364 keys.authkeylen, &istate, &ostate)) f6beaea304872b Antoine Tenart 2018-05-14 365 goto badkey; 678b2878ac396f Antoine Tenart 2018-05-14 366 break; ea23cb533ce419 Antoine Tenart 2018-05-29 367 case CONTEXT_CONTROL_CRYPTO_ALG_SHA384: ea23cb533ce419 Antoine Tenart 2018-05-29 368 if (safexcel_hmac_setkey("safexcel-sha384", keys.authkey, ea23cb533ce419 Antoine Tenart 2018-05-29 369 keys.authkeylen, &istate, &ostate)) ea23cb533ce419 Antoine Tenart 2018-05-29 370 goto badkey; ea23cb533ce419 Antoine Tenart 2018-05-29 371 break; 87eee125e7490c Antoine Tenart 2018-05-29 372 case CONTEXT_CONTROL_CRYPTO_ALG_SHA512: 87eee125e7490c Antoine Tenart 2018-05-29 373 if (safexcel_hmac_setkey("safexcel-sha512", keys.authkey, 87eee125e7490c Antoine Tenart 2018-05-29 374 keys.authkeylen, &istate, &ostate)) 87eee125e7490c Antoine Tenart 2018-05-29 375 goto badkey; 87eee125e7490c Antoine Tenart 2018-05-29 376 break; 678b2878ac396f Antoine Tenart 2018-05-14 377 default: 678b2878ac396f Antoine Tenart 2018-05-14 378 dev_err(priv->dev, "aead: unsupported hash algorithm\n"); 678b2878ac396f Antoine Tenart 2018-05-14 379 goto badkey; 678b2878ac396f Antoine Tenart 2018-05-14 380 } f6beaea304872b Antoine Tenart 2018-05-14 381 f6beaea304872b Antoine Tenart 2018-05-14 382 crypto_aead_set_flags(ctfm, crypto_aead_get_flags(ctfm) & f6beaea304872b Antoine Tenart 2018-05-14 383 CRYPTO_TFM_RES_MASK); f6beaea304872b Antoine Tenart 2018-05-14 384 53c83e915ce8b2 Antoine Tenart 2018-06-28 385 if (priv->flags & EIP197_TRC_CACHE && ctx->base.ctxr_dma && f6beaea304872b Antoine Tenart 2018-05-14 386 (memcmp(ctx->ipad, istate.state, ctx->state_sz) || f6beaea304872b Antoine Tenart 2018-05-14 387 memcmp(ctx->opad, ostate.state, ctx->state_sz))) f6beaea304872b Antoine Tenart 2018-05-14 388 ctx->base.needs_inv = true; f6beaea304872b Antoine Tenart 2018-05-14 389 f6beaea304872b Antoine Tenart 2018-05-14 390 /* Now copy the keys into the context */ f6beaea304872b Antoine Tenart 2018-05-14 391 memcpy(ctx->key, keys.enckey, keys.enckeylen); f6beaea304872b Antoine Tenart 2018-05-14 392 ctx->key_len = keys.enckeylen; f6beaea304872b Antoine Tenart 2018-05-14 393 f6beaea304872b Antoine Tenart 2018-05-14 394 memcpy(ctx->ipad, &istate.state, ctx->state_sz); f6beaea304872b Antoine Tenart 2018-05-14 395 memcpy(ctx->opad, &ostate.state, ctx->state_sz); f6beaea304872b Antoine Tenart 2018-05-14 396 f6beaea304872b Antoine Tenart 2018-05-14 397 memzero_explicit(&keys, sizeof(keys)); f6beaea304872b Antoine Tenart 2018-05-14 398 return 0; f6beaea304872b Antoine Tenart 2018-05-14 399 f6beaea304872b Antoine Tenart 2018-05-14 400 badkey: f6beaea304872b Antoine Tenart 2018-05-14 401 crypto_aead_set_flags(ctfm, CRYPTO_TFM_RES_BAD_KEY_LEN); 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 402 badkey_expflags: f6beaea304872b Antoine Tenart 2018-05-14 403 memzero_explicit(&keys, sizeof(keys)); 0e17e3621a28a6 Pascal van Leeuwen 2019-07-05 404 return err; f6beaea304872b Antoine Tenart 2018-05-14 405 } f6beaea304872b Antoine Tenart 2018-05-14 406 :::::: The code at line 303 was first introduced by commit :::::: 77cdd4efe571345e9c116e65f64a616969e0bc35 crypto: inside-secure - add support for authenc(hmac(sha1),cbc(des3_ede)) :::::: TO: Pascal van Leeuwen :::::: CC: Herbert Xu -- 0-DAY CI Kernel Test Service https://01.org/lkp