• Arnd Bergmann's avatar
    staging: rtl8712: reduce stack usage, again · fbd6b250
    Arnd Bergmann authored
    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: 8c5af16f ("staging: rtl8712: reduce stack usage")
    Fixes: 81a56f6d ("gcc-plugins: structleak: Generalize to all variable types")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    fbd6b250
rtl871x_ioctl_linux.c 65 KB