22 Feb, 2015

7 commits

  • Pull ntp fix from Ingo Molnar:
    "An adjtimex interface regression fix for 32-bit systems"

    [ A check that was added in a previous commit is really only a concern
    for 64bit systems, but was applied to both 32 and 64bit systems, which
    results in breaking 32bit systems.

    Thus the fix here is to make the check only apply to 64bit systems ]

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    ntp: Fixup adjtimex freq validation on 32-bit systems

    Linus Torvalds
     
  • Pull locking fixes from Ingo Molnar:
    "Two fixes: the paravirt spin_unlock() corruption/crash fix, and an
    rtmutex NULL dereference crash fix"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/spinlocks/paravirt: Fix memory corruption on unlock
    locking/rtmutex: Avoid a NULL pointer dereference on deadlock

    Linus Torvalds
     
  • Pull misc x86 fixes from Ingo Molnar:
    "This contains:

    - EFI fixes
    - a boot printout fix
    - ASLR/kASLR fixes
    - intel microcode driver fixes
    - other misc fixes

    Most of the linecount comes from an EFI revert"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mm/ASLR: Avoid PAGE_SIZE redefinition for UML subarch
    x86/microcode/intel: Handle truncated microcode images more robustly
    x86/microcode/intel: Guard against stack overflow in the loader
    x86, mm/ASLR: Fix stack randomization on 64-bit systems
    x86/mm/init: Fix incorrect page size in init_memory_mapping() printks
    x86/mm/ASLR: Propagate base load address calculation
    Documentation/x86: Fix path in zero-page.txt
    x86/apic: Fix the devicetree build in certain configs
    Revert "efi/libstub: Call get_memory_map() to obtain map and desc sizes"
    x86/efi: Avoid triple faults during EFI mixed mode calls

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Thiscontains misc fixes: preempt_schedule_common() and io_schedule()
    recursion fixes, sched/dl fixes, a completion_done() revert, two
    sched/rt fixes and a comment update patch"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/rt: Avoid obvious configuration fail
    sched/autogroup: Fix failure to set cpu.rt_runtime_us
    sched/dl: Do update_rq_clock() in yield_task_dl()
    sched: Prevent recursion in io_schedule()
    sched/completion: Serialize completion_done() with complete()
    sched: Fix preempt_schedule_common() triggering tracing recursion
    sched/dl: Prevent enqueue of a sleeping task in dl_task_timer()
    sched: Make dl_task_time() use task_rq_lock()
    sched: Clarify ordering between task_rq_lock() and move_queued_task()

    Linus Torvalds
     
  • Pull x86 uprobe/kprobe fixes from Ingo Molnar:
    "This contains two uprobes fixes, an uprobes comment update and a
    kprobes fix"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    kprobes/x86: Mark 2 bytes NOP as boostable
    uprobes/x86: Fix 2-byte opcode table
    uprobes/x86: Fix 1-byte opcode tables
    uprobes/x86: Add comment with insn opcodes, mnemonics and why we dont support them

    Linus Torvalds
     
  • …ernel.org/pub/scm/linux/kernel/git/tip/tip

    Pull rcu fix and x86 irq fix from Ingo Molnar:

    - Fix a bug that caused an RCU warning splat.

    - Two x86 irq related fixes: a hotplug crash fix and an ACPI IRQ
    registry fix.

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    rcu: Clear need_qs flag to prevent splat

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/irq: Check for valid irq descriptor in check_irq_vectors_for_cpu_disable()
    x86/irq: Fix regression caused by commit b568b8601f05

    Linus Torvalds
     
  • The use of READ_ONCE() causes lots of warnings witht he pending paravirt
    spinlock fixes, because those ends up having passing a member to a
    'const' structure to READ_ONCE().

    There should certainly be nothing wrong with using READ_ONCE() with a
    const source, but the helper function __read_once_size() would cause
    warnings because it would drop the 'const' qualifier, but also because
    the destination would be marked 'const' too due to the use of 'typeof'.

    Use a union of types in READ_ONCE() to avoid this issue.

    Also make sure to use parenthesis around the macro arguments to avoid
    possible operator precedence issues.

    Tested-by: Ingo Molnar
    Cc: Christian Borntraeger
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

