Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Oct 2017 19:14:20 +0000 (15:14 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 14 Oct 2017 19:14:20 +0000 (15:14 -0400)
Pull locking fixes from Ingo Molnar:
 "Two lockdep fixes for bugs introduced by the cross-release dependency
  tracking feature - plus a commit that disables it because performance
  regressed in an absymal fashion on some systems"

* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  locking/lockdep: Disable cross-release features for now
  locking/selftest: Avoid false BUG report
  locking/lockdep: Fix stacktrace mess

1  2 
lib/Kconfig.debug

diff --combined lib/Kconfig.debug
index c1e720a22c71304e103ae3eb41db9622b7bc420c,e2705843c524d9c6d456c8c17735f870855acb9a..dfdad67d8f6cce470171986addcad7b61c09f382
@@@ -1092,8 -1092,8 +1092,8 @@@ config PROVE_LOCKIN
        select DEBUG_MUTEXES
        select DEBUG_RT_MUTEXES if RT_MUTEXES
        select DEBUG_LOCK_ALLOC
-       select LOCKDEP_CROSSRELEASE
-       select LOCKDEP_COMPLETIONS
+       select LOCKDEP_CROSSRELEASE if BROKEN
+       select LOCKDEP_COMPLETIONS if BROKEN
        select TRACE_IRQFLAGS
        default n
        help
@@@ -1590,54 -1590,6 +1590,54 @@@ config LATENCYTO
  
  source kernel/trace/Kconfig
  
 +config PROVIDE_OHCI1394_DMA_INIT
 +      bool "Remote debugging over FireWire early on boot"
 +      depends on PCI && X86
 +      help
 +        If you want to debug problems which hang or crash the kernel early
 +        on boot and the crashing machine has a FireWire port, you can use
 +        this feature to remotely access the memory of the crashed machine
 +        over FireWire. This employs remote DMA as part of the OHCI1394
 +        specification which is now the standard for FireWire controllers.
 +
 +        With remote DMA, you can monitor the printk buffer remotely using
 +        firescope and access all memory below 4GB using fireproxy from gdb.
 +        Even controlling a kernel debugger is possible using remote DMA.
 +
 +        Usage:
 +
 +        If ohci1394_dma=early is used as boot parameter, it will initialize
 +        all OHCI1394 controllers which are found in the PCI config space.
 +
 +        As all changes to the FireWire bus such as enabling and disabling
 +        devices cause a bus reset and thereby disable remote DMA for all
 +        devices, be sure to have the cable plugged and FireWire enabled on
 +        the debugging host before booting the debug target for debugging.
 +
 +        This code (~1k) is freed after boot. By then, the firewire stack
 +        in charge of the OHCI-1394 controllers should be used instead.
 +
 +        See Documentation/debugging-via-ohci1394.txt for more information.
 +
 +config DMA_API_DEBUG
 +      bool "Enable debugging of DMA-API usage"
 +      depends on HAVE_DMA_API_DEBUG
 +      help
 +        Enable this option to debug the use of the DMA API by device drivers.
 +        With this option you will be able to detect common bugs in device
 +        drivers like double-freeing of DMA mappings or freeing mappings that
 +        were never allocated.
 +
 +        This also attempts to catch cases where a page owned by DMA is
 +        accessed by the cpu in a way that could cause data corruption.  For
 +        example, this enables cow_user_page() to check that the source page is
 +        not undergoing DMA.
 +
 +        This option causes a performance degradation.  Use only if you want to
 +        debug device drivers and dma interactions.
 +
 +        If unsure, say N.
 +
  menu "Runtime Testing"
  
  config LKDTM
@@@ -1797,6 -1749,56 +1797,6 @@@ config TEST_PARMA
  
          If unsure, say N.
  
 -endmenu # runtime tests
 -
 -config PROVIDE_OHCI1394_DMA_INIT
 -      bool "Remote debugging over FireWire early on boot"
 -      depends on PCI && X86
 -      help
 -        If you want to debug problems which hang or crash the kernel early
 -        on boot and the crashing machine has a FireWire port, you can use
 -        this feature to remotely access the memory of the crashed machine
 -        over FireWire. This employs remote DMA as part of the OHCI1394
 -        specification which is now the standard for FireWire controllers.
 -
 -        With remote DMA, you can monitor the printk buffer remotely using
 -        firescope and access all memory below 4GB using fireproxy from gdb.
 -        Even controlling a kernel debugger is possible using remote DMA.
 -
 -        Usage:
 -
 -        If ohci1394_dma=early is used as boot parameter, it will initialize
 -        all OHCI1394 controllers which are found in the PCI config space.
 -
 -        As all changes to the FireWire bus such as enabling and disabling
 -        devices cause a bus reset and thereby disable remote DMA for all
 -        devices, be sure to have the cable plugged and FireWire enabled on
 -        the debugging host before booting the debug target for debugging.
 -
 -        This code (~1k) is freed after boot. By then, the firewire stack
 -        in charge of the OHCI-1394 controllers should be used instead.
 -
 -        See Documentation/debugging-via-ohci1394.txt for more information.
 -
 -config DMA_API_DEBUG
 -      bool "Enable debugging of DMA-API usage"
 -      depends on HAVE_DMA_API_DEBUG
 -      help
 -        Enable this option to debug the use of the DMA API by device drivers.
 -        With this option you will be able to detect common bugs in device
 -        drivers like double-freeing of DMA mappings or freeing mappings that
 -        were never allocated.
 -
 -        This also attempts to catch cases where a page owned by DMA is
 -        accessed by the cpu in a way that could cause data corruption.  For
 -        example, this enables cow_user_page() to check that the source page is
 -        not undergoing DMA.
 -
 -        This option causes a performance degradation.  Use only if you want to
 -        debug device drivers and dma interactions.
 -
 -        If unsure, say N.
 -
  config TEST_LKM
        tristate "Test module loading with 'hello world' module"
        default n
@@@ -1871,6 -1873,18 +1871,6 @@@ config TEST_UDELA
  
          If unsure, say N.
  
 -config MEMTEST
 -      bool "Memtest"
 -      depends on HAVE_MEMBLOCK
 -      ---help---
 -        This option adds a kernel parameter 'memtest', which allows memtest
 -        to be set.
 -              memtest=0, mean disabled; -- default
 -              memtest=1, mean do 1 test pattern;
 -              ...
 -              memtest=17, mean do 17 test patterns.
 -        If you are unsure how to answer this question, answer N.
 -
  config TEST_STATIC_KEYS
        tristate "Test static keys"
        default n
  
          If unsure, say N.
  
 -config BUG_ON_DATA_CORRUPTION
 -      bool "Trigger a BUG when data corruption is detected"
 -      select DEBUG_LIST
 -      help
 -        Select this option if the kernel should BUG when it encounters
 -        data corruption in kernel memory structures when they get checked
 -        for validity.
 -
 -        If unsure, say N.
 -
  config TEST_KMOD
        tristate "kmod stress tester"
        default n
@@@ -1917,29 -1941,6 +1917,29 @@@ config TEST_DEBUG_VIRTUA
  
          If unsure, say N.
  
 +endmenu # runtime tests
 +
 +config MEMTEST
 +      bool "Memtest"
 +      depends on HAVE_MEMBLOCK
 +      ---help---
 +        This option adds a kernel parameter 'memtest', which allows memtest
 +        to be set.
 +              memtest=0, mean disabled; -- default
 +              memtest=1, mean do 1 test pattern;
 +              ...
 +              memtest=17, mean do 17 test patterns.
 +        If you are unsure how to answer this question, answer N.
 +
 +config BUG_ON_DATA_CORRUPTION
 +      bool "Trigger a BUG when data corruption is detected"
 +      select DEBUG_LIST
 +      help
 +        Select this option if the kernel should BUG when it encounters
 +        data corruption in kernel memory structures when they get checked
 +        for validity.
 +
 +        If unsure, say N.
  
  source "samples/Kconfig"