1. 20 10月, 2007 4 次提交
    • I
      x86: fix CONFIG_NUMA and nosmp | maxcpus=0/1 crash · 54ffaa45
      Ingo Molnar 提交于
      x86 NUMA kernels crash in the scheduler setup code if "nosmp" or
      "maxcpus=0" is passed on the boot command line:
      
      | Brought up 1 CPUs
      | BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
      | printing eip: c011f0b5 *pde = 00000000
      | Oops: 0000 [#1] SMP
      |
      | Pid: 1, comm: swapper Not tainted (2.6.23 #67)
      | EIP: 0060:[<c011f0b5>] EFLAGS: 00010246 CPU: 0
      | EIP is at sd_degenerate+0x35/0x40
      
      the reason is sloppy spaghetti code in smpboot_32.c that resulted in a
      missing map_cpu_to_logical_apicid() call - which also had the side-effect
      of setting up the cpu_2_node[] entry for the lone CPU. That resulted in
      node_to_cpumask(0) resulting in 00000000 - confusing the sched-domains
      setup code.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      54ffaa45
    • S
      x86: use relative symlink for bzImage · 3ceba781
      Sam Ravnborg 提交于
      Use relative symlinks so we can refer bzImage from different tree
      structures aka via NFS.
      
      Moved the creation of directory + symlink after a successful build of
      the boot parts.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3ceba781
    • S
      x86, vsyscall: fix the oops crash with __pa_vsymbol() · 957ff882
      Siddha, Suresh B 提交于
      Appended patch fixes an oops while changing the vsyscall sysctl.
      I am sure no one tested this code before integrating into mainline :(
      
      BTW, using ioremap() in vsyscall_sysctl_change() to get the virtual
      address of a kernel symbol sounds like an over kill.. I wonder if we
      can define a simple __va_vsymbol() which will return directly the
      kernel direct mapping. comments in the code which says gcc has trouble
      with __va(__pa()) sounds bogus to me. __pa() on a vsyscall address will
      not work anyhow :(
      
      And also, the whole nop out syscall in vsyscall page infrastructure
      (vsyscall_sysctl_change()) is added to make some attacks difficult,
      and yet I don't see this nop out being done by default. This area
      requires more cleanups?
      
      Fix an oops with __pa_vsymbol(). VSYSCALL_FIRST_PAGE is a fixmap index.
      We want the starting virtual address of the vsyscall page and not the index.
      
      [ mingo: arch/x86 adaptation ]
      Reported-by: NYanmin Zhang <yanmin.zhang@intel.com>
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      957ff882
    • T
      x86: update .gitignore entries · f322727b
      Thomas Gleixner 提交于
      vdso / vsycall create .so.dbg files now.
      Add *.so.dbg to the main .ignore file
      
      Exclude the compile time created boot directory in arch/x86_64 as well
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f322727b
  2. 19 10月, 2007 36 次提交