broken kernel syscalls on ppc64
Denis J Barrow
DJ at de.ibm.com
Tue May 27 03:41:34 EST 2003
Hi,
I am developing with 2.5.66 & SLES 8 from suse
as most of the apps on SLES8 are 32 bit the check below is broken.
The reason being if a syscall is made from the kernel in the context of a
32 bit process
e.g. bash the syscall code below will incorrectly assume it the syscall is
being made with 32 bit
parameters.
I talked to Martin Schwidefsky & on zSeries they are checking whether the
PSW ( the s390's MSR )
is in 32 or 64 bit mode, I unfortunately don't think we can do the same
thing as MSR[SF] is not used
the same way as on zSeries.
clrrdi r10,r1,THREAD_SHIFT
ld r10,TI_FLAGS(r10)
andi. r11,r10,_TIF_SYSCALL_TRACE
bne- 50f
cmpli 0,r0,NR_syscalls
bge- 66f
/*
* Need to vector to 32 Bit or default sys_call_table here,
* based on caller's run-mode / personality.
*/
andi. r11,r10,_TIF_32BIT
beq- 15f
ld r10,.SYS_CALL_TABLE32 at toc(2)
D.J. Barrow
Linux Kernel Developer
dj at de.ibm.com,barrow_dj at yahoo.com
Phone:0049-7031-16-2943
** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc64-dev
mailing list