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
prev parent reply other threads:[~2002-07-17 7:11 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3D33DAB2.353A4399@mips.com>
[not found] ` <20020716123632.B17038@dea.linux-mips.net>
[not found] ` <20020716090728.A22128@lucon.org>
[not found] ` <3D347120.B9CAFF75@mips.com>
2002-07-17 2:08 ` PATCH: Add sys/personality (Re: Personality) H. J. Lu
2002-07-17 7:14 ` Carsten Langgaard [this message]
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox