ubifs: replay: Fix high stack usage
authorArnd Bergmann <arnd@arndb.de>
Fri, 2 Nov 2018 15:39:24 +0000 (16:39 +0100)
committerRichard Weinberger <richard@nod.at>
Thu, 13 Dec 2018 21:07:56 +0000 (22:07 +0100)
commiteb66eff6636de0e83f74294447b47aec51e069fc
treef00ca5c053e880abbc8d0976812c40fa76b398e0
parent40e020c129cfc991e8ab4736d2665351ffd1468d
ubifs: replay: Fix high stack usage

Having two shash descriptors on the stack cause a very significant kernel
stack usage that can cross the warning threshold:

fs/ubifs/replay.c: In function 'authenticate_sleb':
fs/ubifs/replay.c:633:1: error: the frame size of 1144 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]

Normally, gcc optimizes the out, but with CONFIG_CC_OPTIMIZE_FOR_DEBUGGING,
it does not. Splitting the two stack allocations into separate functions
means that they will use the same memory again. In normal configurations
(optimizing for size or performance), those should get inlined and we get
the same behavior as before.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/replay.c