From: Carsten Langgaard <carstenl@mips.com>
To: "H. J. Lu" <hjl@lucon.org>
Cc: Ralf Baechle <ralf@oss.sgi.com>,
GNU C Library <libc-alpha@sources.redhat.com>,
linux-mips@oss.sgi.com,
linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: PATCH: Add sys/personality (Re: Personality)
Date: Wed, 17 Jul 2002 09:14:21 +0200 [thread overview]
Message-ID: <3D35194D.E880DDDA@mips.com> (raw)
In-Reply-To: 20020716190814.A31309@lucon.org
"H. J. Lu" wrote:
> On Tue, Jul 16, 2002 at 09:16:48PM +0200, Carsten Langgaard wrote:
> > Thanks.
> > Now that we are at it, what should personality return in case it's called with a
> > value, which isn't defined in the personality.h file.
> > Should it return -EINVAL ?
> > I don't think, that is the case at the moment, I believe you can set personality
> > to anything.
> >
>
> Like this?
>
No, I don't think the patch is correct.
I don't know how this actually should work, maybe someone who do know can help out
here.
But it look like the idea is, that we have a default execution domain (linux), which
have pers_low = 0 (PER_LINUX) and pers_high = 0.
If one want other execution domains, one much call the register_exec_domain to
register the execution domain and personality.
So if personality is call with a value that isn't register, it then accept the
personality and sets the execution domain to the default settings (which is linux).
So the question is should personality, return -EINVAL, if it got a personality value
which hasn't been registered or should it accept the personality, but set the
execution domain to the default setting ?
If the later is true, should it also accept values outside the values defined in the
personality.h file ?
So what should the following user calls return, if not registered in the kernel?
personality(PER_BSD):
personality(0x47):
Could someone with a better understand than I, please comment this.
>
> H.J.
> ---
> --- kernel/exec_domain.c.per Mon Jun 10 10:05:27 2002
> +++ kernel/exec_domain.c Tue Jul 16 19:06:13 2002
> @@ -223,7 +223,8 @@ sys_personality(u_long personality)
>
> if (personality != 0xffffffff) {
> set_personality(personality);
> - if (current->personality != personality)
> + if (personality < current->exec_domain->pers_low
> + || personality > current->exec_domain->pers_high)
> return -EINVAL;
> }
>
--
_ _ ____ ___ Carsten Langgaard Mailto:carstenl@mips.com
|\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527
| \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555
TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556
Denmark http://www.mips.com
next prev parent reply other threads:[~2002-07-17 7:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-16 8:34 Personality Carsten Langgaard
2002-07-16 10:36 ` Personality Ralf Baechle
[not found] ` <20020716090728.A22128@lucon.org>
2002-07-16 19:16 ` PATCH: Add sys/personality (Re: Personality) Carsten Langgaard
2002-07-17 2:08 ` H. J. Lu
2002-07-17 7:14 ` Carsten Langgaard [this message]
2002-07-16 13:40 ` Personality Daniel Jacobowitz
2002-07-16 13:57 ` Personality Carsten Langgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D35194D.E880DDDA@mips.com \
--to=carstenl@mips.com \
--cc=hjl@lucon.org \
--cc=libc-alpha@sources.redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@oss.sgi.com \
--cc=ralf@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.