On Fri, 2014-02-07 at 08:40 -0800, Andy Lutomirski wrote:
On Fri, Feb 7, 2014 at 4:58 AM, Jonas Bonn
<jonas.bonn(a)gmail.com> wrote:
> Hi Andy,
>
> On 5 February 2014 00:50, Andy Lutomirski <luto(a)amacapital.net> wrote:
>>
>> I can't even find the system call entry point on mips.
>>
>>
>> Is there a semi-official answer here?
>
> I don't have an official answer for you, but when I wanted to do
> something with these entry points a couple of years back I discovered
> that they aren't very thoroughly implemented across the various
> architectures. I started cleaning this up and can probably dig up
> some of this for you if you need it.
The syscall_get_xyz functions are certainly implemented and functional
in all relevant architectures -- the audit code is already using them.
The thing I'm uncertain about is whether they are usable with no
syscall slow path bits set.
I guess that, if the syscall restart logic needs to read the argument
registers, then they're probably reliably saved...
Al just indicated to me that on at least ia64, syscall_get_arguments()
is really expensive. So maybe not a deal breaker, but sounds like we'd
lose a lot of performance trying to get them at syscall exit...