mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Randy.Dunlap" <rddunlap@osdl.org>
To: ebiederm@xmission.com (Eric W. Biederman)
Cc: drepper@redhat.com, fastboot@lists.osdl.org,
	linux-kernel@vger.kernel.org, akpm <akpm@osdl.org>
Subject: Re: [Fastboot] Re: [announce] kexec for linux 2.6.6
Date: Wed, 12 May 2004 14:32:33 -0700	[thread overview]
Message-ID: <20040512143233.0ee0405a.rddunlap@osdl.org> (raw)
In-Reply-To: <m17jvhoa6g.fsf@ebiederm.dsl.xmission.com>

On 12 May 2004 10:57:27 -0600 Eric W. Biederman wrote:

| Ulrich Drepper <drepper@redhat.com> writes:
| 
| > Eric W. Biederman wrote:
| > 
| > > As a first draft we should be able to use the standard ELF mechanisms
| > > for this.  It is not like PIC shared libraries were new.   Or is
| > > there some specific problem you are thinking of with respect to
| > > randomization?
| > 
| > The official kernel does not have vdso randomization.  Ingo has a patch
| > for the Red Hat kernel which is used in the FC2 kernel.  The patch
| > effectively only changes the location at which the vdso is mapped.  It
| > does not change the vdso content.  So the __kernel_vsyscall symbol in
| > the vdso's symbol table is not changed.

[1:]
| > AT_SYSINFO is the right way to go forward but it is not directly
| > accessible to userlevel code.  And it is no pointer which will make
| > architectures with function descriptors unhappy.
| 
| It sounds like the vdso just needs to be treated as a prelinked
| vdso.  You can find everything you need with AT_SYSINFO_EHDR.
| 
| In the case of function descriptors they should be in a data segment
| that can get copied to another page, and corrected.  Leaving the code
| segment at it's randomized location.

Andrew tells me that he is OK with reserving a syscall number for
kexec, which is easy & quick.  I don't know when vdso will be available
(for non-x86[2]) or when the AT_SYSINFO data will work for userlevel
code[1. above].

So is there any reason not to reserve the syscall number for kexec
for now?  (patch is below)

--
~Randy


[2] kexec is currently only available for x86, but there is interest
in it for ia64 and ppc64 at least.



diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-266-pv/arch/i386/kernel/entry.S linux-266-kexec/arch/i386/kernel/entry.S
--- linux-266-pv/arch/i386/kernel/entry.S	2004-05-09 19:32:26.000000000 -0700
+++ linux-266-kexec/arch/i386/kernel/entry.S	2004-05-11 16:46:27.000000000 -0700
@@ -891,5 +891,6 @@ ENTRY(sys_call_table)
 	.long sys_mq_timedreceive	/* 280 */
 	.long sys_mq_notify
 	.long sys_mq_getsetattr
+	.long sys_ni_syscall		/* reserved for kexec */
 
 syscall_table_size=(.-sys_call_table)
diff -Naurp -X /home/rddunlap/doc/dontdiff-osdl linux-266-pv/include/asm-i386/unistd.h linux-266-kexec/include/asm-i386/unistd.h
--- linux-266-pv/include/asm-i386/unistd.h	2004-05-09 19:32:52.000000000 -0700
+++ linux-266-kexec/include/asm-i386/unistd.h	2004-05-11 16:45:32.000000000 -0700
@@ -288,8 +288,9 @@
 #define __NR_mq_timedreceive	(__NR_mq_open+3)
 #define __NR_mq_notify		(__NR_mq_open+4)
 #define __NR_mq_getsetattr	(__NR_mq_open+5)
+#define __NR_sys_kexec_load	283
 
-#define NR_syscalls 283
+#define NR_syscalls 284
 
 /* user-visible error numbers are in the range -1 - -124: see <asm-i386/errno.h> */
 

  reply	other threads:[~2004-05-12 21:46 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-12  4:26 Randy.Dunlap
2004-05-12  5:00 ` Ulrich Drepper
2004-05-12  6:18   ` [Fastboot] " Eric W. Biederman
2004-05-12 15:33     ` Ulrich Drepper
2004-05-12 15:54       ` Eric W. Biederman
2004-05-12 16:31         ` Ulrich Drepper
2004-05-12 16:57           ` Eric W. Biederman
2004-05-12 21:32             ` Randy.Dunlap [this message]
2004-05-12 22:08               ` David Mosberger
2004-05-12 22:28                 ` Andrew Morton
2004-05-12 22:33                   ` David Mosberger
2004-05-12 23:16                     ` Andrew Morton
2004-05-12 23:27                       ` David Mosberger
2004-05-13  4:30                       ` Christoph Hellwig
2004-05-13  5:05                         ` Willy Tarreau
2004-05-13  5:21                           ` William Lee Irwin III
2004-05-13  5:48                           ` Christoph Hellwig
2004-05-13  6:06                         ` Eric W. Biederman
2004-05-13  6:20                           ` Andrew Morton
2004-05-13  6:39                             ` Eric W. Biederman
2004-05-13  7:33                           ` Christoph Hellwig
2004-05-13  7:37                             ` Andrew Morton
2004-05-13  7:49                               ` Christoph Hellwig
2004-05-13  8:04                                 ` Andrew Morton
2004-05-13 13:52                                   ` Eric W. Biederman
2004-05-13 15:02                                 ` Randy.Dunlap
2004-05-14  5:21               ` Eric W. Biederman
2004-05-14 18:14                 ` Adam Litke
2004-05-15  2:25                   ` Eric W. Biederman
2004-05-17  0:49                     ` H. Peter Anvin
2004-05-12  5:05 ` [Fastboot] " Eric W. Biederman

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=20040512143233.0ee0405a.rddunlap@osdl.org \
    --to=rddunlap@osdl.org \
    --cc=akpm@osdl.org \
    --cc=drepper@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=fastboot@lists.osdl.org \
    --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®