1. 25 Dec, 2008 2 commits
  2. 01 Aug, 2008 1 commit
  3. 10 Jun, 2008 1 commit
  4. 07 May, 2008 1 commit
  5. 30 Apr, 2008 2 commits
  6. 16 Apr, 2008 1 commit
  7. 07 Feb, 2008 1 commit
  8. 20 Nov, 2007 1 commit
    • Heiko Carstens's avatar
      [S390] Fix irq tracing and lockdep_sys_exit calls. · 411788ea
      Heiko Carstens authored
      
      
      Current support for TRACE_IRQFLAGS and lockdep_sys_exit is broken.
      IRQ flag tracing is broken for program checks. Even worse is that
      the newly introduced calls to lockdep_sys_exit are in the critical
      section code which is not supposed to call any C functions. In
      addition the checks if locks are still held are also done when
      returning to kernel code which is broken as well.
      Fix all this by disabling interrupts and machine checks at the
      exit paths and then do the appropriate checks and calls.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      411788ea
  9. 12 Oct, 2007 1 commit
  10. 19 Jul, 2007 1 commit
  11. 05 Feb, 2007 1 commit
    • Gerald Schaefer's avatar
      [S390] noexec protection · c1821c2e
      Gerald Schaefer authored
      
      
      This provides a noexec protection on s390 hardware. Our hardware does
      not have any bits left in the pte for a hw noexec bit, so this is a
      different approach using shadow page tables and a special addressing
      mode that allows separate address spaces for code and data.
      
      As a special feature of our "secondary-space" addressing mode, separate
      page tables can be specified for the translation of data addresses
      (storage operands) and instruction addresses. The shadow page table is
      used for the instruction addresses and the standard page table for the
      data addresses.
      The shadow page table is linked to the standard page table by a pointer
      in page->lru.next of the struct page corresponding to the page that
      contains the standard page table (since page->private is not really
      private with the pte_lock and the page table pages are not in the LRU
      list).
      Depending on the software bits of a pte, it is either inserted into
      both page tables or just into the standard (data) page table. Pages of
      a vma that does not have the VM_EXEC bit set get mapped only in the
      data address space. Any try to execute code on such a page will cause a
      page translation exception. The standard reaction to this is a SIGSEGV
      with two exceptions: the two system call opcodes 0x0a77 (sys_sigreturn)
      and 0x0aad (sys_rt_sigreturn) are allowed. They are stored by the
      kernel to the signal stack frame. Unfortunately, the signal return
      mechanism cannot be modified to use an SA_RESTORER because the
      exception unwinding code depends on the system call opcode stored
      behind the signal stack frame.
      
      This feature requires that user space is executed in secondary-space
      mode and the kernel in home-space mode, which means that the addressing
      modes need to be switched and that the noexec protection only works
      for user space.
      After switching the addressing modes, we cannot use the mvcp/mvcs
      instructions anymore to copy between kernel and user space. A new
      mvcos instruction has been added to the z9 EC/BC hardware which allows
      to copy between arbitrary address spaces, but on older hardware the
      page tables need to be walked manually.
      Signed-off-by: default avatarGerald Schaefer <geraldsc@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      c1821c2e
  12. 04 Dec, 2006 1 commit
  13. 28 Sep, 2006 1 commit
    • Martin Schwidefsky's avatar
      [S390] Inline assembly cleanup. · 94c12cc7
      Martin Schwidefsky authored
      
      
      Major cleanup of all s390 inline assemblies. They now have a common
      coding style. Quite a few have been shortened, mainly by using register
      asm variables. Use of the EX_TABLE macro helps  as well. The atomic ops,
      bit ops and locking inlines new use the Q-constraint if a newer gcc
      is used.  That results in slightly better code.
      
      Thanks to Christian Borntraeger for proof reading the changes.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      94c12cc7
  14. 17 Jul, 2006 1 commit
  15. 14 Jul, 2006 1 commit
    • Steven Rostedt's avatar
      [PATCH] remove set_wmb - arch removal · 52393ccc
      Steven Rostedt authored
      
      
      set_wmb should not be used in the kernel because it just confuses the
      code more and has no benefit.  Since it is not currently used in the
      kernel this patch removes it so that new code does not include it.
      
      All archs define set_wmb(var, value) to do { var = value; wmb(); }
      while(0) except ia64 and sparc which use a mb() instead.  But this is
      still moot since it is not used anyway.
      
      Hasn't been tested on any archs but x86 and x86_64 (and only compiled
      tested)
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      52393ccc
  16. 03 Jul, 2006 1 commit
  17. 26 Apr, 2006 1 commit
  18. 06 Mar, 2006 1 commit
  19. 14 Jan, 2006 1 commit
  20. 12 Jan, 2006 1 commit
  21. 30 Jun, 2005 1 commit
  22. 25 Jun, 2005 2 commits
  23. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4