SYS_personality does not work correctly on mips(el)64
Hi all,
On mips(el), when doing multiple call to the syscall SYS_personality in order to get the current personality (using 0xffffffff for the first argument), on a 64-bit kernel, the second and subsequent syscalls are failing. That works correctly with a 32-bit kernels and on other architectures.
Here is a small test below:
#include <sys/personality.h>
#include <stdio.h>
void main()
{
printf("%i\n", personality(0xFFFFFFFF));
printf("%i\n", personality(0xFFFFFFFF));
}
Bye,
Aurelien
Signature · 4 lines
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [email protected] | [email protected] `- people.debian.org/~aurel32 | www.aurel32.net
Quoted 7 lines · Aurelien Jarno
Hi all,
On mips(el), when doing multiple call to the syscall
SYS_personalityin order to get the current personality (using0xfffffffffor the first argument), on a 64-bit kernel, the second and subsequent syscalls are failing. That works correctly with a 32-bit kernels and on other architectures.
That's caused by mis-handling broken sign extensions, see also
http://bugs.debian.org/380531.
Thiemo
Quoted 8 lines · Thiemo Seufer
Quoted 3 lines · Aurelien Jarno
Hi all,
On mips(el), when doing multiple call to the syscall
SYS_personalityin order to get the current personality (using0xfffffffffor the first argument), on a 64-bit kernel, the second and subsequent syscalls are failing. That works correctly with a 32-bit kernels and on other architectures.That's caused by mis-handling broken sign extensions, see also
http://bugs.debian.org/380531.
Nice to see there is already a patch! Thanks for your work. Do you know when the patch will be merged upstream or in Debian? I really want to see this bug fixed, as it breaks dchroot.
Signature · 4 lines
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [email protected] | [email protected] `- people.debian.org/~aurel32 | www.aurel32.net
Quoted 7 lines · Thiemo Seufer
Quoted 3 lines · Aurelien Jarno
Hi all,
On mips(el), when doing multiple call to the syscall
SYS_personalityin order to get the current personality (using0xfffffffffor the first argument), on a 64-bit kernel, the second and subsequent syscalls are failing. That works correctly with a 32-bit kernels and on other architectures.That's caused by mis-handling broken sign extensions, see also
http://bugs.debian.org/380531.
I still got the exact same problem with this patch applied.
Signature · 4 lines
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [email protected] | [email protected] `- people.debian.org/~aurel32 | www.aurel32.net
Quoted 10 lines · Aurelien Jarno
Quoted 9 lines · Thiemo Seufer
Quoted 7 lines · Aurelien Jarno
Hi all,
On mips(el), when doing multiple call to the syscall
SYS_personalityin order to get the current personality (using0xfffffffffor the first argument), on a 64-bit kernel, the second and subsequent syscalls are failing. That works correctly with a 32-bit kernels and on other architectures.
Quoted 4 lines
Quoted 2 lines
That's caused by mis-handling broken sign extensions, see also
http://bugs.debian.org/380531.I still got the exact same problem with this patch applied.
I works for me on a bcm91480b in big endian mode.
Thiemo
Quoted 11 lines · Thiemo Seufer
Quoted 8 lines · Aurelien Jarno
Quoted 6 lines · Thiemo Seufer
Quoted 3 lines · Aurelien Jarno
Hi all,
On mips(el), when doing multiple call to the syscall
SYS_personalityin order to get the current personality (using0xfffffffffor the first argument), on a 64-bit kernel, the second and subsequent syscalls are failing. That works correctly with a 32-bit kernels and on other architectures.That's caused by mis-handling broken sign extensions, see also
http://bugs.debian.org/380531.I still got the exact same problem with this patch applied.
I works for me on a bcm91480b in big endian mode.
Oops, you are right, I booted the wrong kernel. Sorry!
Signature · 4 lines
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [email protected] | [email protected] `- people.debian.org/~aurel32 | www.aurel32.net