]> git.baikalelectronics.ru Git - kernel.git/commit
bridge: multicast: work around clang bug
authorArnd Bergmann <arnd@arndb.de>
Wed, 27 May 2020 13:51:13 +0000 (15:51 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 27 May 2020 18:34:48 +0000 (11:34 -0700)
commit333988cc6d7a64d3ab35ce4dea6cb66882a3f7c7
tree1432d966e59de847d6fbdf59222e983e8684be2d
parentf520884f80bb0a8d70c5202dd8dee086657f02df
bridge: multicast: work around clang bug

Clang-10 and clang-11 run into a corner case of the register
allocator on 32-bit ARM, leading to excessive stack usage from
register spilling:

net/bridge/br_multicast.c:2422:6: error: stack frame size of 1472 bytes in function 'br_multicast_get_stats' [-Werror,-Wframe-larger-than=]

Work around this by marking one of the internal functions as
noinline_for_stack.

Link: https://bugs.llvm.org/show_bug.cgi?id=45802#c9
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_multicast.c