* crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
@ 2025-06-19 12:13 kernel test robot
0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-06-19 12:13 UTC (permalink / raw)
To: Herbert Xu; +Cc: llvm, oe-kbuild-all, linux-kernel
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fb4d33ab452ea254e2c319bac5703d1b56d895bf
commit: c3103416d5217655d707d9417aaf66f184e3d72f crypto: hmac - Add ahash support
date: 4 weeks ago
config: mips-eyeq6_defconfig (https://download.01.org/0day-ci/archive/20250619/202506192035.7dBntw28-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 875b36a8742437b95f623bab1e0332562c7b4b3f)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250619/202506192035.7dBntw28-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506192035.7dBntw28-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' [-Wframe-larger-than]
251 | static int hmac_setkey_ahash(struct crypto_ahash *parent,
| ^
1 warning generated.
vim +/hmac_setkey_ahash +251 crypto/hmac.c
250
> 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
252 const u8 *inkey, unsigned int keylen)
253 {
254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
256 int ds = crypto_ahash_digestsize(parent);
257 int bs = crypto_ahash_blocksize(parent);
258 int ss = crypto_ahash_statesize(parent);
259 HASH_REQUEST_ON_STACK(req, fb);
260 u8 *opad = &tctx->pads[ss];
261 u8 *ipad = &tctx->pads[0];
262 int err, i;
263
264 if (fips_enabled && (keylen < 112 / 8))
265 return -EINVAL;
266
267 ahash_request_set_callback(req, 0, NULL, NULL);
268
269 if (keylen > bs) {
270 ahash_request_set_virt(req, inkey, ipad, keylen);
271 err = crypto_ahash_digest(req);
272 if (err)
273 goto out_zero_req;
274
275 keylen = ds;
276 } else
277 memcpy(ipad, inkey, keylen);
278
279 memset(ipad + keylen, 0, bs - keylen);
280 memcpy(opad, ipad, bs);
281
282 for (i = 0; i < bs; i++) {
283 ipad[i] ^= HMAC_IPAD_VALUE;
284 opad[i] ^= HMAC_OPAD_VALUE;
285 }
286
287 ahash_request_set_virt(req, ipad, NULL, bs);
288 err = crypto_ahash_init(req) ?:
289 crypto_ahash_update(req) ?:
290 crypto_ahash_export(req, ipad);
291
292 ahash_request_set_virt(req, opad, NULL, bs);
293 err = err ?:
294 crypto_ahash_init(req) ?:
295 crypto_ahash_update(req) ?:
296 crypto_ahash_export(req, opad);
297
298 out_zero_req:
299 HASH_REQUEST_ZERO(req);
300 return err;
301 }
302
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
@ 2025-07-23 21:28 kernel test robot
0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-07-23 21:28 UTC (permalink / raw)
To: Herbert Xu; +Cc: llvm, oe-kbuild-all, linux-kernel
Hi Herbert,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 01a412d06bc5786eb4e44a6c8f0f4659bd4c9864
commit: c3103416d5217655d707d9417aaf66f184e3d72f crypto: hmac - Add ahash support
date: 9 weeks ago
config: mips-eyeq6_defconfig (https://download.01.org/0day-ci/archive/20250724/202507240507.5fyAWOKF-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 853c343b45b3e83cc5eeef5a52fc8cc9d8a09252)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250724/202507240507.5fyAWOKF-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507240507.5fyAWOKF-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' [-Wframe-larger-than]
251 | static int hmac_setkey_ahash(struct crypto_ahash *parent,
| ^
1 warning generated.
vim +/hmac_setkey_ahash +251 crypto/hmac.c
250
> 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
252 const u8 *inkey, unsigned int keylen)
253 {
254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
256 int ds = crypto_ahash_digestsize(parent);
257 int bs = crypto_ahash_blocksize(parent);
258 int ss = crypto_ahash_statesize(parent);
259 HASH_REQUEST_ON_STACK(req, fb);
260 u8 *opad = &tctx->pads[ss];
261 u8 *ipad = &tctx->pads[0];
262 int err, i;
263
264 if (fips_enabled && (keylen < 112 / 8))
265 return -EINVAL;
266
267 ahash_request_set_callback(req, 0, NULL, NULL);
268
269 if (keylen > bs) {
270 ahash_request_set_virt(req, inkey, ipad, keylen);
271 err = crypto_ahash_digest(req);
272 if (err)
273 goto out_zero_req;
274
275 keylen = ds;
276 } else
277 memcpy(ipad, inkey, keylen);
278
279 memset(ipad + keylen, 0, bs - keylen);
280 memcpy(opad, ipad, bs);
281
282 for (i = 0; i < bs; i++) {
283 ipad[i] ^= HMAC_IPAD_VALUE;
284 opad[i] ^= HMAC_OPAD_VALUE;
285 }
286
287 ahash_request_set_virt(req, ipad, NULL, bs);
288 err = crypto_ahash_init(req) ?:
289 crypto_ahash_update(req) ?:
290 crypto_ahash_export(req, ipad);
291
292 ahash_request_set_virt(req, opad, NULL, bs);
293 err = err ?:
294 crypto_ahash_init(req) ?:
295 crypto_ahash_update(req) ?:
296 crypto_ahash_export(req, opad);
297
298 out_zero_req:
299 HASH_REQUEST_ZERO(req);
300 return err;
301 }
302
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
@ 2025-09-14 21:06 kernel test robot
0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-09-14 21:06 UTC (permalink / raw)
To: Herbert Xu; +Cc: llvm, oe-kbuild-all, linux-kernel
Hi Herbert,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1519fc7cd3e129f6a95143cdc92f01ba21a3c266
commit: c3103416d5217655d707d9417aaf66f184e3d72f crypto: hmac - Add ahash support
date: 4 months ago
config: mips-eyeq6_defconfig (https://download.01.org/0day-ci/archive/20250915/202509150449.4cUQ2KGX-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 21857ae337e0892a5522b6e7337899caa61de2a6)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250915/202509150449.4cUQ2KGX-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509150449.4cUQ2KGX-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' [-Wframe-larger-than]
251 | static int hmac_setkey_ahash(struct crypto_ahash *parent,
| ^
1 warning generated.
vim +/hmac_setkey_ahash +251 crypto/hmac.c
250
> 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
252 const u8 *inkey, unsigned int keylen)
253 {
254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
256 int ds = crypto_ahash_digestsize(parent);
257 int bs = crypto_ahash_blocksize(parent);
258 int ss = crypto_ahash_statesize(parent);
259 HASH_REQUEST_ON_STACK(req, fb);
260 u8 *opad = &tctx->pads[ss];
261 u8 *ipad = &tctx->pads[0];
262 int err, i;
263
264 if (fips_enabled && (keylen < 112 / 8))
265 return -EINVAL;
266
267 ahash_request_set_callback(req, 0, NULL, NULL);
268
269 if (keylen > bs) {
270 ahash_request_set_virt(req, inkey, ipad, keylen);
271 err = crypto_ahash_digest(req);
272 if (err)
273 goto out_zero_req;
274
275 keylen = ds;
276 } else
277 memcpy(ipad, inkey, keylen);
278
279 memset(ipad + keylen, 0, bs - keylen);
280 memcpy(opad, ipad, bs);
281
282 for (i = 0; i < bs; i++) {
283 ipad[i] ^= HMAC_IPAD_VALUE;
284 opad[i] ^= HMAC_OPAD_VALUE;
285 }
286
287 ahash_request_set_virt(req, ipad, NULL, bs);
288 err = crypto_ahash_init(req) ?:
289 crypto_ahash_update(req) ?:
290 crypto_ahash_export(req, ipad);
291
292 ahash_request_set_virt(req, opad, NULL, bs);
293 err = err ?:
294 crypto_ahash_init(req) ?:
295 crypto_ahash_update(req) ?:
296 crypto_ahash_export(req, opad);
297
298 out_zero_req:
299 HASH_REQUEST_ZERO(req);
300 return err;
301 }
302
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
@ 2025-10-28 15:04 kernel test robot
0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-10-28 15:04 UTC (permalink / raw)
To: Herbert Xu; +Cc: llvm, oe-kbuild-all, linux-kernel
Hi Herbert,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fd57572253bc356330dbe5b233c2e1d8426c66fd
commit: c3103416d5217655d707d9417aaf66f184e3d72f crypto: hmac - Add ahash support
date: 5 months ago
config: mips-eyeq6_defconfig (https://download.01.org/0day-ci/archive/20251028/202510282205.ELXg3cL3-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project d1c086e82af239b245fe8d7832f2753436634990)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251028/202510282205.ELXg3cL3-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510282205.ELXg3cL3-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' [-Wframe-larger-than]
251 | static int hmac_setkey_ahash(struct crypto_ahash *parent,
| ^
1 warning generated.
vim +/hmac_setkey_ahash +251 crypto/hmac.c
250
> 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
252 const u8 *inkey, unsigned int keylen)
253 {
254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
256 int ds = crypto_ahash_digestsize(parent);
257 int bs = crypto_ahash_blocksize(parent);
258 int ss = crypto_ahash_statesize(parent);
259 HASH_REQUEST_ON_STACK(req, fb);
260 u8 *opad = &tctx->pads[ss];
261 u8 *ipad = &tctx->pads[0];
262 int err, i;
263
264 if (fips_enabled && (keylen < 112 / 8))
265 return -EINVAL;
266
267 ahash_request_set_callback(req, 0, NULL, NULL);
268
269 if (keylen > bs) {
270 ahash_request_set_virt(req, inkey, ipad, keylen);
271 err = crypto_ahash_digest(req);
272 if (err)
273 goto out_zero_req;
274
275 keylen = ds;
276 } else
277 memcpy(ipad, inkey, keylen);
278
279 memset(ipad + keylen, 0, bs - keylen);
280 memcpy(opad, ipad, bs);
281
282 for (i = 0; i < bs; i++) {
283 ipad[i] ^= HMAC_IPAD_VALUE;
284 opad[i] ^= HMAC_OPAD_VALUE;
285 }
286
287 ahash_request_set_virt(req, ipad, NULL, bs);
288 err = crypto_ahash_init(req) ?:
289 crypto_ahash_update(req) ?:
290 crypto_ahash_export(req, ipad);
291
292 ahash_request_set_virt(req, opad, NULL, bs);
293 err = err ?:
294 crypto_ahash_init(req) ?:
295 crypto_ahash_update(req) ?:
296 crypto_ahash_export(req, opad);
297
298 out_zero_req:
299 HASH_REQUEST_ZERO(req);
300 return err;
301 }
302
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
@ 2025-12-03 0:12 kernel test robot
0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2025-12-03 0:12 UTC (permalink / raw)
To: Herbert Xu; +Cc: llvm, oe-kbuild-all, linux-kernel
Hi Herbert,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d61f1cc5db799f4e44a63418b2dc19396787427b
commit: c3103416d5217655d707d9417aaf66f184e3d72f crypto: hmac - Add ahash support
date: 7 months ago
config: mips-eyeq6_defconfig (https://download.01.org/0day-ci/archive/20251203/202512030801.YJaB0zQK-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 734a912d0f025559fcf76bde9aaaeb0383c1625a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251203/202512030801.YJaB0zQK-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512030801.YJaB0zQK-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' [-Wframe-larger-than]
251 | static int hmac_setkey_ahash(struct crypto_ahash *parent,
| ^
1 warning generated.
vim +/hmac_setkey_ahash +251 crypto/hmac.c
250
> 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
252 const u8 *inkey, unsigned int keylen)
253 {
254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
256 int ds = crypto_ahash_digestsize(parent);
257 int bs = crypto_ahash_blocksize(parent);
258 int ss = crypto_ahash_statesize(parent);
259 HASH_REQUEST_ON_STACK(req, fb);
260 u8 *opad = &tctx->pads[ss];
261 u8 *ipad = &tctx->pads[0];
262 int err, i;
263
264 if (fips_enabled && (keylen < 112 / 8))
265 return -EINVAL;
266
267 ahash_request_set_callback(req, 0, NULL, NULL);
268
269 if (keylen > bs) {
270 ahash_request_set_virt(req, inkey, ipad, keylen);
271 err = crypto_ahash_digest(req);
272 if (err)
273 goto out_zero_req;
274
275 keylen = ds;
276 } else
277 memcpy(ipad, inkey, keylen);
278
279 memset(ipad + keylen, 0, bs - keylen);
280 memcpy(opad, ipad, bs);
281
282 for (i = 0; i < bs; i++) {
283 ipad[i] ^= HMAC_IPAD_VALUE;
284 opad[i] ^= HMAC_OPAD_VALUE;
285 }
286
287 ahash_request_set_virt(req, ipad, NULL, bs);
288 err = crypto_ahash_init(req) ?:
289 crypto_ahash_update(req) ?:
290 crypto_ahash_export(req, ipad);
291
292 ahash_request_set_virt(req, opad, NULL, bs);
293 err = err ?:
294 crypto_ahash_init(req) ?:
295 crypto_ahash_update(req) ?:
296 crypto_ahash_export(req, opad);
297
298 out_zero_req:
299 HASH_REQUEST_ZERO(req);
300 return err;
301 }
302
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
@ 2026-01-12 22:49 kernel test robot
0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2026-01-12 22:49 UTC (permalink / raw)
To: Herbert Xu; +Cc: llvm, oe-kbuild-all, linux-kernel
Hi Herbert,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b71e635feefc852405b14620a7fc58c4c80c0f73
commit: c3103416d5217655d707d9417aaf66f184e3d72f crypto: hmac - Add ahash support
date: 8 months ago
config: mips-eyeq6_defconfig (https://download.01.org/0day-ci/archive/20260113/202601130603.OVc1bV9o-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260113/202601130603.OVc1bV9o-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601130603.OVc1bV9o-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' [-Wframe-larger-than]
251 | static int hmac_setkey_ahash(struct crypto_ahash *parent,
| ^
1 warning generated.
vim +/hmac_setkey_ahash +251 crypto/hmac.c
250
> 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
252 const u8 *inkey, unsigned int keylen)
253 {
254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
256 int ds = crypto_ahash_digestsize(parent);
257 int bs = crypto_ahash_blocksize(parent);
258 int ss = crypto_ahash_statesize(parent);
259 HASH_REQUEST_ON_STACK(req, fb);
260 u8 *opad = &tctx->pads[ss];
261 u8 *ipad = &tctx->pads[0];
262 int err, i;
263
264 if (fips_enabled && (keylen < 112 / 8))
265 return -EINVAL;
266
267 ahash_request_set_callback(req, 0, NULL, NULL);
268
269 if (keylen > bs) {
270 ahash_request_set_virt(req, inkey, ipad, keylen);
271 err = crypto_ahash_digest(req);
272 if (err)
273 goto out_zero_req;
274
275 keylen = ds;
276 } else
277 memcpy(ipad, inkey, keylen);
278
279 memset(ipad + keylen, 0, bs - keylen);
280 memcpy(opad, ipad, bs);
281
282 for (i = 0; i < bs; i++) {
283 ipad[i] ^= HMAC_IPAD_VALUE;
284 opad[i] ^= HMAC_OPAD_VALUE;
285 }
286
287 ahash_request_set_virt(req, ipad, NULL, bs);
288 err = crypto_ahash_init(req) ?:
289 crypto_ahash_update(req) ?:
290 crypto_ahash_export(req, ipad);
291
292 ahash_request_set_virt(req, opad, NULL, bs);
293 err = err ?:
294 crypto_ahash_init(req) ?:
295 crypto_ahash_update(req) ?:
296 crypto_ahash_export(req, opad);
297
298 out_zero_req:
299 HASH_REQUEST_ZERO(req);
300 return err;
301 }
302
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
@ 2026-04-16 3:04 kernel test robot
2026-04-16 10:24 ` David Laight
0 siblings, 1 reply; 10+ messages in thread
From: kernel test robot @ 2026-04-16 3:04 UTC (permalink / raw)
To: Herbert Xu; +Cc: llvm, oe-kbuild-all, linux-kernel
Hi Herbert,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9e1e9d660255d7216067193d774f338d08d8528d
commit: c3103416d5217655d707d9417aaf66f184e3d72f crypto: hmac - Add ahash support
date: 11 months ago
config: mips-eyeq6_defconfig (https://download.01.org/0day-ci/archive/20260416/202604161035.PMTaI4Cg-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 5bac06718f502014fade905512f1d26d578a18f3)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260416/202604161035.PMTaI4Cg-lkp@intel.com/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
| Fixes: c3103416d521 ("crypto: hmac - Add ahash support")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604161035.PMTaI4Cg-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' [-Wframe-larger-than]
251 | static int hmac_setkey_ahash(struct crypto_ahash *parent,
| ^
1 warning generated.
vim +/hmac_setkey_ahash +251 crypto/hmac.c
250
> 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
252 const u8 *inkey, unsigned int keylen)
253 {
254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
256 int ds = crypto_ahash_digestsize(parent);
257 int bs = crypto_ahash_blocksize(parent);
258 int ss = crypto_ahash_statesize(parent);
259 HASH_REQUEST_ON_STACK(req, fb);
260 u8 *opad = &tctx->pads[ss];
261 u8 *ipad = &tctx->pads[0];
262 int err, i;
263
264 if (fips_enabled && (keylen < 112 / 8))
265 return -EINVAL;
266
267 ahash_request_set_callback(req, 0, NULL, NULL);
268
269 if (keylen > bs) {
270 ahash_request_set_virt(req, inkey, ipad, keylen);
271 err = crypto_ahash_digest(req);
272 if (err)
273 goto out_zero_req;
274
275 keylen = ds;
276 } else
277 memcpy(ipad, inkey, keylen);
278
279 memset(ipad + keylen, 0, bs - keylen);
280 memcpy(opad, ipad, bs);
281
282 for (i = 0; i < bs; i++) {
283 ipad[i] ^= HMAC_IPAD_VALUE;
284 opad[i] ^= HMAC_OPAD_VALUE;
285 }
286
287 ahash_request_set_virt(req, ipad, NULL, bs);
288 err = crypto_ahash_init(req) ?:
289 crypto_ahash_update(req) ?:
290 crypto_ahash_export(req, ipad);
291
292 ahash_request_set_virt(req, opad, NULL, bs);
293 err = err ?:
294 crypto_ahash_init(req) ?:
295 crypto_ahash_update(req) ?:
296 crypto_ahash_export(req, opad);
297
298 out_zero_req:
299 HASH_REQUEST_ZERO(req);
300 return err;
301 }
302
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
2026-04-16 3:04 crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' kernel test robot
@ 2026-04-16 10:24 ` David Laight
2026-04-17 3:59 ` Herbert Xu
0 siblings, 1 reply; 10+ messages in thread
From: David Laight @ 2026-04-16 10:24 UTC (permalink / raw)
To: kernel test robot; +Cc: Herbert Xu, llvm, oe-kbuild-all, linux-kernel
On Thu, 16 Apr 2026 11:04:43 +0800
kernel test robot <lkp@intel.com> wrote:
> Hi Herbert,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 9e1e9d660255d7216067193d774f338d08d8528d
> commit: c3103416d5217655d707d9417aaf66f184e3d72f crypto: hmac - Add ahash support
> date: 11 months ago
> config: mips-eyeq6_defconfig (https://download.01.org/0day-ci/archive/20260416/202604161035.PMTaI4Cg-lkp@intel.com/config)
> compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 5bac06718f502014fade905512f1d26d578a18f3)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260416/202604161035.PMTaI4Cg-lkp@intel.com/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
> | Fixes: c3103416d521 ("crypto: hmac - Add ahash support")
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202604161035.PMTaI4Cg-lkp@intel.com/
>
> All warnings (new ones prefixed by >>):
>
> >> crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' [-Wframe-larger-than]
> 251 | static int hmac_setkey_ahash(struct crypto_ahash *parent,
> | ^
> 1 warning generated.
For a typical x86-64 build with gcc the frame is 700 bytes.
Most will be for req - so it should be pretty architecture/compiler neutral.
Really need the associated object file to see what is going on.
The config file doesn't seem to contain anything unusual.
There are some unrelated oddities though.
>
>
> vim +/hmac_setkey_ahash +251 crypto/hmac.c
>
> 250
> > 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
> 252 const u8 *inkey, unsigned int keylen)
> 253 {
> 254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
> 255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
> 256 int ds = crypto_ahash_digestsize(parent);
> 257 int bs = crypto_ahash_blocksize(parent);
> 258 int ss = crypto_ahash_statesize(parent);
> 259 HASH_REQUEST_ON_STACK(req, fb);
> 260 u8 *opad = &tctx->pads[ss];
Is ss actually guaranteed to be not smaller than bs ?
> 261 u8 *ipad = &tctx->pads[0];
> 262 int err, i;
> 263
> 264 if (fips_enabled && (keylen < 112 / 8))
> 265 return -EINVAL;
> 266
> 267 ahash_request_set_callback(req, 0, NULL, NULL);
> 268
> 269 if (keylen > bs) {
> 270 ahash_request_set_virt(req, inkey, ipad, keylen);
> 271 err = crypto_ahash_digest(req);
> 272 if (err)
> 273 goto out_zero_req;
> 274
> 275 keylen = ds;
Is ds guaranteed to be not larger than bs?
> 276 } else
> 277 memcpy(ipad, inkey, keylen);
> 278
> 279 memset(ipad + keylen, 0, bs - keylen);
> 280 memcpy(opad, ipad, bs);
> 281
> 282 for (i = 0; i < bs; i++) {
> 283 ipad[i] ^= HMAC_IPAD_VALUE;
> 284 opad[i] ^= HMAC_OPAD_VALUE;
> 285 }
> 286
> 287 ahash_request_set_virt(req, ipad, NULL, bs);
> 288 err = crypto_ahash_init(req) ?:
> 289 crypto_ahash_update(req) ?:
> 290 crypto_ahash_export(req, ipad);
> 291
> 292 ahash_request_set_virt(req, opad, NULL, bs);
> 293 err = err ?:
> 294 crypto_ahash_init(req) ?:
> 295 crypto_ahash_update(req) ?:
> 296 crypto_ahash_export(req, opad);
> 297
> 298 out_zero_req:
> 299 HASH_REQUEST_ZERO(req);
> 300 return err;
> 301 }
> 302
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
2026-04-16 10:24 ` David Laight
@ 2026-04-17 3:59 ` Herbert Xu
2026-04-18 9:32 ` David Laight
0 siblings, 1 reply; 10+ messages in thread
From: Herbert Xu @ 2026-04-17 3:59 UTC (permalink / raw)
To: David Laight; +Cc: kernel test robot, llvm, oe-kbuild-all, linux-kernel
On Thu, Apr 16, 2026 at 11:24:06AM +0100, David Laight wrote:
>
> > 250
> > > 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
> > 252 const u8 *inkey, unsigned int keylen)
> > 253 {
> > 254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
> > 255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
> > 256 int ds = crypto_ahash_digestsize(parent);
> > 257 int bs = crypto_ahash_blocksize(parent);
> > 258 int ss = crypto_ahash_statesize(parent);
> > 259 HASH_REQUEST_ON_STACK(req, fb);
> > 260 u8 *opad = &tctx->pads[ss];
>
> Is ss actually guaranteed to be not smaller than bs ?
Yes, it's checked in hmac_create_ahash:
ds = halg->digestsize;
ss = halg->statesize;
if (ds > alg->cra_blocksize || ss < alg->cra_blocksize)
goto err_free_inst;
Thanks,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash'
2026-04-17 3:59 ` Herbert Xu
@ 2026-04-18 9:32 ` David Laight
0 siblings, 0 replies; 10+ messages in thread
From: David Laight @ 2026-04-18 9:32 UTC (permalink / raw)
To: Herbert Xu; +Cc: kernel test robot, llvm, oe-kbuild-all, linux-kernel
On Fri, 17 Apr 2026 11:59:12 +0800
Herbert Xu <herbert@gondor.apana.org.au> wrote:
> On Thu, Apr 16, 2026 at 11:24:06AM +0100, David Laight wrote:
> >
> > > 250
> > > > 251 static int hmac_setkey_ahash(struct crypto_ahash *parent,
> > > 252 const u8 *inkey, unsigned int keylen)
> > > 253 {
> > > 254 struct ahash_hmac_ctx *tctx = crypto_ahash_ctx(parent);
> > > 255 struct crypto_ahash *fb = crypto_ahash_fb(tctx->hash);
> > > 256 int ds = crypto_ahash_digestsize(parent);
> > > 257 int bs = crypto_ahash_blocksize(parent);
> > > 258 int ss = crypto_ahash_statesize(parent);
> > > 259 HASH_REQUEST_ON_STACK(req, fb);
> > > 260 u8 *opad = &tctx->pads[ss];
> >
> > Is ss actually guaranteed to be not smaller than bs ?
>
> Yes, it's checked in hmac_create_ahash:
>
> ds = halg->digestsize;
> ss = halg->statesize;
> if (ds > alg->cra_blocksize || ss < alg->cra_blocksize)
> goto err_free_inst;
>
> Thanks,
Ok, so the comment on the definition of 'struct crypto_ahash' could
reasonably be changed to say that pads[] is large enough for two copies
of any the digest, block or state.
And then line 260 (above) changed to use 'bs'.
The memcpy(opad, ipad, bs) could also be replaced by putting
opad[i] = ipad[i] ^ HMAC_OPAD_VALUE;
into the loop.
None of this helps find why this build explodes the stack.
I've had another look and can't see any inline functions calls
that might cause grief.
David
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-04-18 9:32 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-16 3:04 crypto/hmac.c:251:12: warning: stack frame size (1152) exceeds limit (1024) in 'hmac_setkey_ahash' kernel test robot
2026-04-16 10:24 ` David Laight
2026-04-17 3:59 ` Herbert Xu
2026-04-18 9:32 ` David Laight
-- strict thread matches above, loose matches on Subject: below --
2026-01-12 22:49 kernel test robot
2025-12-03 0:12 kernel test robot
2025-10-28 15:04 kernel test robot
2025-09-14 21:06 kernel test robot
2025-07-23 21:28 kernel test robot
2025-06-19 12:13 kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox