Re: [PATCH] broken TASK_SIZE for ia32_aout

From: H. Peter Anvin
Date: Sun May 06 2012 - 14:48:33 EST


I would argue Sparc is not correct here but I am not a Sparc expert.

Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:

>On Sun, May 06, 2012 at 10:58:49AM -0700, H. Peter Anvin wrote:
>
>> > What kind of semantics do we want? "Thread property" one, set when
>we
>> > set personality on execve(), or "syscall property", like e.g. x86
>TIF_IRET
>> > and TS_COMPAT?
>>
>> It depends on the ABI properties of the platform. The x86 compat ABI
>is
>> that any task can issue a compat ABI request and get a compat ABI
>> response (a 64-bit task can call int $0x80 for an ia32 syscall
>> invocation, or use syscall with either an x86-64 or and x32 system
>call
>> number.) So is_compat_task() returns the current system call mode of
>> the task, because that is what downstream users need. One of the
>> biggest users is the input subsystem, which earns the black mark for
>> worst possible ABI design, and that definitely depends on the system
>> call type being invoked.
>
>Umm... Let me restate that question: is there ever a case when it
>would
>_not_ be a syscall property? I.e. when both 64bit and 32bit syscalls
>are
>possible for a given process *and* callers of is_compat_task() care
>about
>the kind of process and not the kind of syscall?
>
>Is e.g. sparc behaviour ("what kind of process it is, regardless of
>whether
>we are issuing a 32bit or a 64bit syscall") correct?
>
>Sure, on a platform where the possible kind of syscall is a function of
>process' personality, a thread property can be a used to tell which
>kind of syscall we are in.

--
Sent from my mobile phone. Please excuse brevity and lack of formatting.
--
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/