|
@@ -225,12 +225,12 @@ long parisc_personality(unsigned long personality)
|
|
long err;
|
|
long err;
|
|
|
|
|
|
if (personality(current->personality) == PER_LINUX32
|
|
if (personality(current->personality) == PER_LINUX32
|
|
- && personality == PER_LINUX)
|
|
|
|
- personality = PER_LINUX32;
|
|
|
|
|
|
+ && personality(personality) == PER_LINUX)
|
|
|
|
+ personality = (personality & ~PER_MASK) | PER_LINUX32;
|
|
|
|
|
|
err = sys_personality(personality);
|
|
err = sys_personality(personality);
|
|
- if (err == PER_LINUX32)
|
|
|
|
- err = PER_LINUX;
|
|
|
|
|
|
+ if (personality(err) == PER_LINUX32)
|
|
|
|
+ err = (err & ~PER_MASK) | PER_LINUX;
|
|
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|