]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PARISC: fix user-triggerable panic on parisc
authorAl Viro <viro@ZenIV.linux.org.uk>
Wed, 21 Nov 2012 19:27:23 +0000 (19:27 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Dec 2012 19:37:58 +0000 (11:37 -0800)
commitad362b2ba5fc62b5bd7740b9aee9ef7c3f4b9466
tree27d3bc1365aab6b404489c7b081e0ccefb865444
parent6be49c441050e8a63407f32c14cb59dc5324f252
PARISC: fix user-triggerable panic on parisc

commit 441a179dafc0f99fc8b3a8268eef66958621082e upstream.

int sys32_rt_sigprocmask(int how, compat_sigset_t __user *set, compat_sigset_t __user *oset,
                                    unsigned int sigsetsize)
{
        sigset_t old_set, new_set;
        int ret;

        if (set && get_sigset32(set, &new_set, sigsetsize))

...
static int
get_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz)
{
        compat_sigset_t s;
        int r;

        if (sz != sizeof *set) panic("put_sigset32()");

In other words, rt_sigprocmask(69, (void *)69, 69) done by 32bit process
will promptly panic the box.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/parisc/kernel/signal32.c