1. 18 5月, 2012 1 次提交
  2. 07 5月, 2012 1 次提交
  3. 13 4月, 2012 1 次提交
    • J
      panic: fix stack dump print on direct call to panic() · 026ee1f6
      Jason Wessel 提交于
      Commit 6e6f0a1f ("panic: don't print redundant backtraces on oops")
      causes a regression where no stack trace will be printed at all for the
      case where kernel code calls panic() directly while not processing an
      oops, and of course there are 100's of instances of this type of call.
      
      The original commit executed the check (!oops_in_progress), but this will
      always be false because just before the dump_stack() there is a call to
      bust_spinlocks(1), which does the following:
      
        void __attribute__((weak)) bust_spinlocks(int yes)
        {
      	if (yes) {
      		++oops_in_progress;
      
      The proper way to resolve the problem that original commit tried to
      solve is to avoid printing a stack dump from panic() when the either of
      the following conditions is true:
      
        1) TAINT_DIE has been set (this is done by oops_end())
           This indicates and oops has already been printed.
        2) oops_in_progress > 1
           This guards against the rare case where panic() is invoked
           a second time, or in between oops_begin() and oops_end()
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: <stable@vger.kernel.org>	[3.3+]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      026ee1f6
  4. 13 1月, 2012 3 次提交
  5. 08 12月, 2011 1 次提交
    • B
      lockdep, bug: Exclude TAINT_OOT_MODULE from disabling lock debugging · 9ec84ace
      Ben Hutchings 提交于
      We do want to allow lock debugging for GPL-compatible modules
      that are not (yet) built in-tree.  This was disabled as a
      side-effect of commit 2449b8ba
      ('module,bug: Add TAINT_OOT_MODULE flag for modules not built
      in-tree').  Lock debug warnings now include taint flags, so
      kernel developers should still be able to deflect warnings
      caused by out-of-tree modules.
      
      The TAINT_PROPRIETARY_MODULE flag for non-GPL-compatible modules
      will still disable lock debugging.
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Cc: Nick Bowler <nbowler@elliptictech.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Randy Dunlap <rdunlap@xenotime.net>
      Cc: Debian kernel maintainers <debian-kernel@lists.debian.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Alan Cox <alan@linux.intel.com>
      Link: http://lkml.kernel.org/r/1323268258.18450.11.camel@deadeyeSigned-off-by: NIngo Molnar <mingo@elte.hu>
      9ec84ace
  6. 06 12月, 2011 1 次提交
  7. 07 11月, 2011 1 次提交
  8. 27 7月, 2011 1 次提交
    • H
      panic: panic=-1 for immediate reboot · 4302fbc8
      Hugh Dickins 提交于
      When a kernel BUG or oops occurs, ChromeOS intends to panic and
      immediately reboot, with stacktrace and other messages preserved in RAM
      across reboot.
      
      But the longer we delay, the more likely the user is to poweroff and
      lose the info.
      
      panic_timeout (seconds before rebooting) is set by panic= boot option or
      sysctl or /proc/sys/kernel/panic; but 0 means wait forever, so at
      present we have to delay at least 1 second.
      
      Let a negative number mean reboot immediately (with the small cosmetic
      benefit of suppressing that newline-less "Rebooting in %d seconds.."
      message).
      Signed-off-by: NHugh Dickins <hughd@chromium.org>
      Signed-off-by: NMandeep Singh Baines <msb@chromium.org>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Olaf Hering <olaf@aepfle.de>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4302fbc8
  9. 23 3月, 2011 1 次提交
  10. 12 1月, 2011 1 次提交
    • H
      ACPI, APEI, Generic Hardware Error Source POLL/IRQ/NMI notification type support · 81e88fdc
      Huang Ying 提交于
      Generic Hardware Error Source provides a way to report platform
      hardware errors (such as that from chipset). It works in so called
      "Firmware First" mode, that is, hardware errors are reported to
      firmware firstly, then reported to Linux by firmware. This way, some
      non-standard hardware error registers or non-standard hardware link
      can be checked by firmware to produce more valuable hardware error
      information for Linux.
      
      This patch adds POLL/IRQ/NMI notification types support.
      
      Because the memory area used to transfer hardware error information
      from BIOS to Linux can be determined only in NMI, IRQ or timer
      handler, but general ioremap can not be used in atomic context, so a
      special version of atomic ioremap is implemented for that.
      
      Known issue:
      
      - Error information can not be printed for recoverable errors notified
        via NMI, because printk is not NMI-safe. Will fix this via delay
        printing to IRQ context via irq_work or make printk NMI-safe.
      
      v2:
      
      - adjust printk format per comments.
      Signed-off-by: NHuang Ying <ying.huang@intel.com>
      Reviewed-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      81e88fdc
  11. 11 8月, 2010 2 次提交
  12. 28 5月, 2010 1 次提交
  13. 19 5月, 2010 2 次提交
  14. 07 3月, 2010 1 次提交
  15. 01 1月, 2010 1 次提交
  16. 30 11月, 2009 1 次提交
  17. 06 10月, 2009 1 次提交
  18. 21 9月, 2009 1 次提交
  19. 25 7月, 2009 1 次提交
  20. 17 5月, 2009 1 次提交
    • L
      Fix caller information for warn_slowpath_null · 0f6f49a8
      Linus Torvalds 提交于
      Ian Campbell noticed that since "Eliminate thousands of warnings with
      gcc 3.2 build" (commit 57adc4d2) all
      WARN_ON()'s currently appear to come from warn_slowpath_null(), eg:
      
        WARNING: at kernel/softirq.c:143 warn_slowpath_null+0x1c/0x20()
      
      because now that warn_slowpath_null() is in the call path, the
      __builtin_return_address(0) returns that, rather than the place that
      caused the warning.
      
      Fix this by splitting up the warn_slowpath_null/fmt cases differently,
      using a common helper function, and getting the return address in the
      right place.  This also happens to avoid the unnecessary stack usage for
      the non-stdargs case, and just generally cleans things up.
      
      Make the function name printout use %pS while at it.
      
      Cc: Ian Campbell <ian.campbell@citrix.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0f6f49a8
  21. 07 5月, 2009 1 次提交
  22. 23 4月, 2009 1 次提交
    • I
      locking: clarify kernel-taint warning message · b48ccb09
      Ingo Molnar 提交于
      Andi Kleen reported this message triggering on non-lockdep kernels:
      
         Disabling lockdep due to kernel taint
      
      Clarify the message to say 'lock debugging' - debug_locks_off()
      turns off all things lock debugging, not just lockdep.
      
      [ Impact: change kernel warning message text ]
      Reported-by: NAndi Kleen <andi@firstfloor.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b48ccb09
  23. 12 4月, 2009 2 次提交
    • F
      lockdep: continue lock debugging despite some taints · 574bbe78
      Frederic Weisbecker 提交于
      Impact: broaden lockdep checks
      
      Lockdep is disabled after any kernel taints. This might be convenient
      to ignore bad locking issues which sources come from outside the kernel
      tree. Nevertheless, it might be a frustrating experience for the
      staging developers or those who experience a warning but are focused
      on another things that require lockdep.
      
      The v2 of this patch simply don't disable anymore lockdep in case
      of TAINT_CRAP and TAINT_WARN events.
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: LTP <ltp-list@lists.sourceforge.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Greg KH <gregkh@suse.de>
      LKML-Reference: <1239412638-6739-2-git-send-email-fweisbec@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      574bbe78
    • F
      lockdep: warn about lockdep disabling after kernel taint · 9eeba613
      Frederic Weisbecker 提交于
      Impact: provide useful missing info for developers
      
      Kernel taint can occur in several situations such as warnings,
      load of prorietary or staging modules, bad page, etc...
      
      But when such taint happens, a developer might still be working on
      the kernel, expecting that lockdep is still enabled. But a taint
      disables lockdep without ever warning about it.
      Such a kernel behaviour doesn't really help for kernel development.
      
      This patch adds this missing warning.
      
      Since the taint is done most of the time after the main message that
      explain the real source issue, it seems safe to warn about it inside
      add_taint() so that it appears at last, without hurting the main
      information.
      
      v2: Use a generic helper to disable lockdep instead of an
          open coded xchg().
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      LKML-Reference: <1239412638-6739-1-git-send-email-fweisbec@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      9eeba613
  24. 13 3月, 2009 3 次提交
    • I
      panic: clean up kernel/panic.c · c95dbf27
      Ingo Molnar 提交于
      Impact: cleanup, no code changed
      
      Clean up kernel/panic.c some more and make it more consistent.
      
      LKML-Reference: <49B91A7E.76E4.0078.0@novell.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c95dbf27
    • I
      panic, smp: provide smp_send_stop() wrapper on UP too · d1dedb52
      Ingo Molnar 提交于
      Impact: cleanup, no code changed
      
      Remove an ugly #ifdef CONFIG_SMP from panic(), by providing
      an smp_send_stop() wrapper on UP too.
      
      LKML-Reference: <49B91A7E.76E4.0078.0@novell.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d1dedb52
    • I
      panic: decrease oops_in_progress only after having done the panic · ffd71da4
      Ingo Molnar 提交于
      Impact: eliminate secondary warnings during panic()
      
      We can panic() in a number of difficult, atomic contexts, hence
      we use bust_spinlocks(1) in panic() to increase oops_in_progress,
      which prevents various debug checks we have in place.
      
      But in practice this protection only covers the first few printk's
      done by panic() - it does not cover the later attempt to stop all
      other CPUs and kexec(). If a secondary warning triggers in one of
      those facilities that can make the panic message scroll off.
      
      So do bust_spinlocks(0) only much later in panic(). (which code
      is only reached if panic policy is relaxed that it can return
      after a warning message)
      Reported-by: NJan Beulich <jbeulich@novell.com>
      LKML-Reference: <49B91A7E.76E4.0078.0@novell.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      ffd71da4
  25. 10 2月, 2009 1 次提交
    • T
      stackprotector: update make rules · 5d707e9c
      Tejun Heo 提交于
      Impact: no default -fno-stack-protector if stackp is enabled, cleanup
      
      Stackprotector make rules had the following problems.
      
      * cc support test and warning are scattered across makefile and
        kernel/panic.c.
      
      * -fno-stack-protector was always added regardless of configuration.
      
      Update such that cc support test and warning are contained in makefile
      and -fno-stack-protector is added iff stackp is turned off.  While at
      it, prepare for 32bit support.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5d707e9c
  26. 07 1月, 2009 1 次提交
  27. 02 12月, 2008 1 次提交
  28. 29 11月, 2008 3 次提交
  29. 22 10月, 2008 1 次提交
  30. 17 10月, 2008 2 次提交