Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6

Pull PARISC fixes from James Bottomley:
"This is two bug fixes: one fixes a loophole where rt_sigprocmask()
with the wrong values panics the box (Denial of Service) and the other
fixes an aliasing problem with get_shared_area() which could cause
data corruption.

Signed-off-by: James Bottomley <JBottomley@Parallels.com>"

* tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
[PARISC] fix user-triggerable panic on parisc
[PARISC] fix virtual aliasing issue in get_shared_area()

+6 -2
+4 -2
arch/parisc/kernel/signal32.c
··· 65 65 { 66 66 compat_sigset_t s; 67 67 68 - if (sz != sizeof *set) panic("put_sigset32()"); 68 + if (sz != sizeof *set) 69 + return -EINVAL; 69 70 sigset_64to32(&s, set); 70 71 71 72 return copy_to_user(up, &s, sizeof s); ··· 78 77 compat_sigset_t s; 79 78 int r; 80 79 81 - if (sz != sizeof *set) panic("put_sigset32()"); 80 + if (sz != sizeof *set) 81 + return -EINVAL; 82 82 83 83 if ((r = copy_from_user(&s, up, sz)) == 0) { 84 84 sigset_32to64(set, &s);
+2
arch/parisc/kernel/sys_parisc.c
··· 73 73 struct vm_area_struct *vma; 74 74 int offset = mapping ? get_offset(mapping) : 0; 75 75 76 + offset = (offset + (pgoff << PAGE_SHIFT)) & 0x3FF000; 77 + 76 78 addr = DCACHE_ALIGN(addr - offset) + offset; 77 79 78 80 for (vma = find_vma(current->mm, addr); ; vma = vma->vm_next) {