21 Feb, 2015

2 commits

  • 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 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     

20 Feb, 2015

31 commits

  • Commit f47233c2d34 ("x86/mm/ASLR: Propagate base load address
    calculation") causes PAGE_SIZE redefinition warnings for UML
    subarch builds. This is caused by added includes that were
    leftovers from previous patch versions are are not actually
    needed (especially page_types.h inlcude in module.c). Drop
    those stray includes.

    Reported-by: kbuild test robot
    Signed-off-by: Jiri Kosina
    Cc: Borislav Petkov
    Cc: H. Peter Anvin
    Cc: Kees Cook
    Link: http://lkml.kernel.org/r/alpine.LNX.2.00.1502201017240.28769@pobox.suse.cz
    Signed-off-by: Ingo Molnar

    Jiri Kosina
     
  • 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: Corey Minyard

    Corey Minyard
     
  • The seq_printf like functions will soon be changed to return void.

    Convert these uses to check seq_has_overflowed instead.

    Signed-off-by: Joe Perches
    Signed-off-by: Corey Minyard

    Joe Perches
     
  • 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: Takashi Iwai
    Signed-off-by: Corey Minyard

    Takashi Iwai
     
  • 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: Nicholas Krause
    Signed-off-by: Corey Minyard

    Nicholas Krause
     
  • 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: Arnd Bergmann
    Fixes: 7ea0ed2b5be81 ("ipmi: Make the message handler easier to use for SMI interfaces")
    Signed-off-by: Corey Minyard

    Arnd Bergmann
     
  • 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
    Signed-off-by: John Stultz
    Signed-off-by: Corey Minyard

    John Stultz
     
  • 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
    Signed-off-by: John Stultz
    Signed-off-by: Corey Minyard

    John Stultz
     
  • 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: Nicholas Krause
    Signed-off-by: Corey Minyard

    Nicholas Krause
     
  • 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: Wolfram Sang
    Signed-off-by: Corey Minyard

    Wolfram Sang
     
  • 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: Nicholas Krause
    Signed-off-by: Corey Minyard

    Corey Minyard
     
  • 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

    Linus Torvalds
     
  • 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 8a0516ed8b90
    ("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: David Vrabel
    Acked-by: Mel Gorman
    Signed-off-by: Linus Torvalds

    David Vrabel
     
  • 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
    ...

    Linus Torvalds
     
  • 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()
    ...

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • …/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
    ...

    Linus Torvalds
     
  • 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 and 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: Graham Whaley
    Signed-off-by: Jason Wessel

    Rajaneesh Acharya
     
  • 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
    Cc: kgdb-bugreport@lists.sourceforge.net
    Cc: linux-kernel@vger.kernel.org
    Cc: Android Kernel Team
    Cc: John Stultz
    Cc: Sumit Semwal
    Signed-off-by: Colin Cross
    [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: Kiran Raparthy
    Signed-off-by: Daniel Thompson
    Signed-off-by: Jason Wessel

    Colin Cross
     
  • 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: Daniel Thompson
    Signed-off-by: Jason Wessel

    Daniel Thompson
     
  • 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: Daniel Thompson
    Signed-off-by: Jason Wessel

    Daniel Thompson
     
  • 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: Daniel Thompson
    Signed-off-by: Jason Wessel

    Daniel Thompson
     
  • 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: Daniel Thompson
    Signed-off-by: Jason Wessel

    Daniel Thompson
     
  • 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 -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
    04d2c8c83d0e ("printk: convert the format for KERN_ 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: Daniel Thompson
    Cc: Joe Perches
    Cc: stable@vger.kernel.org
    Signed-off-by: Jason Wessel

    Daniel Thompson
     
  • 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
    Cc:
    Signed-off-by: Jason Wessel

    Jason Wessel
     
  • 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: Jay Lan
    Cc:
    Signed-off-by: Jason Wessel

    Jay Lan
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • - add Ilya, drop Yehuda as an RBD maintainer
    - add Zheng as a Ceph maintainer
    - update Yehuda and Sage's emails

    Signed-off-by: Sage Weil

    Sage Weil
     
  • 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

    Linus Torvalds