latent_entropy: Fix wrong gcc code generation with 64 bit variables
authorKees Cook <keescook@chromium.org>
Tue, 18 Oct 2016 22:08:04 +0000 (00:08 +0200)
committerKees Cook <keescook@chromium.org>
Mon, 31 Oct 2016 18:30:41 +0000 (11:30 -0700)
commit58bea4144d235cee5bb51203b032ddafd6d1cf8d
tree01256e5ed4f34f736e83b841ca5ef9893cc479f8
parentda7389ac6c83e7aa8b04ebe5ba546df2a7873c5c
latent_entropy: Fix wrong gcc code generation with 64 bit variables

The stack frame size could grow too large when the plugin used long long
on 32-bit architectures when the given function had too many basic blocks.

The gcc warning was:

drivers/pci/hotplug/ibmphp_ebda.c: In function 'ibmphp_access_ebda':
drivers/pci/hotplug/ibmphp_ebda.c:409:1: warning: the frame size of 1108 bytes is larger than 1024 bytes [-Wframe-larger-than=]

This switches latent_entropy from u64 to unsigned long.

Thanks to PaX Team and Emese Revfy for the patch.

Signed-off-by: Kees Cook <keescook@chromium.org>
mm/page_alloc.c
scripts/gcc-plugins/latent_entropy_plugin.c