Re: [PATCH] ftrace: unify arch_syscall_addr() implementations

From: Mike Frysinger
Date: Fri Jan 22 2010 - 14:33:35 EST


On Fri, Jan 22, 2010 at 11:37, Heiko Carstens wrote:
> On Fri, Jan 22, 2010 at 09:36:17AM -0500, Steven Rostedt wrote:
>> On Fri, 2010-01-22 at 08:43 -0500, Mike Frysinger wrote:
>> > Every arch_syscall_addr() implementation thus far is the same, so unify
>> > them as a default weak in common code so more arches don't have to waste
>> > time copying & pasting this simple function. ÂThe Blackfin version is
>> > going to be exactly the same.
>> >
>> > Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
>> > ---
>> > note: only thing that needs double checking is s390 and sparc where they
>> > declared the sys_call_table as an array of ints. Âconsidering this table
>> > is supposed to be an array of function pointers, this seems like more of
>> > a typo to me ...
>>
>> I would not be too sure. s390 is very strange, and I would definitely
>> want to get an Ack from the arch maintainers first.
>
> It's not a typo. The syscall table on s390 contains always 32 bit pointers
> since we know that the address of the function to be called is (way) below
> 4GB. So this saves us a few bytes.
> In addition this makes syscall patching done by some security modules a
> bit more difficult, since they would need to store a 64 bit pointer.
> That's because we make sure that module addresses are always above 4GB.

i'll update the s390 code to add an explanatory comment then and post
a new version
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/