Compat 32-bit syscall entry from 64-bit task!?
From: Dmitry V. Levin <hidden>
Date: 2017-03-08 23:45:23
Also in:
linux-fsdevel, lkml
Hi, On Thu, Jan 26, 2012 at 07:03:43PM +0100, Denys Vlasenko wrote:
Hi Linus, On Thu, Jan 26, 2012 at 4:47 AM, Linus Torvalds [off-list ref] wrote:quoted
quoted
Please look at strace source, get_scno() function, where it reads syscall no and parameters. Let's see.... - POWERPC: has 32-bit and 64-bit mode - X86_64: has 32-bit and 64-bit mode - IA64: has i386-compat mode - ARM: has more than one ABI - SPARC: has 32-bit and 64-bit mode Do you want to re-invent a different arch-specific way to report syscall type for each of these arches?I think an arch-specific one is better than trying to make some generic one that is messy. As you say, many architectures have multiple system call ABIs. But they tend to be very *different* issues. They can be about multiple ABI's, as you mention, and even when they *look* similar (32-bit vs 64-bit ABI's) they are actually totally different issues. [skip]I don't have a particular attachment to my solution, and I think we already talk about this problem for far too long. Looks like nobody is _strongly_ opposed to your patch which uses a few bits in eflags to report bitness of the x86 syscall. Lets just do that already. If you commit it to kernel git, I will immediately change strace accordingly.
Is there any progress with this (or any alternative) solution? I see the kernel side has changed a bit, and the strace part is in a better shape than 5 years ago (although I'm biased of course), but I don't see any kernel interface that would allow strace to reliably recognize this 0x80 case. -- ldv -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 801 bytes Desc: not available URL: <http://kernsec.org/pipermail/linux-security-module-archive/attachments/20170309/e495efc4/attachment.sig>