summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/uapi/asm/unistd.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2020-05-31 10:45:11 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2020-05-31 10:45:11 -0700
commit8fc984aedcedbbabae91d8496bd0b608c0749a98 (patch)
treec0f63cf03677c64b07e33421e3040c663368d3d7 /arch/x86/include/uapi/asm/unistd.h
parent3d0428232909d9aa9248c3724f04a333f6f53bb3 (diff)
parentaa61b7bb00f7c0738823237a06161d568442b93c (diff)
downloadlinux-8fc984aedcedbbabae91d8496bd0b608c0749a98.tar.gz
linux-8fc984aedcedbbabae91d8496bd0b608c0749a98.tar.bz2
linux-8fc984aedcedbbabae91d8496bd0b608c0749a98.zip
Merge tag 'x86-urgent-2020-05-31' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Thomas Gleixner: "A pile of x86 fixes: - Prevent a memory leak in ioperm which was caused by the stupid assumption that the exit cleanup is always called for current, which is not the case when fork fails after taking a reference on the ioperm bitmap. - Fix an arithmething overflow in the DMA code on 32bit systems - Fill gaps in the xstate copy with defaults instead of leaving them uninitialized - Revert: "Make __X32_SYSCALL_BIT be unsigned long" as it turned out that existing user space fails to build" * tag 'x86-urgent-2020-05-31' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/ioperm: Prevent a memory leak when fork fails x86/dma: Fix max PFN arithmetic overflow on 32 bit systems copy_xstate_to_kernel(): don't leave parts of destination uninitialized x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long"
Diffstat (limited to 'arch/x86/include/uapi/asm/unistd.h')
-rw-r--r--arch/x86/include/uapi/asm/unistd.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/include/uapi/asm/unistd.h b/arch/x86/include/uapi/asm/unistd.h
index 196fdd02b8b1..be5e2e747f50 100644
--- a/arch/x86/include/uapi/asm/unistd.h
+++ b/arch/x86/include/uapi/asm/unistd.h
@@ -2,8 +2,15 @@
#ifndef _UAPI_ASM_X86_UNISTD_H
#define _UAPI_ASM_X86_UNISTD_H
-/* x32 syscall flag bit */
-#define __X32_SYSCALL_BIT 0x40000000UL
+/*
+ * x32 syscall flag bit. Some user programs expect syscall NR macros
+ * and __X32_SYSCALL_BIT to have type int, even though syscall numbers
+ * are, for practical purposes, unsigned long.
+ *
+ * Fortunately, expressions like (nr & ~__X32_SYSCALL_BIT) do the right
+ * thing regardless.
+ */
+#define __X32_SYSCALL_BIT 0x40000000
#ifndef __KERNEL__
# ifdef __i386__