Commit 45e29d11 authored by Andy Lutomirski's avatar Andy Lutomirski Committed by Thomas Gleixner

x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long

Currently, it's an int.  This is bizarre.  Fortunately, the code using it
still works: ~__X32_SYSCALL_BIT is also int, so, if nr is unsigned long,
then C kindly sign-extends the ~__X32_SYSCALL_BIT part, and it actually
results in the desired value.

This is far more subtle than it deserves to be.  Syscall numbers are, for
all practical purposes, unsigned long, so make __X32_SYSCALL_BIT be
unsigned long.
Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/99b0d83ad891c67105470a1a6b63243fd63a5061.1562185330.git.luto@kernel.org
parent 5f9e832c
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#define _UAPI_ASM_X86_UNISTD_H #define _UAPI_ASM_X86_UNISTD_H
/* x32 syscall flag bit */ /* x32 syscall flag bit */
#define __X32_SYSCALL_BIT 0x40000000 #define __X32_SYSCALL_BIT 0x40000000UL
#ifndef __KERNEL__ #ifndef __KERNEL__
# ifdef __i386__ # ifdef __i386__
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment