1. 21 Feb, 2015 3 commits
  2. 20 Feb, 2015 13 commits
    • Linus Torvalds's avatar
      Merge tag 'for_linux-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb · 4fbd0a81
      Linus Torvalds authored
      Pull kgdb/kdb updates from Jason Wessel:
       "KGDB/KDB New:
         - KDB: improved searching
         - No longer enter debug core on panic if panic timeout is set
      
        KGDB/KDB regressions / cleanups
         - fix pdf doc build errors
         - prevent junk characters on kdb console from printk levels"
      
      * tag 'for_linux-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:
        kgdb, docs: Fix <para> pdfdocs build errors
        debug: prevent entering debug mode on panic/exception.
        kdb: Const qualifier for kdb_getstr's prompt argument
        kdb: Provide forward search at more prompt
        kdb: Fix a prompt management bug when using | grep
        kdb: Remove stack dump when entering kgdb due to NMI
        kdb: Avoid printing KERN_ levels to consoles
        kdb: Fix off by one error in kdb_cpu()
        kdb: fix incorrect counts in KDB summary command output
      4fbd0a81
    • Linus Torvalds's avatar
      Merge tag 'for-linus-3.20-1' of git://git.code.sf.net/p/openipmi/linux-ipmi · 7bad2227
      Linus Torvalds authored
      Pull IPMI driver updates from Corey Minyard:
       "Some minor fixes and cleanups, nothing big.
      
        In for-next for a while and I've done some extensive beating on the
        driver since I have it working in qemu and can do creatively cruel
        things to it"
      
      * tag 'for-linus-3.20-1' of git://git.code.sf.net/p/openipmi/linux-ipmi:
        ipmi: Fix a memory ordering issue
        ipmi: Remove uses of return value of seq_printf
        ipmi: Use is_visible callback for conditional sysfs entries
        ipmi: Free ipmi_recv_msg messages from the linked list on close
        ipmi: avoid gcc warning
        ipmi: Update timespec usage to timespec64
        ipmi: Cleanup DEBUG_TIMING ifdef usage
        drivers:char:ipmi: Remove unneeded FIXME comment in the file,ipmi_si_intf.c
        char: ipmi: Remove obsolete cleanup for clientdata
        ipmi: Remove a FIXME for slab conversion
      7bad2227
    • Corey Minyard's avatar
      ipmi: Fix a memory ordering issue · 1d86e29b
      Corey Minyard authored
      From a locking point of view it is safe to check waiting_msg without
      a lock, but there is a memory ordering issue that causes it to
      possibly not be set right when viewed from another processor.  We are
      already claiming a lock right after that, move the check to inside
      the lock to enforce the memory ordering.
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      1d86e29b
    • Joe Perches's avatar
      ipmi: Remove uses of return value of seq_printf · d6c5dc18
      Joe Perches authored
      The seq_printf like functions will soon be changed to return void.
      
      Convert these uses to check seq_has_overflowed instead.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      d6c5dc18
    • Takashi Iwai's avatar
      ipmi: Use is_visible callback for conditional sysfs entries · 2d06a0c9
      Takashi Iwai authored
      Instead of manual calls of device_create_file() and
      device_remove_file(), implement the condition in is_visible callback
      for the attribute group and put these entries to the group, too.
      This simplifies the code and avoids the possible races.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      2d06a0c9
    • Nicholas Krause's avatar
      ipmi: Free ipmi_recv_msg messages from the linked list on close · bdf2829c
      Nicholas Krause authored
      This adds a loop through the elements in the linked list, recv_msgs using
      list_for_entry_safe in order to free messages in this list.  In addition
      we are using the safe version of this marco in order to prevent use after
      bugs related to deleting the element we are on currently by holding a
      pointer to the next element after the current one we are on and freeing
      with the function, ipmi_free_recv_msg internally in this loop.
      Signed-off-by: default avatarNicholas Krause <xerofoify@gmail.com>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      bdf2829c
    • Arnd Bergmann's avatar
      ipmi: avoid gcc warning · 191cc414
      Arnd Bergmann authored
      A new harmless warning has come up on ARM builds with gcc-4.9:
      
      drivers/char/ipmi/ipmi_msghandler.c: In function 'smi_send.isra.11':
      include/linux/spinlock.h:372:95: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
        raw_spin_unlock_irqrestore(&lock->rlock, flags);
                                                                                                     ^
      drivers/char/ipmi/ipmi_msghandler.c:1490:16: note: 'flags' was declared here
        unsigned long flags;
                      ^
      
      This could be worked around by initializing the 'flags' variable, but it
      seems better to rework the code to avoid this.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 7ea0ed2b ("ipmi: Make the message handler easier to use for SMI interfaces")
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      191cc414
    • John Stultz's avatar
      ipmi: Update timespec usage to timespec64 · 48862ea2
      John Stultz authored
      As part of the internal y2038 cleanup, this patch removes
      timespec usage in the ipmi driver, replacing it timespec64
      
      Cc: openipmi-developer@lists.sourceforge.net
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarCorey Minyard <minyard@mvista.com>
      48862ea2
    • John Stultz's avatar
      ipmi: Cleanup DEBUG_TIMING ifdef usage · f93aae9f
      John Stultz authored
      The driver uses #ifdef DEBUG_TIMING in order to conditionally print out
      timestamped debug messages. Unfortunately it adds the ifdefs all over the
      usage sites.
      
      This patch cleans it up by adding a debug_timestamp() function which
      is compiled out if DEBUG_TIMING isn't present. This cleans up all
      the ugly ifdefs in the function logic.
      
      Cc: openipmi-developer@lists.sourceforge.net
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarCorey Minyard <minyard@mvista.com>
      f93aae9f
    • Nicholas Krause's avatar
      drivers:char:ipmi: Remove unneeded FIXME comment in the file,ipmi_si_intf.c · 31013fa9
      Nicholas Krause authored
      Removes a no longer needed FIXME comment in the function,acpi_gpe_irq_setup
      for the file,ipmi_si_intf.c. This comment is no longer needed as clearly we
      are passing the correct level of  ACPI_GPE_LEVEL_TRIGGERED to the installer
      function,acpi_install_gpe_handler due to no breakage after years of using
      this ACPI level in the function,acpi_install_gpe_handler.
      Signed-off-by: default avatarNicholas Krause <xerofoify@gmail.com>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      31013fa9
    • Wolfram Sang's avatar
      char: ipmi: Remove obsolete cleanup for clientdata · bb82d90e
      Wolfram Sang authored
      A few new i2c-drivers came into the kernel which clear the clientdata-pointer
      on exit or error. This is obsolete meanwhile, the core will do it.
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      bb82d90e
    • Corey Minyard's avatar
      ipmi: Remove a FIXME for slab conversion · 2fcaf60c
      Corey Minyard authored
      There can't be more than a few IPMI messages allocated at any one time,
      so converting the messages to slabs would be a waste.  So just remove
      the FIXME.
      Suggested-by: default avatarNicholas Krause <xerofoify@gmail.com>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      2fcaf60c
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal · 3d883483
      Linus Torvalds authored
      Pull more thermal managament updates from Zhang Rui:
       "Specifics:
      
         - Exynos thermal driver refactoring.  Several cleanups, code
           optimization, unused symbols removal, and unused feature removal in
           Exynos thermal driver.  Thanks Lukasz for this effort.
      
         - Exynos thermal driver support to OF thermal.  After the code
           refactoring, the driver earned the support to OF thermal.  Chip
           thermal data were moved from driver code to DTS, reducing the code
           footprint.  Thanks Lukasz for this.
      
         - After receiving the OF thermal support, the exynos thermal driver
           now must allow modular build.  Thanks Arnd for detecting, reporting
           and fixing this.
      
         - Exynos thermal driver support to Exynos 7 SoC.  Thanks Abhilash for
           this.
      
         - Accurate temperature reporting on Rockchip thermal driver, thanks
           to Caesar.
      
         - Fix on how OF thermal enables its zones, thanks Lukasz for fixing.
      
         - Fixes in OF thermal examples under Documentation/.  Thanks Srinivas
           for fixing"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal:
        thermal: exynos: Add TMU support for Exynos7 SoC
        dts: Documentation: Add documentation for Exynos7 SoC thermal bindings
        cpufreq: exynos: allow modular build
        thermal: Fix examples in DT documentation
        thermal: exynos: Correct sanity check at exynos_report_trigger() function
        thermal: Kconfig: Remove config for not used EXYNOS_THERMAL_CORE
        thermal: exynos: Remove exynos_tmu_data.c file
        thermal: rockchip: make temperature reporting much more accurate
        thermal: exynos: Remove exynos_thermal_common.[c|h] files
        thermal: samsung: core: Exynos TMU rework to use device tree for configuration
        dts: Documentation: Update exynos-thermal.txt example for Exynos5440
        dts: Documentation: Extending documentation entry for exynos-thermal
        cpufreq: exynos: Use device tree to determine if cpufreq cooling should be registered
        thermal: exynos: Modify exynos thermal code to use device tree for cpu cooling configuration
        thermal: exynos: Provide thermal_exynos.h file to be included in device tree files
        thermal: exynos: cosmetic: Correct comment format
        thermal: of: Enable thermal_zoneX when sensor is correctly added
      3d883483
  3. 19 Feb, 2015 24 commits
    • David Vrabel's avatar
      x86: pte_protnone() and pmd_protnone() must check entry is not present · e3a1f6ca
      David Vrabel authored
      Since _PAGE_PROTNONE aliases _PAGE_GLOBAL it is only valid if
      _PAGE_PRESENT is clear.  Make pte_protnone() and pmd_protnone() check
      for this.
      
      This fixes a 64-bit Xen PV guest regression introduced by 8a0516ed
      ("mm: convert p[te|md]_numa users to p[te|md]_protnone_numa").  Any
      userspace process would endlessly fault.
      
      In a 64-bit PV guest, userspace page table entries have _PAGE_GLOBAL set
      by the hypervisor.  This meant that any fault on a present userspace
      entry (e.g., a write to a read-only mapping) would be misinterpreted as
      a NUMA hinting fault and the fault would not be correctly handled,
      resulting in the access endlessly faulting.
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Acked-by: default avatarMel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e3a1f6ca
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 2b9fb532
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "This pull is mostly cleanups and fixes:
      
         - The raid5/6 cleanups from Zhao Lei fixup some long standing warts
           in the code and add improvements on top of the scrubbing support
           from 3.19.
      
         - Josef has round one of our ENOSPC fixes coming from large btrfs
           clusters here at FB.
      
         - Dave Sterba continues a long series of cleanups (thanks Dave), and
           Filipe continues hammering on corner cases in fsync and others
      
        This all was held up a little trying to track down a use-after-free in
        btrfs raid5/6.  It's not clear yet if this is just made easier to
        trigger with this pull or if its a new bug from the raid5/6 cleanups.
        Dave Sterba is the only one to trigger it so far, but he has a
        consistent way to reproduce, so we'll get it nailed shortly"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (68 commits)
        Btrfs: don't remove extents and xattrs when logging new names
        Btrfs: fix fsync data loss after adding hard link to inode
        Btrfs: fix BUG_ON in btrfs_orphan_add() when delete unused block group
        Btrfs: account for large extents with enospc
        Btrfs: don't set and clear delalloc for O_DIRECT writes
        Btrfs: only adjust outstanding_extents when we do a short write
        btrfs: Fix out-of-space bug
        Btrfs: scrub, fix sleep in atomic context
        Btrfs: fix scheduler warning when syncing log
        Btrfs: Remove unnecessary placeholder in btrfs_err_code
        btrfs: cleanup init for list in free-space-cache
        btrfs: delete chunk allocation attemp when setting block group ro
        btrfs: clear bio reference after submit_one_bio()
        Btrfs: fix scrub race leading to use-after-free
        Btrfs: add missing cleanup on sysfs init failure
        Btrfs: fix race between transaction commit and empty block group removal
        btrfs: add more checks to btrfs_read_sys_array
        btrfs: cleanup, rename a few variables in btrfs_read_sys_array
        btrfs: add checks for sys_chunk_array sizes
        btrfs: more superblock checks, lower bounds on devices and sectorsize/nodesize
        ...
      2b9fb532
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 4533f6e2
      Linus Torvalds authored
      Pull Ceph changes from Sage Weil:
       "On the RBD side, there is a conversion to blk-mq from Christoph,
        several long-standing bug fixes from Ilya, and some cleanup from
        Rickard Strandqvist.
      
        On the CephFS side there is a long list of fixes from Zheng, including
        improved session handling, a few IO path fixes, some dcache management
        correctness fixes, and several blocking while !TASK_RUNNING fixes.
      
        The core code gets a few cleanups and Chaitanya has added support for
        TCP_NODELAY (which has been used on the server side for ages but we
        somehow missed on the kernel client).
      
        There is also an update to MAINTAINERS to fix up some email addresses
        and reflect that Ilya and Zheng are doing most of the maintenance for
        RBD and CephFS these days.  Do not be surprised to see a pull request
        come from one of them in the future if I am unavailable for some
        reason"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (27 commits)
        MAINTAINERS: update Ceph and RBD maintainers
        libceph: kfree() in put_osd() shouldn't depend on authorizer
        libceph: fix double __remove_osd() problem
        rbd: convert to blk-mq
        ceph: return error for traceless reply race
        ceph: fix dentry leaks
        ceph: re-send requests when MDS enters reconnecting stage
        ceph: show nocephx_require_signatures and notcp_nodelay options
        libceph: tcp_nodelay support
        rbd: do not treat standalone as flatten
        ceph: fix atomic_open snapdir
        ceph: properly mark empty directory as complete
        client: include kernel version in client metadata
        ceph: provide seperate {inode,file}_operations for snapdir
        ceph: fix request time stamp encoding
        ceph: fix reading inline data when i_size > PAGE_SIZE
        ceph: avoid block operation when !TASK_RUNNING (ceph_mdsc_close_sessions)
        ceph: avoid block operation when !TASK_RUNNING (ceph_get_caps)
        ceph: avoid block operation when !TASK_RUNNING (ceph_mdsc_sync)
        rbd: fix error paths in rbd_dev_refresh()
        ...
      4533f6e2
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 89d3fa45
      Linus Torvalds authored
      Pull thermal managament updates from Zhang Rui:
       "Specifics:
      
         - Abstract the code and introduce helper functions for all int340x
           thermal drivers.  From: Srinivas Pandruvada.
      
         - Reorganize the ACPI LPAT table support code so that it can be
           shared for both ACPI PMIC driver and int340x thermal driver.
      
         - Add support for Braswell in intel_soc_dts thermal driver.
      
         - a couple of small fixes/cleanups for step_wise governor and int340x
           thermal driver"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        Thermal/int340x_thermal: remove unused uuids.
        thermal: step_wise: spelling fixes
        thermal: int340x: fix sparse warning
        Thermal/int340x: LPAT conversion for temperature
        ACPI / PMIC: Use common LPAT table handling functions
        ACPI / LPAT: Common table processing functions
        thermal: Intel SoC DTS: Add Braswell support
        Thermal/int340x/int3402: Provide notification support
        Thermal/int340x/processor_thermal: Add thermal zone support
        Thermal/int340x/int3403: Use int340x thermal API
        Thermal/int340x/int3402: Use int340x thermal API
        Thermal/int340x: Add common thermal zone handler
      89d3fa45
    • Linus Torvalds's avatar
      Merge tag 'edac_fixes_for_3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 477ea116
      Linus Torvalds authored
      Pull two EDAC fixes from Borislav Petkov:
      
       - A fix to sb_edac for proper detection on SNB machines
      
       - A fix to amd64_edac to not explode on Numascale machines with more
         than 16 memory controllers, from Daniel J Blueman.
      
      * tag 'edac_fixes_for_3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, amd64_edac: Prevent OOPS with >16 memory controllers
        sb_edac: Fix detection on SNB machines
      477ea116
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v3.20-1' of... · 6ed3e57f
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v3.20-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull platform driver update from Darren Hart:
       "This includes a significant update to the toshiba_acpi driver,
        bringing it to feature parity with the Windows driver, followed by
        some needed cleanups.
      
        The other changes are mostly minor updates, quirks, sparse fixes, or
        cleanups.
      
        Details:
      
         - toshiba_acpi:
             Add support for missing features from the Windows driver, bump the
             sysfs version, and clean up the driver.
      
         - thinkpad_acpi:
             BIOS string versions, unhandled hkey events.
      
         - msamsung-laptop:
             Add native backlight quirk, enable better lid handling.
      
         - intel_scu_ipc:
             Read resources from PCI configuration
      
         - other:
             Fix sparse warnings, general cleanups"
      
      * tag 'platform-drivers-x86-v3.20-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (34 commits)
        toshiba_acpi: Cleanup GPL header
        toshiba_acpi: Cleanup comment blocks and capitalization
        toshiba_acpi: Make use of DEVICE_ATTR_{RO, RW} macros
        toshiba_acpi: Drop the toshiba_ prefix from sysfs function names
        toshiba_acpi: Move sysfs function and struct declarations further down
        Documentation/ABI: Add file describing the sysfs entries for toshiba_acpi
        toshiba_acpi: Clean file according to coding style
        toshiba_acpi: Bump version number to 0.21
        toshiba_acpi: Add support to enable/disable USB 3
        toshiba_acpi: Add support for Panel Power ON
        toshiba_acpi: Add support for Keyboard functions mode
        toshiba_acpi: Add fan entry to sysfs
        toshiba_acpi: Add version entry to sysfs
        thinkpad_acpi: support new BIOS version string pattern
        thinkpad_acpi: unhandled hkey event
        toshiba_acpi: Make toshiba_eco_mode_available more robust
        classmate-laptop: Fix sparse warning (0 as NULL)
        Sony-laptop: Fix sparse warning (make undeclared var static)
        thinkpad_acpi.c: Fix sparse warning (make undeclared var static)
        samsung-laptop.c: Prefer kstrtoint over single variable sscanf
        ...
      6ed3e57f
    • Rajaneesh Acharya's avatar
      kgdb, docs: Fix <para> pdfdocs build errors · dd8f30cc
      Rajaneesh Acharya authored
      kgdb.pdf failed to build from 'make pdfdocs' giving errors such as:
      
      jade:... Documentation/DocBook/kgdb.xml:200:8:E:
      document type does not allow element "para" here; missing one of
      "footnote", "caution", "important", "note", "tip", "warning",
      "blockquote", "informalexample" start-tag
      
      Fixing minor <para> and <sect> issues allows kgdb.pdf to be generated
      under Fedora20.
      
      Originally submitted by rajaneesh.acharya@yahoo.com in 2011, discussed here:
      http://permalink.gmane.org/gmane.linux.documentation/3954
      as patch:
       The following are the enhancements that removed the errors
       while issuing "make pdfdocs"
      
      [graham.whaley@intel.com: Improved commit message and ported to 3.18.1]
      Signed-off-by: default avatarGraham Whaley <graham.whaley@intel.com>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      dd8f30cc
    • Colin Cross's avatar
      debug: prevent entering debug mode on panic/exception. · 5516fd7b
      Colin Cross authored
      On non-developer devices, kgdb prevents the device from rebooting
      after a panic.
      
      Incase of panics and exceptions, to allow the device to reboot, prevent
      entering debug mode to avoid getting stuck waiting for the user to
      interact with debugger.
      
      To avoid entering the debugger on panic/exception without any extra
      configuration, panic_timeout is being used which can be set via
      /proc/sys/kernel/panic at run time and CONFIG_PANIC_TIMEOUT sets the
      default value.
      
      Setting panic_timeout indicates that the user requested machine to
      perform unattended reboot after panic. We dont want to get stuck waiting
      for the user input incase of panic.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: kgdb-bugreport@lists.sourceforge.net
      Cc: linux-kernel@vger.kernel.org
      Cc: Android Kernel Team <kernel-team@android.com>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Signed-off-by: default avatarColin Cross <ccross@android.com>
      [Kiran: Added context to commit message.
      panic_timeout is used instead of break_on_panic and
      break_on_exception to honor CONFIG_PANIC_TIMEOUT
      Modified the commit as per community feedback]
      Signed-off-by: default avatarKiran Raparthy <kiran.kumar@linaro.org>
      Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      5516fd7b
    • Daniel Thompson's avatar
      kdb: Const qualifier for kdb_getstr's prompt argument · 32d375f6
      Daniel Thompson authored
      All current callers of kdb_getstr() can pass constant pointers via the
      prompt argument. This patch adds a const qualification to make explicit
      the fact that this is safe.
      Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      32d375f6
    • Daniel Thompson's avatar
      kdb: Provide forward search at more prompt · fb6daa75
      Daniel Thompson authored
      Currently kdb allows the output of comamnds to be filtered using the
      | grep feature. This is useful but does not permit the output emitted
      shortly after a string match to be examined without wading through the
      entire unfiltered output of the command. Such a feature is particularly
      useful to navigate function traces because these traces often have a
      useful trigger string *before* the point of interest.
      
      This patch reuses the existing filtering logic to introduce a simple
      forward search to kdb that can be triggered from the more prompt.
      Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      fb6daa75
    • Daniel Thompson's avatar
      kdb: Fix a prompt management bug when using | grep · ab08e464
      Daniel Thompson authored
      Currently when the "| grep" feature is used to filter the output of a
      command then the prompt is not displayed for the subsequent command.
      Likewise any characters typed by the user are also not echoed to the
      display. This rather disconcerting problem eventually corrects itself
      when the user presses Enter and the kdb_grepping_flag is cleared as
      kdb_parse() tries to make sense of whatever they typed.
      
      This patch resolves the problem by moving the clearing of this flag
      from the middle of command processing to the beginning.
      Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      ab08e464
    • Daniel Thompson's avatar
      kdb: Remove stack dump when entering kgdb due to NMI · 54543881
      Daniel Thompson authored
      Issuing a stack dump feels ergonomically wrong when entering due to NMI.
      
      Entering due to NMI is normally a reaction to a user request, either the
      NMI button on a server or a "magic knock" on a UART. Therefore the
      backtrace behaviour on entry due to NMI should be like SysRq-g (no stack
      dump) rather than like oops.
      
      Note also that the stack dump does not offer any information that
      cannot be trivial retrieved using the 'bt' command.
      Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      54543881
    • Daniel Thompson's avatar
      kdb: Avoid printing KERN_ levels to consoles · f7d4ca8b
      Daniel Thompson authored
      Currently when kdb traps printk messages then the raw log level prefix
      (consisting of '\001' followed by a numeral) does not get stripped off
      before the message is issued to the various I/O handlers supported by
      kdb. This causes annoying visual noise as well as causing problems
      grepping for ^. It is also a change of behaviour compared to normal usage
      of printk() usage. For example <SysRq>-h ends up with different output to
      that of kdb's "sr h".
      
      This patch addresses the problem by stripping log levels from messages
      before they are issued to the I/O handlers. printk() which can also
      act as an i/o handler in some cases is special cased; if the caller
      provided a log level then the prefix will be preserved when sent to
      printk().
      
      The addition of non-printable characters to the output of kdb commands is a
      regression, albeit and extremely elderly one, introduced by commit
      04d2c8c8 ("printk: convert the format for KERN_<LEVEL> to a 2 byte
      pattern"). Note also that this patch does *not* restore the original
      behaviour from v3.5. Instead it makes printk() from within a kdb command
      display the message without any prefix (i.e. like printk() normally does).
      Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
      Cc: Joe Perches <joe@perches.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      f7d4ca8b
    • Jason Wessel's avatar
      kdb: Fix off by one error in kdb_cpu() · df0036d1
      Jason Wessel authored
      There was a follow on replacement patch against the prior
      "kgdb: Timeout if secondary CPUs ignore the roundup".
      
      See: https://lkml.org/lkml/2015/1/7/442
      
      This patch is the delta vs the patch that was committed upstream:
        * Fix an off-by-one error in kdb_cpu().
        * Replace NR_CPUS with CONFIG_NR_CPUS to tell checkpatch that we
          really want a static limit.
        * Removed the "KGDB: " prefix from the pr_crit() in debug_core.c
          (kgdb-next contains a patch which introduced pr_fmt() to this file
          to the tag will now be applied automatically).
      
      Cc: Daniel Thompson <daniel.thompson@linaro.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      df0036d1
    • Jay Lan's avatar
      kdb: fix incorrect counts in KDB summary command output · 14675592
      Jay Lan authored
      The output of KDB 'summary' command should report MemTotal, MemFree
      and Buffers output in kB. Current codes report in unit of pages.
      
      A define of K(x) as
      is defined in the code, but not used.
      
      This patch would apply the define to convert the values to kB.
      Please include me on Cc on replies. I do not subscribe to linux-kernel.
      Signed-off-by: default avatarJay Lan <jlan@sgi.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      14675592
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · b11a2783
      Linus Torvalds authored
      Pull kconfig updates from Michal Marek:
       "Yann E Morin was supposed to take over kconfig maintainership, but
        this hasn't happened.  So I'm sending a few kconfig patches that I
        collected:
      
         - Fix for missing va_end in kconfig
         - merge_config.sh displays used if given too few arguments
         - s/boolean/bool/ in Kconfig files for consistency, with the plan to
           only support bool in the future"
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kconfig: use va_end to match corresponding va_start
        merge_config.sh: Display usage if given too few arguments
        kconfig: use bool instead of boolean for type definition attributes
      b11a2783
    • Linus Torvalds's avatar
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 77343343
      Linus Torvalds authored
      Pull misc kbuild changes from Michal Marek:
       "Just a few non-critical kbuild changes:
      
         - builddeb adds the actual distribution name in the changelog
         - documentation fixes"
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: trivial - fix the help doc of CONFIG_CC_OPTIMIZE_FOR_SIZE
        kbuild: Update documentation of clean-files and clean-dirs
        builddeb: Try to determine distribution
        builddeb: Update year and git repository URL in debian/copyright
      77343343
    • Sage Weil's avatar
      MAINTAINERS: update Ceph and RBD maintainers · 0f5417ce
      Sage Weil authored
      - add Ilya, drop Yehuda as an RBD maintainer
      - add Zheng as a Ceph maintainer
      - update Yehuda and Sage's emails
      Signed-off-by: default avatarSage Weil <sage@redhat.com>
      0f5417ce
    • Linus Torvalds's avatar
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 27a22ee4
      Linus Torvalds authored
      Pull kbuild updates from Michal Marek:
      
       - several cleanups in kbuild
      
       - serialize multiple *config targets so that 'make defconfig kvmconfig'
         works
      
       - The cc-ifversion macro got support for an else-branch
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild,gcov: simplify kernel/gcov/Makefile more
        kbuild: allow cc-ifversion to have the argument for false condition
        kbuild,gcov: simplify kernel/gcov/Makefile
        kbuild,gcov: remove unnecessary workaround
        kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
        kbuild: fix cc-ifversion macro
        kbuild: drop $(version_h) from MRPROPER_FILES
        kbuild: use mixed-targets when two or more config targets are given
        kbuild: remove redundant line from bounds.h/asm-offsets.h
        kbuild: merge bounds.h and asm-offsets.h rules
        kbuild: Drop support for clean-rule
      27a22ee4
    • Ilya Dryomov's avatar
      libceph: kfree() in put_osd() shouldn't depend on authorizer · b28ec2f3
      Ilya Dryomov authored
      a255651d ("ceph: ensure auth ops are defined before use") made
      kfree() in put_osd() conditional on the authorizer.  A mechanical
      mistake most likely - fix it.
      
      Cc: Alex Elder <elder@linaro.org>
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: default avatarSage Weil <sage@redhat.com>
      Reviewed-by: default avatarAlex Elder <elder@linaro.org>
      b28ec2f3
    • Ilya Dryomov's avatar
      libceph: fix double __remove_osd() problem · 7eb71e03
      Ilya Dryomov authored
      It turns out it's possible to get __remove_osd() called twice on the
      same OSD.  That doesn't sit well with rb_erase() - depending on the
      shape of the tree we can get a NULL dereference, a soft lockup or
      a random crash at some point in the future as we end up touching freed
      memory.  One scenario that I was able to reproduce is as follows:
      
                  <osd3 is idle, on the osd lru list>
      <con reset - osd3>
      con_fault_finish()
        osd_reset()
                                    <osdmap - osd3 down>
                                    ceph_osdc_handle_map()
                                      <takes map_sem>
                                      kick_requests()
                                        <takes request_mutex>
                                        reset_changed_osds()
                                          __reset_osd()
                                            __remove_osd()
                                        <releases request_mutex>
                                      <releases map_sem>
          <takes map_sem>
          <takes request_mutex>
          __kick_osd_requests()
            __reset_osd()
              __remove_osd() <-- !!!
      
      A case can be made that osd refcounting is imperfect and reworking it
      would be a proper resolution, but for now Sage and I decided to fix
      this by adding a safe guard around __remove_osd().
      
      Fixes: http://tracker.ceph.com/issues/8087
      
      Cc: Sage Weil <sage@redhat.com>
      Cc: stable@vger.kernel.org # 3.9+: 7c6e6fc5: libceph: assert both regular and lingering lists in __remove_osd()
      Cc: stable@vger.kernel.org # 3.9+: cc9f1f51: libceph: change from BUG to WARN for __remove_osd() asserts
      Cc: stable@vger.kernel.org # 3.9+
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: default avatarSage Weil <sage@redhat.com>
      Reviewed-by: default avatarAlex Elder <elder@linaro.org>
      7eb71e03
    • Christoph Hellwig's avatar
      rbd: convert to blk-mq · 7ad18afa
      Christoph Hellwig authored
      This converts the rbd driver to use the blk-mq infrastructure.  Except
      for switching to a per-request work item this is almost mechanical.
      
      This was tested by Alexandre DERUMIER in November, and found to give
      him 120000 iops, although the only comparism available was an old
      3.10 kernel which gave 80000iops.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarAlex Elder <elder@linaro.org>
      [idryomov@gmail.com: context, blk_mq_init_queue() EH]
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      7ad18afa
    • Yan, Zheng's avatar
      ceph: return error for traceless reply race · 4d41cef2
      Yan, Zheng authored
      When we receives traceless reply for request that created new inode,
      we re-send a lookup request to MDS get information of the newly created
      inode. (VFS expects FS' callback return an inode in create case)
      This breaks one request into two requests. Other client may modify or
      move to the new inode in the middle.
      
      When the race happens, ceph_handle_notrace_create() unconditionally
      links the dentry for 'create' operation to the inode returned by lookup.
      This may confuse VFS when the inode is a directory (VFS does not allow
      multiple linkages for directory inode).
      
      This patch makes ceph_handle_notrace_create() when it detect a race.
      This event should be rare and it happens only when we talk to old MDS.
      Recent MDS does not send traceless reply for request that creates new
      inode.
      Signed-off-by: default avatarYan, Zheng <zyan@redhat.com>
      4d41cef2
    • Yan, Zheng's avatar
      ceph: fix dentry leaks · 5cba372c
      Yan, Zheng authored
      Signed-off-by: default avatarYan, Zheng <zyan@redhat.com>
      5cba372c