x86/syscalls/64: Add compat_sys_keyctl for 32-bit userspace
authorDavid Howells <dhowells@redhat.com>
Wed, 27 Jul 2016 10:42:38 +0000 (11:42 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 20 Nov 2016 01:01:30 +0000 (01:01 +0000)
commit f7d665627e103e82d34306c7d3f6f46f387c0d8b upstream.

x86_64 needs to use compat_sys_keyctl for 32-bit userspace rather than
calling sys_keyctl(). The latter will work in a lot of cases, thereby
hiding the issue.

Reported-by: Stephan Mueller <smueller@chronox.de>
Tested-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: David Howells <dhowells@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: keyrings@vger.kernel.org
Cc: linux-security-module@vger.kernel.org
Link: http://lkml.kernel.org/r/146961615805.14395.5581949237156769439.stgit@warthog.procyon.org.uk
Signed-off-by: Ingo Molnar <mingo@kernel.org>
[bwh: Backported to 3.2: compat system call table is in ia32entry.S]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/x86/ia32/ia32entry.S

index 95b4eb3..2b55277 100644 (file)
@@ -791,7 +791,7 @@ ia32_sys_call_table:
        .quad quiet_ni_syscall          /* 285: sys_altroot */
        .quad sys_add_key
        .quad sys_request_key
-       .quad sys_keyctl
+       .quad compat_sys_keyctl
        .quad sys_ioprio_set
        .quad sys_ioprio_get            /* 290 */
        .quad sys_inotify_init