1. 11 Nov, 2009 1 commit
    • Andreas Herrmann's avatar
      x86, ucode-amd: Ensure ucode update on suspend/resume after CPU off/online cycle · 9f15226e
      Andreas Herrmann authored
      When switching a CPU offline/online and then doing
      suspend/resume, ucode is not updated on this CPU.
      
      This is due to the microcode_fini_cpu() call which frees uci->mc
      when setting the CPU offline:
      
        static void microcode_fini_cpu_amd(int cpu)
        {
                struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
      
                vfree(uci->mc);
                uci->mc = NULL;
        }
      
      When the CPU is set online uci->mc is still NULL because no
      ucode update is required.
      
      Finally this prevents ucode update when resuming after suspend:
      
        static enum ucode_state microcode_resume_cpu(int cpu)
        {
              struct ucode_cpu_info *uci = ucode_cpu_info + cpu;
      
              if (!uci->mc)
                      return UCODE_NFOUND;
      
              ...
        }
      
      Fix is to check whether uci->mc is valid before
      microcode_resume_cpu() is called.
      Signed-off-by: default avatarAndreas Herrmann <andreas.herrmann3@amd.com>
      Cc: dimm <dmitry.adamushko@gmail.com>
      LKML-Reference: <20091111190329.GF18592@alberich.amd.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      9f15226e
  2. 10 Nov, 2009 5 commits
  3. 08 Nov, 2009 1 commit
  4. 06 Nov, 2009 1 commit
  5. 04 Nov, 2009 1 commit
    • Stefani Seibold's avatar
      x86, fs: Fix x86 procfs stack information for threads on 64-bit · 89240ba0
      Stefani Seibold authored
      This patch fixes two issues in the procfs stack information on
      x86-64 linux.
      
      The 32 bit loader compat_do_execve did not store stack
      start. (this was figured out by Alexey Dobriyan).
      
      The stack information on a x64_64 kernel always shows 0 kbyte
      stack usage, because of a missing implementation of the KSTK_ESP
      macro which always returned -1.
      
      The new implementation now returns the right value.
      Signed-off-by: default avatarStefani Seibold <stefani@seibold.net>
      Cc: Americo Wang <xiyou.wangcong@gmail.com>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      LKML-Reference: <1257240160.4889.24.camel@wall-e>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      89240ba0
  6. 03 Nov, 2009 2 commits
  7. 02 Nov, 2009 2 commits
  8. 29 Oct, 2009 1 commit
  9. 28 Oct, 2009 1 commit
  10. 27 Oct, 2009 1 commit
  11. 26 Oct, 2009 3 commits
    • Jan Beulich's avatar
      x86-64: Fix register leak in 32-bit syscall audting · 81766741
      Jan Beulich authored
      Restoring %ebp after the call to audit_syscall_exit() is not
      only unnecessary (because the register didn't get clobbered),
      but in the sysenter case wasn't even doing the right thing: It
      loaded %ebp from a location below the top of stack (RBP <
      ARGOFFSET), i.e. arbitrary kernel data got passed back to user
      mode in the register.
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Acked-by: default avatarRoland McGrath <roland@redhat.com>
      Cc: <stable@kernel.org>
      LKML-Reference: <4AE5CC4D020000780001BD13@vpn.id2.novell.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      81766741
    • Jiri Slaby's avatar
      x86: crash_dump: Fix non-pae kdump kernel memory accesses · 72ed7de7
      Jiri Slaby authored
      Non-PAE 32-bit dump kernels may wrap an address around 4G and
      poke unwanted space. ptes there are 32-bit long, and since
      pfn << PAGE_SIZE may exceed this limit, high pfn bits are
      cropped and wrong address mapped by kmap_atomic_pfn in
      copy_oldmem_page.
      
      Don't allow this behavior in non-PAE kdump kernels by checking
      pfns passed into copy_oldmem_page. In the case of failure,
      userspace process gets EFAULT.
      
      [v2]
      - fix comments
      - move ifdefs inside the function
      Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Simon Horman <horms@verge.net.au>
      Cc: Paul Mundt <lethal@linux-sh.org>
      LKML-Reference: <1256551903-30567-1-git-send-email-jirislaby@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      72ed7de7
    • Rusty Russell's avatar
      x86: Side-step lguest problem by only building cmpxchg8b_emu for pre-Pentium · ae1b22f6
      Rusty Russell authored
      Commit 79e1dd05 "x86: Provide an alternative() based
      cmpxchg64()" broke lguest, even on systems which have cmpxchg8b
      support.  The emulation code gets used until alternatives get
      run, but it contains native instructions, not their paravirt
      alternatives.
      
      The simplest fix is to turn this code off except for 386 and 486
      builds.
      Reported-by: default avatarJohannes Stezenbach <js@sig21.net>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: lguest@ozlabs.org
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <200910261426.05769.rusty@rustcorp.com.au>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ae1b22f6
  12. 23 Oct, 2009 1 commit
  13. 21 Oct, 2009 1 commit
  14. 16 Oct, 2009 5 commits
    • Robin Holt's avatar
      x86, UV: Fix and clean up bau code to use uv_gpa_to_pnode() · 1d21e6e3
      Robin Holt authored
      Create an inline function to extract the pnode from a global
      physical address and then convert the broadcast assist unit to
      use the newly created uv_gpa_to_pnode function.
      
      The open-coded code was wrong as well - it might explain a
      few of our unexplained bau hangs.
      Signed-off-by: default avatarRobin Holt <holt@sgi.com>
      Acked-by: default avatarCliff Whickman <cpw@sgi.com>
      Cc: linux-mm@kvack.org
      Cc: Jack Steiner <steiner@sgi.com>
      LKML-Reference: <20091016112920.GZ8903@sgi.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      1d21e6e3
    • Roland Dreier's avatar
      x86: Don't print number of MCE banks for every CPU · 93ae5012
      Roland Dreier authored
      The MCE initialization code explicitly says it doesn't handle
      asymmetric configurations where different CPUs support different
      numbers of MCE banks, and it prints a big warning in that case.
      
      Therefore, printing the "mce: CPU supports <x> MCE banks"
      message into the kernel log for every CPU is pure redundancy
      that clutters the log significantly for systems with lots of
      CPUs.
      Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
      LKML-Reference: <adaeip473qt.fsf@cisco.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      93ae5012
    • Robin Holt's avatar
      x86, UV: Fix information in __uv_hub_info structure · 036ed8ba
      Robin Holt authored
      A few parts of the uv_hub_info structure are initialized
      incorrectly.
      
       - n_val is being loaded with m_val.
       - gpa_mask is initialized with a bytes instead of an unsigned long.
       - Handle the case where none of the alias registers are used.
      
      Lastly I converted the bau over to using the uv_hub_info->m_val
      which is the correct value.
      
      Without this patch, booting a large configuration hits a
      problem where the upper bits of the gnode affect the pnode
      and the bau will not operate.
      Signed-off-by: default avatarRobin Holt <holt@sgi.com>
      Acked-by: default avatarJack Steiner <steiner@sgi.com>
      Cc: Cliff Whickman <cpw@sgi.com>
      Cc: stable@kernel.org
      LKML-Reference: <20091015224946.396355000@alcatraz.americas.sgi.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      036ed8ba
    • Ingo Molnar's avatar
      x86: Document linker script ASSERT() quirk · a5912f6b
      Ingo Molnar authored
      Older binutils breaks if ASSERT() is used without a sink
      for the output.
      
      For example 2.14.90.0.6 is known to be broken, the link
      fails with:
      
        LD      .tmp_vmlinux1
        ld:arch/x86/kernel/vmlinux.lds:678: parse error
      
      Document this quirk in all three files that use it.
      
        See:    http://marc.info/?l=linux-kbuild&m=124930110427870&w=2
        See[2]: d2ba8b21 ("x86: Fix assert syntax in vmlinux.lds.S")
      
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      LKML-Reference: <4AD6523D.5030909@zytor.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a5912f6b
    • Linus Torvalds's avatar
      Linux 2.6.32-rc5 · 012abeea
      Linus Torvalds authored
      012abeea
  15. 15 Oct, 2009 14 commits