1. 14 Mar, 2006 4 commits
    • GOTO Masanori's avatar
      [PATCH] Fix sigaltstack corruption among cloned threads · f9a3879a
      GOTO Masanori authored
      This patch fixes alternate signal stack corruption among cloned threads
      with CLONE_SIGHAND (and CLONE_VM) for linux-2.6.16-rc6.
      
      The value of alternate signal stack is currently inherited after a call of
      clone(...  CLONE_SIGHAND | CLONE_VM).  But if sigaltstack is set by a
      parent thread, and then if multiple cloned child threads (+ parent threads)
      call signal handler at the same time, some threads may be conflicted -
      because they share to use the same alternative signal stack region.
      Finally they get sigsegv.  It's an undesirable race condition.  Note that
      child threads created from NPTL pthread_create() also hit this conflict
      when the parent thread uses sigaltstack, without my patch.
      
      To fix this problem, this patch clears the child threads' sigaltstack
      information like exec().  This behavior follows the SUSv3 specification.
      In SUSv3, pthread_create() says "The alternate stack shall not be inherited
      (when new threads are initialized)".  It means that sigaltstack should be
      cleared when sigaltstack memory space is shared by cloned threads with
      CLONE_SIGHAND.
      
      Note that I chose "if (clone_flags & CLONE_SIGHAND)" line because:
        - If clone_flags line is not existed, fork() does not inherit sigaltstack.
        - CLONE_VM is another choice, but vfork() does not inherit sigaltstack.
        - CLONE_SIGHAND implies CLONE_VM, and it looks suitable.
        - CLONE_THREAD is another candidate, and includes CLONE_SIGHAND + CLONE_VM,
          but this flag has a bit different semantics.
      I decided to use CLONE_SIGHAND.
      
      [ Changed to test for CLONE_VM && !CLONE_VFORK after discussion --Linus ]
      Signed-off-by: default avatarGOTO Masanori <gotom@sanori.org>
      Cc: Roland McGrath <roland@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Acked-by: default avatarLinus Torvalds <torvalds@osdl.org>
      Cc: Ulrich Drepper <drepper@redhat.com>
      Cc: Jakub Jelinek <jakub@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      f9a3879a
    • Benjamin Herrenschmidt's avatar
      [PATCH] macintosh: correct AC Power info in /proc/pmu/info · 63e1fd41
      Benjamin Herrenschmidt authored
      Report AC Power present in /proc/pmu/info if there is no battery.
      Signed-off-by: default avatarOlaf Hering <olh@suse.de>
      Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      63e1fd41
    • Michael Hunold's avatar
      [PATCH] Restore tuning capabilities in V4L2 MXB driver · 6acaba8e
      Michael Hunold authored
      The behaviour of the all-in-one Video4Linux tuner driver apparently
      changed.  It now wants to know the tv standard, otherwise it refuses to
      tune.
      
      Restore tuning functionality in my driver for the "Multimedia eXtension
      Board".  The all-in-one tuner driver apparently changed its behaviour.
      Signed-off-by: default avatarMichael Hunold <hunold@linuxtv.org>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Johannes Stezenbach <js@linuxtv.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6acaba8e
    • David Brownell's avatar
      [PATCH] mtd_dataflash, fix block vs page erase · 3cb4f09f
      David Brownell authored
      Fix a bug in the block-erase optimization for Dataflash; it was using block
      erase even for smaller segments that need page erase.
      
      That wouldn't matter for JFFS2, which never erases less than one block
      (sometimes several blocks), but for other callers it might.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Acked-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3cb4f09f
  2. 13 Mar, 2006 10 commits
  3. 12 Mar, 2006 9 commits
  4. 11 Mar, 2006 17 commits