1. 15 6月, 2009 2 次提交
  2. 25 3月, 2009 1 次提交
  3. 16 1月, 2009 1 次提交
  4. 16 12月, 2008 1 次提交
  5. 19 11月, 2008 1 次提交
  6. 22 7月, 2008 1 次提交
  7. 07 2月, 2008 10 次提交
  8. 12 1月, 2008 2 次提交
    • J
      ps3fb: fix deadlock on kexec() · 8dab6376
      Jeremy Kerr 提交于
      Since the introduction of the acquire_console_sem calls in
      0333d835, kexecing can cause the
      kernel to deadlock:
      
       ps3fb_shutdown()
        -> unregister_framebuffer()
        -> fb_notifier_call_chain(FB_EVENT_FB_UNBIND)
        -> fbcon_fb_unbind()
        -> unbind_con_driver()
        -> bind_con_driver()
      	[ acquires console_sem ]
        -> fbcon_deinit()
        -> fbops->fb_release(newinfo, 0)
        -> ps3fb_release()
        -> ps3fb_sync()
      	[ acquires console_sem ]
      
      This change avoids the deadlock by moving the acquire_console_sem()
      out of ps3fb_sync(), and puts it into the two other callsites, leaving
      ps3fb_release() to call ps3fb_sync() without the console semaphore.
      
      [Geert]
        - Corrected call sequence above
        - ps3fb_release() may be called with and without console_sem held. This is an
          inconsistency that should be fixed at the fb level, but for now, try to
          acquire console_sem in ps3fb_release().
      
          I think it's safer to let ps3fb_release() try to acquire console_sem and
          not refresh the screen if it fails, than to call ps3fb_sync() without
          holding console_sem, as ps3fb_par may be modified at the same time, causing
          crashes or lockups.
      
          Besides, ps3fb_release() only calls ps3fb_sync() to refresh the screen
          when display flipping is disabled, which is an uncommon case (except during
          shutdown/kexec).
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8dab6376
    • J
      ps3fb: prevent use after free of fb_info · ba21611c
      Jeremy Kerr 提交于
      In ps3fb_shutdown, freeing the framebuffer will cause fb_info (in
      dev->core.driver_data) to be free()ed, which we potentially access
      from the ps3fbd kthread.
      
      This change frees the framebuffer after stopping the ps3fbd kthread.
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ba21611c
  9. 20 12月, 2007 2 次提交
  10. 30 11月, 2007 1 次提交
  11. 15 11月, 2007 1 次提交
  12. 17 10月, 2007 12 次提交
  13. 22 7月, 2007 1 次提交
  14. 18 7月, 2007 1 次提交
    • R
      Freezer: make kernel threads nonfreezable by default · 83144186
      Rafael J. Wysocki 提交于
      Currently, the freezer treats all tasks as freezable, except for the kernel
      threads that explicitly set the PF_NOFREEZE flag for themselves.  This
      approach is problematic, since it requires every kernel thread to either
      set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't
      care for the freezing of tasks at all.
      
      It seems better to only require the kernel threads that want to or need to
      be frozen to use some freezer-related code and to remove any
      freezer-related code from the other (nonfreezable) kernel threads, which is
      done in this patch.
      
      The patch causes all kernel threads to be nonfreezable by default (ie.  to
      have PF_NOFREEZE set by default) and introduces the set_freezable()
      function that should be called by the freezable kernel threads in order to
      unset PF_NOFREEZE.  It also makes all of the currently freezable kernel
      threads call set_freezable(), so it shouldn't cause any (intentional)
      change of behaviour to appear.  Additionally, it updates documentation to
      describe the freezing of tasks more accurately.
      
      [akpm@linux-foundation.org: build fixes]
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NNigel Cunningham <nigel@nigel.suspend2.net>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Gautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      83144186
  15. 28 6月, 2007 1 次提交
  16. 24 5月, 2007 1 次提交
  17. 05 5月, 2007 1 次提交