1. 10 10月, 2012 1 次提交
  2. 20 3月, 2012 1 次提交
  3. 02 11月, 2011 1 次提交
  4. 05 6月, 2010 1 次提交
  5. 06 2月, 2008 4 次提交
    • J
      uml: eliminate setjmp_wrapper · 8efa3c9d
      Jeff Dike 提交于
      setjmp_wrapper existed to provide setjmp to kernel code when UML used libc's
      setjmp and longjmp.  Now that UML has its own implementation, this isn't
      needed and kernel code can invoke setjmp directly.
      
      do_buffer_op is massively cleaned up since it is no longer a callback from
      setjmp_wrapper and given a va_list from which it must extract its arguments.
      
      The actual setjmp is moved from buffer_op to do_op_one_page because the copy
      operation is inside an atomic section (kmap_atomic to kunmap_atomic) and it
      shouldn't be longjmp-ed out of.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8efa3c9d
    • J
      uml: add virt_to_pte · ca77b555
      Jeff Dike 提交于
      Turn um_virt_to_phys into virt_to_pte, cleaning up a horrid interface.
      
      It's also made non-static and declared in pgtable.h because it'll be
      needed when the stubs get a vma.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ca77b555
    • J
      uml: header untangling · 8192ab42
      Jeff Dike 提交于
      Untangle UML headers somewhat and add some includes where they were
      needed explicitly, but gotten accidentally via some other header.
      
      arch/um/include/um_uaccess.h loses asm/fixmap.h because it uses no
      fixmap stuff and gains elf.h, because it needs FIXADDR_USER_*, and
      archsetjmp.h, because it needs jmp_buf.
      
      pmd_alloc_one is uninlined because it needs mm_struct, and that's
      inconvenient to provide in asm-um/pgtable-3level.h.
      
      elf_core_copy_fpregs is also uninlined from elf-i386.h and
      elf-x86_64.h, which duplicated the code anyway, to
      arch/um/kernel/process.c, so that the reference to current_thread
      doesn't pull sched.h or anything related into asm/elf.h.
      
      arch/um/sys-i386/ldt.c, arch/um/kernel/tlb.c and
      arch/um/kernel/skas/uaccess.c got sched.h because they dereference
      task_structs.  Its includes of linux and asm headers got turned from
      "" to <>.
      
      arch/um/sys-i386/bug.c gets asm/errno.h because it needs errno
      constants.
      
      asm/elf-i386 gets asm/user.h because it needs user_regs_struct.
      
      asm/fixmap.h gets page.h because it needs PAGE_SIZE and PAGE_MASK and
      system.h for BUG_ON.
      
      asm/pgtable doesn't need sched.h.
      
      asm/processor-generic.h defined mm_segment_t, but didn't use it.  So,
      that definition is moved to uaccess.h, which defines a bunch of
      mm_segment_t-related stuff.  thread_info.h uses mm_segment_t, and
      includes uaccess.h, which causes a recursion.  So, the definition is
      placed above the include of thread_info. in uaccess.h.  thread_info.h
      also gets page.h because it needs PAGE_SIZE.
      
      ObCheckpatchViolationJustification - I'm not adding a typedef; I'm
      moving mm_segment_t from one place to another.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8192ab42
    • J
      uml: move um_virt_to_phys · 9157f90f
      Jeff Dike 提交于
      This patchset makes UML build and run with three-level page tables on
      32-bit hosts.  This is an uncommon use case, but the code here needed
      fixing and cleaning up, so 32-bit three-level pages tables were tested
      to make sure the changes are good.
      
      Patch 1 - code movement
      Patch 2 - header untangling
      Patch 3 - style fixups in files affected so far
      Patch 4 - clean up use of current.h
      Patch 5 - fix sizes of types that are different between 2 and 3-level
      	page tables - three-level page table support should build at
      	this point
      Patch 6 - tidy (i.e. eliminate much of) the code that figures out how
      	big the address space is
      Patch 7 - change um_virt_to_phys into virt_to_pte, clean its
      	interface, and clean its (so far) one caller
      Patch 8 - the stub pages are covered with a VMA, allowing some nasty
      	code to be thrown out - three-level page tables now work
      
      This patch:
      
      um_virt_to_phys only has one user, so it can be moved to the same file
      and made static.  Its declarations in pgtable.h and ksyms.c are also
      gone.
      
      current_cmd was another apparent user, but it itself isn't used, so it
      is deleted.
      Signed-off-by: NJeff Dike <jdike@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9157f90f
  6. 17 10月, 2007 2 次提交
  7. 02 7月, 2006 1 次提交
    • P
      [PATCH] uml: make copy_*_user atomic · 47e5243a
      Paolo 'Blaisorblade' Giarrusso 提交于
      Make __copy_*_user_inatomic really atomic to avoid "Sleeping function called in
      atomic context" warnings, especially from futex code.
      
      This is made by adding another kmap_atomic slot and making copy_*_user_skas
      use kmap_atomic; also copy_*_user() becomes atomic, but that's true and is not
      a problem for i386 (and we can always add might_sleep there as done
      elsewhere).  For TT mode kmap is not used, so there's no need for this.
      
      I've had to use another slot since both KM_USER0 and KM_USER1 are used
      elsewhere and could cause conflicts.  Till now we reused the kmap_atomic slot
      list from the subarch, but that's not needed as that list must contain the
      common ones (used by generic code) + the ones used in architecture specific
      code (and Uml till now used none); so I've taken the i386 one after comparing
      it with ones from other archs, and added KM_UML_USERCOPY.
      Signed-off-by: NPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Jeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      47e5243a
  8. 19 1月, 2006 1 次提交
  9. 14 11月, 2005 1 次提交
    • P
      [PATCH] uml: fix access_ok · 7a590611
      Paolo 'Blaisorblade' Giarrusso 提交于
      The access_ok_tt() macro is bogus, in that a read access is unconditionally
      considered valid.
      
      I couldn't find in SCM logs the introduction of this check, but I went back to
      2.4.20-1um and the definition was the same.
      
      Possibly this was done to avoid problems with missing set_fs() calls, but
      there can't be any I think because they would fail with SKAS mode.
      TT-specific code is still to check.
      
      Also, this patch joins common code together, and makes the "address range
      wrapping" check happen for all cases, rather than for only some.
      
      This may, possibly, be reoptimized at some time, but the current code doesn't
      seem clever, just confused.
      
      * Important: I've also had to change references to access_ok_{tt,skas} back to
        access_ok - the kernel wasn't that happy otherwise.
      Signed-off-by: NPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Acked-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7a590611
  10. 07 5月, 2005 1 次提交
  11. 01 5月, 2005 1 次提交
  12. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      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