diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index 9afb5ed5b2d0f1599fcef8fcd59c64b3f7f4b168..e79e5a7216bd66f4d0d0f5b1638598d655b5e201 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)
 {