Re: [PATCH] include:linux: task_struct personality comment

From: Ingo Molnar
Date: Wed Apr 10 2013 - 05:30:50 EST



* Andrei Epure <epure.andrei@xxxxxxxxx> wrote:

> Signed-off-by: Andrei Epure <epure.andrei@xxxxxxxxx>
> ---
> include/linux/sched.h | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index d35d2b6..8621bb0 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -1274,8 +1274,10 @@ struct task_struct {
> int exit_code, exit_signal;
> int pdeath_signal; /* The signal sent when the parent dies */
> unsigned int jobctl; /* JOBCTL_*, siglock protected */
> - /* ??? */
> +
> + /* used with exec_domain for compatibility with other UNIX-like OSs */
> unsigned int personality;

I don't mind documenting the p->personality flag, but in practice it's not used
for emulation of other OSs really, but for emulating ABI behavior with previous
_Linux_ versions, see include/uapi/linux/personality.h:

* Flags for bug emulation.
*
* These occupy the top three bytes.
*/
enum {
UNAME26 = 0x0020000,
ADDR_NO_RANDOMIZE = 0x0040000, /* disable randomization of VA space */
FDPIC_FUNCPTRS = 0x0080000, /* userspace function ptrs point to descriptors
* (signal handling)
*/
MMAP_PAGE_ZERO = 0x0100000,
ADDR_COMPAT_LAYOUT = 0x0200000,
READ_IMPLIES_EXEC = 0x0400000,
ADDR_LIMIT_32BIT = 0x0800000,
SHORT_INODE = 0x1000000,
WHOLE_SECONDS = 0x2000000,
STICKY_TIMEOUTS = 0x4000000,
ADDR_LIMIT_3GB = 0x8000000,

So the updated comment should say that.

Thanks,

Ingo
--
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/