1. 19 Oct, 2007 3 commits
    • Simon Arlott's avatar
      spelling fixes: init/ · 211fee8a
      Simon Arlott authored
      
      
      Spelling fix in init/.
      Signed-off-by: default avatarSimon Arlott <simon@fire.lp0.eu>
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      211fee8a
    • Robert P. J. Day's avatar
      Drop the superfluous test for an old version of gcc. · d8af7c6a
      Robert P. J. Day authored
      
      
      The header file <linux/compiler.h> already enforces a suitably recent
      version of gcc, so there's no point checking for that again.
      Signed-off-by: default avatarRobert P. J. Day <rpjday@mindspring.com>
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      d8af7c6a
    • Paul Menage's avatar
      Task Control Groups: basic task cgroup framework · ddbcc7e8
      Paul Menage authored
      
      
      Generic Process Control Groups
      --------------------------
      
      There have recently been various proposals floating around for
      resource management/accounting and other task grouping subsystems in
      the kernel, including ResGroups, User BeanCounters, NSProxy
      cgroups, and others.  These all need the basic abstraction of being
      able to group together multiple processes in an aggregate, in order to
      track/limit the resources permitted to those processes, or control
      other behaviour of the processes, and all implement this grouping in
      different ways.
      
      This patchset provides a framework for tracking and grouping processes
      into arbitrary "cgroups" and assigning arbitrary state to those
      groupings, in order to control the behaviour of the cgroup as an
      aggregate.
      
      The intention is that the various resource management and
      virtualization/cgroup efforts can also become task cgroup
      clients, with the result that:
      
      - the userspace APIs are (somewhat) normalised
      
      - it's easier to test e.g. the ResGroups CPU controller in
       conjunction with the BeanCounters memory controller, or use either of
      them as the resource-control portion of a virtual server system.
      
      - the additional kernel footprint of any of the competing resource
       management systems is substantially reduced, since it doesn't need
       to provide process grouping/containment, hence improving their
       chances of getting into the kernel
      
      This patch:
      
      Add the main task cgroups framework - the cgroup filesystem, and the
      basic structures for tracking membership and associating subsystem state
      objects to tasks.
      Signed-off-by: default avatarPaul Menage <menage@google.com>
      Cc: Serge E. Hallyn <serue@us.ibm.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Paul Jackson <pj@sgi.com>
      Cc: Kirill Korotaev <dev@openvz.org>
      Cc: Herbert Poetzl <herbert@13thfloor.at>
      Cc: Srivatsa Vaddagiri <vatsa@in.ibm.com>
      Cc: Cedric Le Goater <clg@fr.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ddbcc7e8
  2. 30 Aug, 2007 1 commit
    • Hugh Dickins's avatar
      fix maxcpus=1 oops in show_stat() · 62e6f1e8
      Hugh Dickins authored
      Alexey Dobriyan reports that maxcpus=1 is still broken in 2.6.23-rc4:
      if CONFIG_HOTPLUG_CPU is not set, x86_64 bootup oopses in show_stat() -
      for_each_possible_cpu accesses a per-cpu area which was never set up.
      
      Alexey identified commit 61ec7567
      (ACPI: boot correctly with "nosmp" or "maxcpus=0") as the origin;
      but it's not really to blame, just exposes a bug in 2.6.23-rc1's commit
      8b3b2955
      
       (Especially when !CONFIG_HOTPLUG_CPU,
      avoid needlessy allocating resources for CPUs that can never become available).
      
      rc1's test for max_cpus < 2 in start_kernel() wasn't working because
      max_cpus was still NR_CPUS at that point: until rc4 moved the maxcpus
      parsing earlier.  Now it sets cpu_possible_map to 1 before allocating
      all possible per-cpu areas; then smp_init() expands cpu_possible_map
      to cpu_present_map (0xf in my case) later on.
      
      rc1's commit has good intentions, but expects cpu_present_map to be
      limited by maxcpus, which is only the case on i386.  cpus_and(possible,
      possible,present) might be good, but needs an audit of cpu_present_map
      uses - there may well be assumptions that any cpu present is possible.
      
      So stay safe for now and just revert those #ifndef CONFIG_HOTPLUG_CPU
      optimizations in rc1's commit.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      62e6f1e8
  3. 27 Aug, 2007 1 commit
    • Hugh Dickins's avatar
      fix maxcpus=N parsing · 81340977
      Hugh Dickins authored
      Commit 61ec7567
      
       ('ACPI: boot correctly
      with "nosmp" or "maxcpus=0"') broke 'maxcpus=' handling on x86[-64].
      
      maxcpus=N is now having no effect on x86_64, and freezing bootup on i386
      (because of inconsistency with the separate maxcpus parsing down in
      arch/i386, I guess).  That's because early_param parsing is a little
      different from __setup parsing, and needs the "=" omitted: then it seems
      to work as the original commit intended (no mention of IO-APIC in
      /proc/interrupts when maxcpus=0).
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      81340977
  4. 20 Aug, 2007 1 commit
    • Len Brown's avatar
      ACPI: boot correctly with "nosmp" or "maxcpus=0" · 61ec7567
      Len Brown authored
      In MPS mode, "nosmp" and "maxcpus=0" boot a UP kernel with IOAPIC disabled.
      However, in ACPI mode, these parameters didn't completely disable
      the IO APIC initialization code and boot failed.
      
      init/main.c:
      	Disable the IO_APIC if "nosmp" or "maxcpus=0"
      	undefine disable_ioapic_setup() when it doesn't apply.
      
      i386:
      	delete ioapic_setup(), it was a duplicate of parse_noapic()
      	delete undefinition of disable_ioapic_setup()
      
      x86_64:
      	rename disable_ioapic_setup() to parse_noapic() to match i386
      	define disable_ioapic_setup() in header to match i386
      
      http://bugzilla.kernel.org/show_bug.cgi?id=1641
      
      Acked-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      61ec7567
  5. 16 Jul, 2007 3 commits
    • Jan Beulich's avatar
      adjust nosmp handling · 8b3b2955
      Jan Beulich authored
      
      
      Especially when !CONFIG_HOTPLUG_CPU, avoid needlessy allocating resources for
      CPUs that can never become available.
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8b3b2955
    • Dave Jones's avatar
      Allow softlockup to be runtime disabled · 97842216
      Dave Jones authored
      
      
      It's useful sometimes to disable the softlockup checker at boottime.
      Especially if it triggers during a distro install.
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      97842216
    • Yinghai Lu's avatar
      serial: convert early_uart to earlycon for 8250 · 18a8bd94
      Yinghai Lu authored
      
      
      Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and
      include/asm-x86_64/serial.h.  the serial8250_ports need to be probed late in
      serial initializing stage.  the console_init=>serial8250_console_init=>
      register_console=>serial8250_console_setup will return -ENDEV, and console
      ttyS0 can not be enabled at that time.  need to wait till uart_add_one_port in
      drivers/serial/serial_core.c to call register_console to get console ttyS0.
      that is too late.
      
      Make early_uart to use early_param, so uart console can be used earlier.  Make
      it to be bootconsole with CON_BOOT flag, so can use console handover feature.
      and it will switch to corresponding normal serial console automatically.
      
      new command line will be:
      	console=uart8250,io,0x3f8,9600n8
      	console=uart8250,mmio,0xff5e0000,115200n8
      or
      	earlycon=uart8250,io,0x3f8,9600n8
      	earlycon=uart8250,mmio,0xff5e0000,115200n8
      
      it will print in very early stage:
      	Early serial console at I/O port 0x3f8 (options '9600n8')
      	console [uart0] enabled
      later for console it will print:
      	console handover: boot [uart0] -> real [ttyS0]
      
      Signed-off-by: <yinghai.lu@sun.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Gerd Hoffmann <kraxel@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18a8bd94
  6. 09 Jul, 2007 1 commit
  7. 19 May, 2007 1 commit
  8. 11 May, 2007 1 commit
  9. 09 May, 2007 1 commit
    • Eric W. Biederman's avatar
      kthread: don't depend on work queues · 73c27992
      Eric W. Biederman authored
      
      
      Currently there is a circular reference between work queue initialization
      and kthread initialization.  This prevents the kthread infrastructure from
      initializing until after work queues have been initialized.
      
      We want the properties of tasks created with kthread_create to be as close
      as possible to the init_task and to not be contaminated by user processes.
      The later we start our kthreadd that creates these tasks the harder it is
      to avoid contamination from user processes and the more of a mess we have
      to clean up because the defaults have changed on us.
      
      So this patch modifies the kthread support to not use work queues but to
      instead use a simple list of structures, and to have kthreadd start from
      init_task immediately after our kernel thread that execs /sbin/init.
      
      By being a true child of init_task we only have to change those process
      settings that we want to have different from init_task, such as our process
      name, the cpus that are allowed, blocking all signals and setting SIGCHLD
      to SIG_IGN so that all of our children are reaped automatically.
      
      By being a true child of init_task we also naturally get our ppid set to 0
      and do not wind up as a child of PID == 1.  Ensuring that tasks generated
      by kthread_create will not slow down the functioning of the wait family of
      functions.
      
      [akpm@linux-foundation.org: use interruptible sleeps]
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      73c27992
  10. 08 May, 2007 2 commits
  11. 07 May, 2007 1 commit
    • Christoph Lameter's avatar
      Safer nr_node_ids and nr_node_ids determination and initial values · 476f3534
      Christoph Lameter authored
      
      
      The nr_cpu_ids value is currently only calculated in smp_init.  However, it
      may be needed before (SLUB needs it on kmem_cache_init!) and other kernel
      components may also want to allocate dynamically sized per cpu array before
      smp_init.  So move the determination of possible cpus into sched_init()
      where we already loop over all possible cpus early in boot.
      
      Also initialize both nr_node_ids and nr_cpu_ids with the highest value they
      could take.  If we have accidental users before these values are determined
      then the current valud of 0 may cause too small per cpu and per node arrays
      to be allocated.  If it is set to the maximum possible then we only waste
      some memory for early boot users.
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      476f3534
  12. 02 May, 2007 2 commits
  13. 20 Feb, 2007 1 commit
  14. 19 Feb, 2007 1 commit
    • Andrew Morton's avatar
      [PATCH] Declare init_irq_proc before we use it. · 6168a702
      Andrew Morton authored
      
      
      powerpc gets:
      
      init/main.c: In function `do_basic_setup':
      init/main.c:714: warning: implicit declaration of function `init_irq_proc'
      
      but we cannot include linux/irq.h in generic code.
      
      Fix it by moving the declaration into linux/interrupt.h instead.
      
      And make sure all code that defines init_irq_proc() is including
      linux/interrupt.h.
      
      And nuke an ifdef-in-C
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6168a702
  15. 16 Feb, 2007 1 commit
  16. 14 Feb, 2007 2 commits
  17. 13 Feb, 2007 1 commit
    • Vivek Goyal's avatar
      [PATCH] generic: Break init() in two parts to avoid MODPOST warnings · ee5bfa64
      Vivek Goyal authored
      
      
      o init() is a non __init function in .text section but it calls many
        functions which are in .init.text section. Hence MODPOST generates lots
        of cross reference warnings on i386 if compiled with CONFIG_RELOCATABLE=y
      
      WARNING: vmlinux - Section mismatch: reference to .init.text:smp_prepare_cpus from .text between 'init' (at offset 0xc0101049) and 'rest_init'
      WARNING: vmlinux - Section mismatch: reference to .init.text:migration_init from .text between 'init' (at offset 0xc010104e) and 'rest_init'
      WARNING: vmlinux - Section mismatch: reference to .init.text:spawn_ksoftirqd from .text between 'init' (at offset 0xc0101053) and 'rest_init'
      
      o This patch breaks down init() in two parts. One part which can go
        in .init.text section and can be freed and other part which has to
        be non __init(init_post()). Now init() calls init_post() and init_post()
        does not call any functions present in .init sections. Hence getting
        rid of warnings.
      Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      ee5bfa64
  18. 12 Feb, 2007 1 commit
    • Alon Bar-Lev's avatar
      [PATCH] Dynamic kernel command-line: common · 30d7e0d4
      Alon Bar-Lev authored
      
      
      Current implementation stores a static command-line buffer allocated to
      COMMAND_LINE_SIZE size.  Most architectures stores two copies of this buffer,
      one for future reference and one for parameter parsing.
      
      Current kernel command-line size for most architecture is much too small for
      module parameters, video settings, initramfs paramters and much more.  The
      problem is that setting COMMAND_LINE_SIZE to a grater value, allocates static
      buffers.
      
      In order to allow a greater command-line size, these buffers should be
      dynamically allocated or marked as init disposable buffers, so unused memory
      can be released.
      
      This patch renames the static saved_command_line variable into
      boot_command_line adding __initdata attribute, so that it can be disposed
      after initialization.  This rename is required so applications that use
      saved_command_line will not be affected by this change.
      
      It reintroduces saved_command_line as dynamically allocated buffer to match
      the data in boot_command_line.
      
      It also mark secondary command-line buffer as __initdata, and copies it to
      dynamically allocated static_command_line buffer components may hold reference
      to it after initialization.
      
      This patch is for linux-2.6.20-rc4-mm1 and is divided to target each
      architecture.  I could not check this in any architecture so please forgive me
      if I got it wrong.
      
      The per-architecture modification is very simple, use boot_command_line in
      place of saved_command_line.  The common code is the change into dynamic
      command-line.
      
      This patch:
      
      1. Rename saved_command_line into boot_command_line, mark as init
         disposable.
      
      2. Add dynamic allocated saved_command_line.
      
      3. Add dynamic allocated static_command_line.
      
      4. During startup copy: boot_command_line into saved_command_line.  arch
         command_line into static_command_line.
      
      5. Parse static_command_line and not arch command_line, so arch
         command_line may be freed.
      Signed-off-by: default avatarAlon Bar-Lev <alon.barlev@gmail.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Greg Ungerer <gerg@uclinux.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      30d7e0d4
  19. 11 Feb, 2007 1 commit
  20. 10 Jan, 2007 2 commits
  21. 06 Jan, 2007 1 commit
  22. 20 Dec, 2006 1 commit
  23. 11 Dec, 2006 2 commits
    • Linus Torvalds's avatar
      Make sure we populate the initroot filesystem late enough · 8d610dd5
      Linus Torvalds authored
      
      
      We should not initialize rootfs before all the core initializers have
      run.  So do it as a separate stage just before starting the regular
      driver initializers.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8d610dd5
    • Linus Torvalds's avatar
      Make SLES9 "get_kernel_version" work on the kernel binary again · 8993780a
      Linus Torvalds authored
      As reported by Andy Whitcroft, at least the SLES9 initrd build process
      depends on getting the kernel version from the kernel binary.  It does
      that by simply trawling the binary and looking for the signature of the
      "linux_banner" string (the string "Linux version " to be exact. Which
      is really broken in itself, but whatever..)
      
      That got broken when the string was changed to allow /proc/version to
      change the UTS release information dynamically, and "get_kernel_version"
      thus returned "%s" (see commit a2ee8649
      
      :
      "[PATCH] Fix linux banner utsname information").
      
      This just restores "linux_banner" as a static string, which should fix
      the version finding.  And /proc/version simply uses a different string.
      
      To avoid wasting even that miniscule amount of memory, the early boot
      string should really be marked __initdata, but that just causes the same
      bug in SLES9 to re-appear, since it will then find other occurrences of
      "Linux version " first.
      
      Cc: Andy Whitcroft <apw@shadowen.org>
      Acked-by: default avatarHerbert Poetzl <herbert@13thfloor.at>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Andrew Morton <akpm@osdl.org>
      Cc: Steve Fox <drfickle@us.ibm.com>
      Acked-by: default avatarOlaf Hering <olaf@aepfle.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8993780a
  24. 08 Dec, 2006 2 commits
  25. 07 Dec, 2006 1 commit
    • Andrew Morton's avatar
      [PATCH] gcc-4.1.0 is bust · f1a60dbf
      Andrew Morton authored
      
      
      Keith says
      
      Compiling 2.6.19-rc6 with gcc version 4.1.0 (SUSE Linux), wait_hpet_tick is
      optimized away to a never ending loop and the kernel hangs on boot in timer
      setup.
      
      0000001a <wait_hpet_tick>:
        1a:   55                      push   %ebp
        1b:   89 e5                   mov    %esp,%ebp
        1d:   eb fe                   jmp    1d <wait_hpet_tick+0x3>
      
      This is not a problem with gcc 3.3.5.  Adding barrier() calls to
      wait_hpet_tick does not help, making the variables volatile does.
      
      And the consensus is that gcc-4.1.0 is busted.  Suse went and shipped
      gcc-4.1.0 so we cannot ban it.  Add a warning.
      
      Cc: Keith Owens <kaos@ocs.com.au>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      f1a60dbf
  26. 06 Dec, 2006 1 commit
  27. 21 Oct, 2006 1 commit
    • Jan Beulich's avatar
      [PATCH] x86-64: Speed up dwarf2 unwinder · 690a973f
      Jan Beulich authored
      
      
      This changes the dwarf2 unwinder to do a binary search for CIEs
      instead of a linear work. The linker is unfortunately not
      able to build a proper lookup table at link time, instead it creates
      one at runtime as soon as the bootmem allocator is usable (so you'll continue
      using the linear lookup for the first [hopefully] few calls).
      The code should be ready to utilize a build-time created table once
      a fixed linker becomes available.
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      690a973f
  28. 02 Oct, 2006 2 commits
    • Cedric Le Goater's avatar
      [PATCH] replace cad_pid by a struct pid · 9ec52099
      Cedric Le Goater authored
      
      
      There are a few places in the kernel where the init task is signaled.  The
      ctrl+alt+del sequence is one them.  It kills a task, usually init, using a
      cached pid (cad_pid).
      
      This patch replaces the pid_t by a struct pid to avoid pid wrap around
      problem.  The struct pid is initialized at boot time in init() and can be
      modified through systctl with
      
      	/proc/sys/kernel/cad_pid
      
      [ I haven't found any distro using it ? ]
      
      It also introduces a small helper routine kill_cad_pid() which is used
      where it seemed ok to use cad_pid instead of pid 1.
      
      [akpm@osdl.org: cleanups, build fix]
      Signed-off-by: default avatarCedric Le Goater <clg@fr.ibm.com>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      9ec52099
    • Arnd Bergmann's avatar
      [PATCH] introduce kernel_execve · 67608567
      Arnd Bergmann authored
      
      
      The use of execve() in the kernel is dubious, since it relies on the
      __KERNEL_SYSCALLS__ mechanism that stores the result in a global errno
      variable.  As a first step of getting rid of this, change all users to a
      global kernel_execve function that returns a proper error code.
      
      This function is a terrible hack, and a later patch removes it again after the
      kernel syscalls are gone.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Hirokazu Takata <takata.hirokazu@renesas.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      67608567
  29. 27 Sep, 2006 1 commit