diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2020-01-30 22:17:01 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-01-31 10:30:41 -0800 |
commit | 18676ffcee596079037b1767e4efe38b06f05eb8 (patch) | |
tree | 35df6ca21f4098d69d2fb64c878ee795d486ab6a | |
parent | 03c6d723eeac2d7beaa6d9682768469659088d77 (diff) | |
download | linux-stable-18676ffcee596079037b1767e4efe38b06f05eb8.tar.gz linux-stable-18676ffcee596079037b1767e4efe38b06f05eb8.tar.bz2 linux-stable-18676ffcee596079037b1767e4efe38b06f05eb8.zip |
fs/binfmt_elf.c: make BAD_ADDR() unlikely
If some mapping goes past TASK_SIZE it will be rejected by kernel which
means no such userspace binaries exist.
Mark every such check as unlikely.
Link: http://lkml.kernel.org/r/20191215124355.GA21124@avx2
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/binfmt_elf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 9afb5ed5b2d0..e79e5a7216bd 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -97,7 +97,7 @@ static struct linux_binfmt elf_format = { .min_coredump = ELF_EXEC_PAGESIZE, }; -#define BAD_ADDR(x) ((unsigned long)(x) >= TASK_SIZE) +#define BAD_ADDR(x) (unlikely((unsigned long)(x) >= TASK_SIZE)) static int set_brk(unsigned long start, unsigned long end, int prot) { |