1. 19 5月, 2015 4 次提交
    • I
      x86/fpu: Rename user_has_fpu() to fpregs_active() · 3c6dffa9
      Ingo Molnar 提交于
      Rename this function in line with the new FPU nomenclature.
      
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      3c6dffa9
    • I
      x86/fpu: Move various internal function prototypes to fpu/internal.h · 952f07ec
      Ingo Molnar 提交于
      There are a number of FPU internal function prototypes and an inline function
      in fpu/api.h, mostly placed so historically as the code grew over the years.
      
      Move them over into fpu/internal.h where they belong. (Add sched.h include
      to stackprotector.h which incorrectly relied on getting it from fpu/api.h.)
      
      fpu/api.h is now a pure file that only contains FPU APIs intended for driver
      use.
      Reviewed-by: NBorislav Petkov <bp@alien8.de>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      952f07ec
    • I
      x86/fpu: Rename i387.h to fpu/api.h · df6b35f4
      Ingo Molnar 提交于
      We already have fpu/types.h, move i387.h to fpu/api.h.
      
      The file name has become a misnomer anyway: it offers generic FPU APIs,
      but is not limited to i387 functionality.
      Reviewed-by: NBorislav Petkov <bp@alien8.de>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      df6b35f4
    • I
      x86/fpu: Rename math_state_restore() to fpu__restore() · 3a0aee48
      Ingo Molnar 提交于
      Move to the new fpu__*() namespace.
      Reviewed-by: NBorislav Petkov <bp@alien8.de>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      3a0aee48
  2. 11 2月, 2015 3 次提交
  3. 04 2月, 2015 1 次提交
  4. 07 11月, 2013 1 次提交
  5. 26 6月, 2013 1 次提交
  6. 22 4月, 2013 2 次提交
  7. 19 9月, 2012 1 次提交
  8. 06 12月, 2011 1 次提交
    • S
      x86: Fix rflags in FAKE_STACK_FRAME · 1cf8343f
      Seiichi Ikarashi 提交于
      The x86_64 kernel pushes the fake kernel stack in
      arch/x86/kernel/entry_64.S:FAKE_STACK_FRAME, and
      rflags register in it does not conform to the specification.
      
      Although Intel's manual[1] says bit 1 of it shall be set to 1,
      this bit is cleared to 0 on pushing the fake stack.
      
      [1] Intel(R) 64 and IA-32 Architectures Software Developer's Manual
          Vol.1 3-21 Figure 3-8. EFLAGS Register
      
      If it is not on purpose, it is better to be fixed, because
      it can lead some tools misunderstanding the stack frame. For example,
      "crash" utility[2] actually detects it and warns you like
      below:
      
             RIP: ffffffff8005dfa2  RSP: ffff8104ce0c7f58  RFLAGS: 00000200
             [...]
      
             bt: WARNING: possibly bogus exception frame
      Signed-off-by: NSeiichi Ikarashi <s.ikarashi@jp.fujitsu.com>
      Tested-by: NMasayoshi MIZUMA <m.mizuma@jp.fujitsu.com>
      Cc: Jan Beulich <JBeulich@suse.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1cf8343f
  9. 22 7月, 2011 3 次提交
  10. 20 1月, 2011 2 次提交
    • R
      lguest: compile fixes · ced05dd7
      Rusty Russell 提交于
      arch/x86/lguest/boot.c: In function ‘lguest_init_IRQ’:
      arch/x86/lguest/boot.c:824: error: macro "__this_cpu_write" requires 2 arguments, but only 1 given
      arch/x86/lguest/boot.c:824: error: ‘__this_cpu_write’ undeclared (first use in this function)
      arch/x86/lguest/boot.c:824: error: (Each undeclared identifier is reported only once
      arch/x86/lguest/boot.c:824: error: for each function it appears in.)
      
      drivers/lguest/x86/core.c: In function ‘copy_in_guest_info’:
      drivers/lguest/x86/core.c:94: error: lvalue required as left operand of assignment
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      ced05dd7
    • C
      lguest: Use this_cpu_ops · c9f29549
      Christoph Lameter 提交于
      Use this_cpu_ops in a couple of places in lguest.
      Signed-off-by: NChristoph Lameter <cl@linux.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      c9f29549
  11. 14 4月, 2010 1 次提交
    • R
      lguest: workaround cmpxchg8b_emu by ignoring cli in the guest. · 5094aeaf
      Rusty Russell 提交于
      It's only used by cmpxchg8b_emu (see db677ffa for the gory
      details), and fixing that to be paravirt aware would be more work than
      simply ignoring it (and AFAICT only help lguest).  This makes lguest
      work on machines which have cmpxchg8b, for kernels compiled for older
      processors.
      
      (We can't emulate it properly: the popf which expects to restore interrupts
      does not trap).
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
      Cc: virtualization@lists.osdl.org
      5094aeaf
  12. 29 10月, 2009 1 次提交
    • T
      percpu: make misc percpu symbols unique · 390dfd95
      Tejun Heo 提交于
      This patch updates misc percpu related symbols such that percpu
      symbols are unique and don't clash with local symbols.  This serves
      two purposes of decreasing the possibility of global percpu symbol
      collision and allowing dropping per_cpu__ prefix from percpu symbols.
      
      * drivers/crypto/padlock-aes.c: s/last_cword/paes_last_cword/
      
      * drivers/lguest/x86/core.c: s/last_cpu/lg_last_cpu/
      
      * drivers/s390/net/netiucv.c: rename the variable used in a macro to
        avoid clashing with percpu symbol
      
      * arch/mn10300/kernel/kprobes.c: replace current_ prefix with cur_ for
        static variables.  Please note that percpu symbol current_kprobe
        can't be changed as it's used by generic code.
      
      Partly based on Rusty Russell's "alloc_percpu: rename percpu vars
      which cause name clashes" patch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reviewed-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Chuck Ebbert <cebbert@redhat.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
      Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Masami Hiramatsu <mhiramat@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: linux390@de.ibm.com
      390dfd95
  13. 30 7月, 2009 2 次提交
    • R
      lguest: update commentry · a91d74a3
      Rusty Russell 提交于
      Every so often, after code shuffles, I need to go through and unbitrot
      the Lguest Journey (see drivers/lguest/README).  Since we now use RCU in
      a simple form in one place I took the opportunity to expand that explanation.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
      a91d74a3
    • R
      lguest: fix comment style · 2e04ef76
      Rusty Russell 提交于
      I don't really notice it (except to begrudge the extra vertical
      space), but Ingo does.  And he pointed out that one excuse of lguest
      is as a teaching tool, it should set a good example.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Ingo Molnar <mingo@redhat.com>
      2e04ef76
  14. 27 5月, 2009 1 次提交
  15. 19 4月, 2009 2 次提交
    • R
      lguest: fix guest crash on non-linear addresses in gdt pvops · a489f0b5
      Rusty Russell 提交于
      Fixes guest crash 'lguest: bad read address 0x4800000 len 256'
      
      The new per-cpu allocator ends up handing a non-linear address to
      write_gdt_entry.  We do __pa() on it, and hand it to the host, which
      kills us.
      
      I've long wanted to make the hypercall "LOAD_GDT_ENTRY" to match the IDT
      code, but had no pressing reason until now.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: lguest@ozlabs.org
      a489f0b5
    • M
      lguest: fix crash on vmlinux images · 88df781a
      Matias Zabaljauregui 提交于
      Typical message: 'lguest: unhandled trap 6 at 0x418726 (0x0)'
      
      vmlinux guests were broken by 4cd8b5e2
      'lguest: use KVM hypercalls', which rewrites guest text from kvm hypercalls
      to trap 31.
      
      The Launcher mmaps the kernel image.  The Guest executes and
      immediately faults in the first text page (read-only).  Then it hits a
      hypercall, and we rewrite that hypercall, causing a copy-on-write.
      But the Guest pagetables still refer to the old page: we fault again,
      but as Host we see the hypercall already rewritten, and pass the fault
      back to the Guest.  The Guest hasn't set up an IDT yet, so we kill it.
      
      This doesn't happen with bzImages: they unpack themselves and so the
      text pages are already read-write.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Tested-by: NPatrick McHardy <kaber@trash.net>
      88df781a
  16. 30 3月, 2009 1 次提交
  17. 29 7月, 2008 1 次提交
  18. 26 6月, 2008 1 次提交
  19. 20 6月, 2008 1 次提交
    • S
      x86: fix NULL pointer deref in __switch_to · 54481cf8
      Suresh Siddha 提交于
      I am able to reproduce the oops reported by Simon in __switch_to() with
      lguest.
      
      My debug showed that there is at least one lguest specific
      issue (which should be present in 2.6.25 and before aswell) and it got
      exposed with a kernel oops with the recent fpu dynamic allocation patches.
      
      In addition to the previous possible scenario (with fpu_counter), in the
      presence of lguest, it is possible that the cpu's TS bit it still set and the
      lguest launcher task's thread_info has TS_USEDFPU still set.
      
      This is because of the way the lguest launcher handling the guest's TS bit.
      (look at lguest_set_ts() in lguest_arch_run_guest()). This can result
      in a DNA fault while doing unlazy_fpu() in __switch_to(). This will
      end up causing a DNA fault in the context of new process thats
      getting context switched in (as opossed to handling DNA fault in the context
      of lguest launcher/helper process).
      
      This is wrong in both pre and post 2.6.25 kernels. In the recent
      2.6.26-rc series, this is showing up as NULL pointer dereferences or
      sleeping function called from atomic context(__switch_to()), as
      we free and dynamically allocate the FPU context for the newly
      created threads. Older kernels might show some FPU corruption for processes
      running inside of lguest.
      
      With the appended patch, my test system is running for more than 50 mins
      now. So atleast some of your oops (hopefully all!) should get fixed.
      Please give it a try. I will spend more time with this fix tomorrow.
      Reported-by: NSimon Holm Thøgersen <odie@cs.aau.dk>
      Reported-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      54481cf8
  20. 28 3月, 2008 1 次提交
  21. 31 1月, 2008 1 次提交
  22. 30 1月, 2008 8 次提交