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 a set of two bug fixes. One is the ATOMIC problem which is
now causing a compile failure in certain situations. The other is
mishandling of PER_LINUX32 which may also cause user visible effects.

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 personality flag check in copy_thread()
[PARISC] Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts

+7 -7
+2 -2
arch/parisc/include/asm/atomic.h
··· 141 141 142 142 #define atomic_sub_and_test(i,v) (atomic_sub_return((i),(v)) == 0) 143 143 144 - #define ATOMIC_INIT(i) ((atomic_t) { (i) }) 144 + #define ATOMIC_INIT(i) { (i) } 145 145 146 146 #define smp_mb__before_atomic_dec() smp_mb() 147 147 #define smp_mb__after_atomic_dec() smp_mb() ··· 150 150 151 151 #ifdef CONFIG_64BIT 152 152 153 - #define ATOMIC64_INIT(i) ((atomic64_t) { (i) }) 153 + #define ATOMIC64_INIT(i) { (i) } 154 154 155 155 static __inline__ s64 156 156 __atomic64_add_return(s64 i, atomic64_t *v)
+1 -1
arch/parisc/kernel/process.c
··· 309 309 cregs->ksp = (unsigned long)stack 310 310 + (pregs->gr[21] & (THREAD_SIZE - 1)); 311 311 cregs->gr[30] = usp; 312 - if (p->personality == PER_HPUX) { 312 + if (personality(p->personality) == PER_HPUX) { 313 313 #ifdef CONFIG_HPUX 314 314 cregs->kpc = (unsigned long) &hpux_child_return; 315 315 #else
+4 -4
arch/parisc/kernel/sys_parisc.c
··· 225 225 long err; 226 226 227 227 if (personality(current->personality) == PER_LINUX32 228 - && personality == PER_LINUX) 229 - personality = PER_LINUX32; 228 + && personality(personality) == PER_LINUX) 229 + personality = (personality & ~PER_MASK) | PER_LINUX32; 230 230 231 231 err = sys_personality(personality); 232 - if (err == PER_LINUX32) 233 - err = PER_LINUX; 232 + if (personality(err) == PER_LINUX32) 233 + err = (err & ~PER_MASK) | PER_LINUX; 234 234 235 235 return err; 236 236 }