From: "Ahmed S. Darwish" <darwish.07@gmail.com>
To: linux-kernel@vger.kernel.org
Subject: i386: Why putting __USER_DS in kernel threads stack initialization?
Date: Mon, 19 Mar 2007 00:58:31 +0200 [thread overview]
Message-ID: <20070318225831.GB3802@Ahmed> (raw)
Hi list,
Reading the kernel threads initialization code I see:
int kernel_thread(...) {
struct pt_regs regs;
memset(®s, 0, sizeof(regs));
[...]
** regs.xds = __USER_DS;
** regs.xes = __USER_DS;
[...]
/* Ok, create the new process.. */
return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, ®s, \
0, NULL, NULL);
Continuing with the code, the threads stack (beginning from %esp) is
initialized with the passed *regs from do_fork:
int copy_thread(..., struct task_struct *p, struct pt_regs *regs) {
struct pt_regs * childregs;
struct task_struct *tsk;
childregs = task_pt_regs(p);
** *childregs = *regs;
[...]
** p->thread.esp = (unsigned long) childregs;
So the question is what will a _kernel_ thread do with the Usermode Segment
address ?
Thanks,
P.S. I've tried commenting out both lines which led to a non functional init,
Also setting them to __USER_DS made init start but stopped issuing the error:
`Panic: Segment violation at 0x8049798 - Sleeping for 30 seconds'
--
Ahmed S. Darwish
http://darwish.07.googlepages.com
next reply other threads:[~2007-03-18 22:58 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-18 22:58 Ahmed S. Darwish [this message]
2007-03-18 23:15 ` Ahmed S. Darwish
2007-03-19 11:23 ` linux-os (Dick Johnson)
2007-03-21 19:25 ` Ahmed S. Darwish
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=20070318225831.GB3802@Ahmed \
--to=darwish.07@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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
all inboxes | Powered by JetHome®