diff mbox series

[v1] um: Increase stack frame size threshold for signal.c

Message ID 20201209181915.39147-1-andriy.shevchenko@linux.intel.com
State Accepted
Commit 517f60206ee5d5f75c44bd9c8b1683d1d18a616a
Headers show
Series [v1] um: Increase stack frame size threshold for signal.c | expand

Commit Message

Andy Shevchenko Dec. 9, 2020, 6:19 p.m. UTC
The signal.c can't use heap for bit data located on stack. However,
by default a compiler warns us about overstepping stack frame size
threshold:

arch/um/os-Linux/signal.c: In function ‘sig_handler_common’:
arch/um/os-Linux/signal.c:51:1: warning: the frame size of 2960 bytes is larger than 2048 bytes [-Wframe-larger-than=]
   51 | }
      | ^
arch/um/os-Linux/signal.c: In function ‘timer_real_alarm_handler’:
arch/um/os-Linux/signal.c:95:1: warning: the frame size of 2960 bytes is larger than 2048 bytes [-Wframe-larger-than=]
    95 | }
       | ^

Due to above increase stack frame size threshold explicitly for signal.c
to avoid unnecessary warning.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 arch/um/os-Linux/Makefile | 2 ++
 1 file changed, 2 insertions(+)

Comments

David Gow Dec. 9, 2020, 11:35 p.m. UTC | #1
On Thu, Dec 10, 2020 at 2:23 AM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> The signal.c can't use heap for bit data located on stack. However,
> by default a compiler warns us about overstepping stack frame size
> threshold:
>
> arch/um/os-Linux/signal.c: In function ‘sig_handler_common’:
> arch/um/os-Linux/signal.c:51:1: warning: the frame size of 2960 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>    51 | }
>       | ^
> arch/um/os-Linux/signal.c: In function ‘timer_real_alarm_handler’:
> arch/um/os-Linux/signal.c:95:1: warning: the frame size of 2960 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>     95 | }
>        | ^
>
> Due to above increase stack frame size threshold explicitly for signal.c
> to avoid unnecessary warning.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
Thanks -- this has been annoying me for a while!

I've tested it -- the warning is indeed gone, and nothing else seems to break.

Tested-by: David Gow <davidgow@google.com>

Cheers,
-- David
diff mbox series

Patch

diff --git a/arch/um/os-Linux/Makefile b/arch/um/os-Linux/Makefile
index 839915b8c31c..77ac50baa3f8 100644
--- a/arch/um/os-Linux/Makefile
+++ b/arch/um/os-Linux/Makefile
@@ -10,6 +10,8 @@  obj-y = execvp.o file.o helper.o irq.o main.o mem.o process.o \
 	registers.o sigio.o signal.o start_up.o time.o tty.o \
 	umid.o user_syms.o util.o drivers/ skas/
 
+CFLAGS_signal.o += -Wframe-larger-than=4096
+
 obj-$(CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA) += elf_aux.o
 
 USER_OBJS := $(user-objs-y) elf_aux.o execvp.o file.o helper.o irq.o \