On Mon, Feb 13, 2023 at 09:45:40AM +0200, Jarkko Sakkinen wrote: > On Fri, Feb 10, 2023 at 09:48:15AM -0500, James Bottomley wrote: > > On Wed, 2023-02-08 at 04:49 +0200, Jarkko Sakkinen wrote: > > > On Fri, Feb 03, 2023 at 02:06:48PM +0800, Yujie Liu wrote: > > > > Hi James, > > > > > > > > On Wed, Jan 25, 2023 at 07:59:09AM -0500, James Bottomley wrote: > > > > > On Wed, 2023-01-25 at 07:11 +0800, kernel test robot wrote: > > > > > > > > > > > > If you fix the issue, kindly add following tag where applicable > > > > > > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > > > > > > > > > > All warnings (new ones prefixed by >>): > > > > > > > > > > > > drivers/char/tpm/tpm2-sessions.c:1184:5: warning: no > > > > > > previous > > > > > > prototype for 'tpm2_create_null_primary' [-Wmissing-prototypes] > > > > > > 1184 | int tpm2_create_null_primary(struct tpm_chip *chip) > > > > > > { > > > > > > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > drivers/char/tpm/tpm2-sessions.c: In function > > > > > > 'tpm_buf_check_hmac_response': > > > > > > > > drivers/char/tpm/tpm2-sessions.c:831:1: warning: the frame > > > > > > > > size > > > > > > > > of 1132 bytes is larger than 1024 bytes [-Wframe-larger- > > > > > > > > than=] > > > > > > 831 | } > > > > > > | ^ > > > > > > drivers/char/tpm/tpm2-sessions.c: In function > > > > > > 'tpm_buf_fill_hmac_session': > > > > > > drivers/char/tpm/tpm2-sessions.c:579:1: warning: the frame > > > > > > size of > > > > > > 1132 bytes is larger than 1024 bytes [-Wframe-larger-than=] > > > > > > 579 | } > > > > > > | ^ > > > > > > > > > > Is this a test problem? I can't see why the code would only blow > > > > > the > > > > > stack on the arc architecture and not on any other ... does it > > > > > have > > > > > something funny with on stack crypto structures? > > > > > > > > This warning is controlled by the value of CONFIG_FRAME_WARN. > > > > > > > > For "make ARCH=arc allyesconfig", the default value is 1024, so > > > > this frame warning shows up during the build. > > > > > > > > For other arch such as "make ARCH=x86_64 allyesconfig", the default > > > > value would be 2048 and won't have this warning. > > > > > > > > Not sure if this is a real problem that need to be fixed, here just > > > > providing above information for your reference. > > > > > > > > -- > > > > Best Regards, > > > > Yujie > > > > > > *Must* be fixed given that it is how the default value is set now. > > > This is wrong place to reconsider. > > > > > > > > > And we do not want to add functions that bloat the stack this way. > > > > > > Shash just needs to be allocated from heap instead of stack. > > > > On x86_64 the stack usage is measured at 984 bytes, so rather than > > jumping to conclusions let's root cause why this is a problem only on > > the arc architecture. I suspect it's something to do with the > > alignment constraints of shash. I've also noted it shouldn't actually > > warn on arc because the default stack warning size there should be 2048 > > (like x86_64). The stack usage varies on different architectures, so does the default value of CONFIG_FRAME_WARN. The warning shows up when the stack usage exceeds the default warning size. For arc arch, I reconfirmed that the default stack warning size is 1024 no matter allyesconfig or defconfig, while the usage could reach 1132 bytes. $ make ARCH=arc allyesconfig $ grep FRAME_WARN .config CONFIG_FRAME_WARN=1024 $ make ARCH=arc defconfig $ grep FRAME_WARN .config CONFIG_FRAME_WARN=1024 > Would it such a big deal to allocate shash from heap? That would > be IMHO more robust in the end. Thanks Jarkko for the suggestion. This would be a faster and better fix without having to look into this arc-specific problem. Best Regards, Yujie > BR, Jarkko