Linux-Fsdevel Archive on
 help / color / Atom feed
From: Arnd Bergmann <>
Cc: Nick Desaulniers <>,
	Alexander Viro <>,
	Andrew Morton <>,
	Andi Kleen <>, Christoph Hellwig <>,
	Eric Dumazet <>, Arnd Bergmann <>,
	"Darrick J. Wong" <>,
	Greg Kroah-Hartman <>,
Subject: [PATCH] fs/select: avoid clang stack usage warning
Date: Thu,  7 Mar 2019 10:01:36 +0100
Message-ID: <> (raw)

The select() implementation is carefully tuned to put a sensible amount
of data on the stack for holding a copy of the user space fd_set,
but not too large to risk overflowing the kernel stack.

When building a 32-bit kernel with clang, we need a little more space
than with gcc, which often triggers a warning:

fs/select.c:619:5: error: stack frame size of 1048 bytes in function 'core_sys_select' [-Werror,-Wframe-larger-than=]
int core_sys_select(int n, fd_set __user *inp, fd_set __user *outp,

I experimentally found that for 32-bit ARM, reducing the maximum
stack usage by 64 bytes keeps us reliably under the warning limit

Signed-off-by: Arnd Bergmann <>
 include/linux/poll.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/linux/poll.h b/include/linux/poll.h
index 7e0fdcf905d2..1cdc32b1f1b0 100644
--- a/include/linux/poll.h
+++ b/include/linux/poll.h
@@ -16,7 +16,11 @@
 extern struct ctl_table epoll_table[]; /* for sysctl */
 /* ~832 bytes of stack space used max in sys_select/sys_poll before allocating
    additional memory. */
+#ifdef __clang__
+#define MAX_STACK_ALLOC 768
 #define MAX_STACK_ALLOC 832

             reply index

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-07  9:01 Arnd Bergmann [this message]
2019-03-07 16:19 ` Andi Kleen

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-Fsdevel Archive on

Archives are clonable:
	git clone --mirror linux-fsdevel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-fsdevel linux-fsdevel/ \
	public-inbox-index linux-fsdevel

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone