1. 27 9月, 2006 30 次提交
  2. 26 9月, 2006 10 次提交
    • H
      [PATCH] s390: fix cmm kernel thread handling · e8216dee
      Heiko Carstens 提交于
      Convert cmm's usage of kernel_thread to kthread_run.  Also create the
      cmmthread at module load time, so it is possible to check if creation of
      the thread fails.
      
      In addition the cmmthread now gets terminated when the module gets unloaded
      instead of leaving a stale kernel thread.  Also check the return values of
      other registration functions at module load and handle their return values
      appropriately.
      
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e8216dee
    • J
      [PATCH] Make UML use ptrace-abi.h · e8df8c33
      Jeff Dike 提交于
      Include the host architecture's ptrace-abi.h instead of ptrace.h.
      
      There was some cpp mangling of names around the ptrace.h include to avoid
      symbol clashes between UML and the host architecture.  Most of these can go
      away.  The exception is struct pt_regs, which is convenient to have in
      userspace, but must be renamed in order that UML can define its own.
      
      ptrace-x86_64.h needed to have some now-obsolete cpp cruft and a declaration
      removed.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e8df8c33
    • J
      [PATCH] Split i386 and x86_64 ptrace.h · 70e0eb8e
      Jeff Dike 提交于
      The use of SEGMENT_RPL_MASK in the i386 ptrace.h introduced by
      x86-allow-a-kernel-to-not-be-in-ring-0.patch broke the UML build, as UML
      includes the underlying architecture's ptrace.h, but has no easy access to the
      x86 segment definitions.
      
      Rather than kludging around this, as in the past, this patch splits the
      userspace-usable parts, which are the bits that UML needs, of ptrace.h into
      ptrace-abi.h, which is included back into ptrace.h.  Thus, there is no net
      effect on i386.
      
      As a side-effect, this creates a ptrace header which is close to being usable
      in /usr/include.
      
      x86_64 is also treated in this way for consistency.  There was some trailing
      whitespace there, which is cleaned up.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      70e0eb8e
    • A
      [PATCH] UML: tty locking · b1fc0b1f
      Alan Cox 提交于
      Ensure current->signal->tty doesn't get freed during log_exec().
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Acked-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b1fc0b1f
    • J
      [PATCH] uml: stack usage reduction · 75e29b18
      Jeff Dike 提交于
      The KSTK_* macros used an inordinate amount of stack.  In order to overcome
      an impedance mismatch between their interface, which just returns a single
      register value, and the interface of get_thread_regs, which took a full
      pt_regs, the implementation created an on-stack pt_regs, filled it in, and
      returned one field.  do_task_stat calls KSTK_* twice, resulting in two
      local pt_regs, blowing out the stack.
      
      This patch changes the interface (and name) of get_thread_regs to just
      return a single register from a jmp_buf.
      
      The include of archsetjmp.h" in registers.h to get the definition of
      jmp_buf exposed a bogus include of <setjmp.h> in start_up.c.  <setjmp.h>
      shouldn't be used anywhere any more since UML uses the klibc
      setjmp/longjmp.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      75e29b18
    • P
      [PATCH] uml: clean our set_ether_mac · bf61f50d
      Paolo 'Blaisorblade' Giarrusso 提交于
      Clean set_ether_mac usage.  Maybe could also be removed, but surely it can't
      be a global function taking a void* argument.
      Signed-off-by: NPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Acked-by: NJeff Dike <jdike@addtoit.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      bf61f50d
    • J
      [PATCH] uml: Remove unused variable · 602cc241
      Jeff Dike 提交于
      timer_irq_inited was useless, so it is removed.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      602cc241
    • J
      [PATCH] uml: timer cleanups · 537ae946
      Jeff Dike 提交于
      set_interval returns an error instead of panicing if setitimer fails.  Some of
      its callers now check the return.
      
      enable_timer is largely tt-mode-specific, so it is marked as such, and the
      only skas-mode caller is made to call set-interval instead.
      
      user_time_init was a no-value-added wrapper around set_interval, so it is
      gone.
      
      Since set_interval is now called from kernel code, callers no longer pass
      ITIMER_* to it.  Instead, they pass a flag which is converted into ITIMER_REAL
      or ITIMER_VIRTUAL.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      537ae946
    • J
      [PATCH] uml: Move signal handlers to arch code · 4b84c69b
      Jeff Dike 提交于
      Have most signals go through an arch-provided handler which recovers the
      sigcontext and then calls a generic handler.  This replaces the
      ARCH_GET_SIGCONTEXT macro, which was somewhat fragile.  On x86_64, recovering
      %rdx (which holds the sigcontext pointer) must be the first thing that
      happens.  sig_handler duly invokes that first, but there is no guarantee that
      I can see that instructions won't be reordered such that %rdx is used before
      that.  Having the arch provide the handler seems much more robust.
      
      Some signals in some parts of UML require their own handlers - these places
      don't call set_handler any more.  They call sigaction or signal themselves.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      4b84c69b
    • J
      [PATCH] uml: SIGIO cleanups · 19bdf040
      Jeff Dike 提交于
      - Various cleanups in the sigio code.
      
      - Removed explicit zero-initializations of a few structures.
      
      - Improved some error messages.
      
      - An API change - there was an asymmetry between reactivate_fd calling
        maybe_sigio_broken, which goes through all the machinery of figuring out if
        a file descriptor supports SIGIO and applying the workaround to it if not,
        and deactivate_fd, which just turns off the descriptor.
      
        This is changed so that only activate_fd calls maybe_sigio_broken, when
        the descriptor is first seen.  reactivate_fd now calls add_sigio_fd, which
        is symmetric with ignore_sigio_fd.
      
        This removes a recursion which makes a critical section look more critical
        than it really was, obsoleting a big comment to that effect.  This requires
        keeping track of all descriptors which are getting the SIGIO treatment, not
        just the ones being polled at any given moment, so that reactivate_fd,
        through add_sigio_fd, doesn't try to tell the SIGIO thread about descriptors
        it doesn't care about.
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      19bdf040