1. 01 4月, 2006 3 次提交
    • P
      [PATCH] uml: implement {get,set}_thread_area for i386 · aa6758d4
      Paolo 'Blaisorblade' Giarrusso 提交于
      Implement sys_[gs]et_thread_area and the corresponding ptrace operations for
      UML.  This is the main chunk, additional parts follow.  This implementation is
      now well tested and has run reliably for some time, and we've understood all
      the previously existing problems.
      
      Their implementation saves the new GDT content and then forwards the call to
      the host when appropriate, i.e.  immediately when the target process is
      running or on context switch otherwise (i.e.  on fork and on ptrace() calls).
      
      In SKAS mode, we must switch registers on each context switch (because SKAS
      does not switches tls_array together with current->mm).
      
      Also, added get_cpu() locking; this has been done for SKAS mode, since TT does
      not need it (it does not use smp_processor_id()).
      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>
      aa6758d4
    • P
      [PATCH] uml: clean arch_switch usage · 972410b0
      Paolo 'Blaisorblade' Giarrusso 提交于
      Call arch_switch also in switch_to_skas, even if it's, for now, a no-op for
      that case (and mark this in the comment); this will change soon.
      
      Also, arch_switch for TT mode is actually useless when the PT proxy (a
      complicate debugging instrumentation for TT mode) is not enabled.  In fact, it
      only calls update_debugregs, which checks debugregs_seq against seq (to check
      if the registers are up-to-date - seq here means a "version number" of the
      registers).
      
      If the ptrace proxy is not enabled, debugregs_seq always stays 0 and
      update_debugregs will be a no-op.  So, optimize this out (the compiler can't
      do it).
      
      Also, I've been disappointed by the fact that it would make a lot of sense if,
      after calling a successful
      update_debugregs(current->thread.arch.debugregs_seq),
      current->thread.arch.debugregs_seq were updated with the new debugregs_seq.
      But this is not done.  Is this a bug or a feature?  For all purposes, it seems
      a bug (otherwise the whole mechanism does not make sense, which is also a
      possibility to check), which causes some performance only problems (not
      correctness), since we write_debugregs when not needed.
      
      Also, as suggested by Jeff, remove a redundant enabling of SIGVTALRM,
      comprised in the subsequent local_irq_enable().  I'm just a bit dubious if
      ordering matters there...
      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>
      972410b0
    • A
      [PATCH] uml: sparse cleanups · 4d338e1a
      Al Viro 提交于
      misc sparse annotations
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      4d338e1a
  2. 28 3月, 2006 1 次提交
    • B
      [PATCH] uml: more carefully test whether we are in a system call · 81efcd33
      Bodo Stroesser 提交于
      For security reasons, UML in is_syscall() needs to have access to code in
      vsyscall-page.  The current implementation grants this access by explicitly
      allowing access to vsyscall in access_ok_skas().  With this change,
      copy_from_user() may be used to read the code.  Ptrace access to vsyscall-page
      for debugging already was implemented in get_user_pages() by mainline.  In
      i386, copy_from_user can't access vsyscall-page, but returns EFAULT.
      
      To make UML behave as i386 does, I changed is_syscall to use
      access_process_vm(current) to read the code from vsyscall-page.  This doesn't
      hurt security, but simplifies the code and prepares implementation of
      stub-vmas.
      Signed-off-by: NBodo Stroesser <bstroesser@fujitsu-siemens.com>
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      81efcd33
  3. 07 5月, 2005 1 次提交
  4. 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