On Fri, Jun 28, 2019 at 8:41 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > An earlier patch I sent reduced the stack usage enough to get > below the warning limit, and I could show this was safe, but with > GCC_PLUGIN_STRUCTLEAK_BYREF_ALL, it gets worse again because large stack > variables in the same function no longer overlap: > > drivers/staging/rtl8712/rtl871x_ioctl_linux.c: In function 'translate_scan.isra.2': > drivers/staging/rtl8712/rtl871x_ioctl_linux.c:322:1: error: the frame size of 1200 bytes is larger than 1024 bytes [-Werror=frame-larger-than=] > > Split out the largest two blocks in the affected function into two > separate functions and mark those noinline_for_stack. > > Fixes: 8c5af16f7953 ("staging: rtl8712: reduce stack usage") > Fixes: 81a56f6dcd20 ("gcc-plugins: structleak: Generalize to all variable types") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Willem de Bruijn <willemb@xxxxxxxxxx>