diff options
author | Arnd Bergmann <arnd@arndb.de> | 2019-03-24 20:44:51 +0100 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2019-05-07 21:36:39 +0200 |
commit | f4844b35d68ab49c41d542c501fffb46ad81009a (patch) | |
tree | ba3a0defe190b28fabc143601fe5a79f45b511bc /fs/ubifs/super.c | |
parent | ubifs: remove unused function __ubifs_shash_final (diff) | |
download | linux-f4844b35d68ab49c41d542c501fffb46ad81009a.tar.xz linux-f4844b35d68ab49c41d542c501fffb46ad81009a.zip |
ubifs: work around high stack usage with clang
Building this file with clang can result in large stack usage as seen from
this warning:
fs/ubifs/auth.c:78:5: error: stack frame size of 1152 bytes in function 'ubifs_prepare_auth_node'
The problem is that inlining ubifs_hash_calc_hmac() leads to
two SHASH_DESC_ON_STACK() blocks in the same function, and clang
for some reason does not reuse the stack space as it should.
Putting the first declaration into a separate basic block avoids
this problem and reduces the stack allocation to 640 bytes.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'fs/ubifs/super.c')
0 files changed, 0 insertions, 0 deletions