Skip to content
  1. Feb 20, 2015
    • 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 t...
      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
  2. Feb 09, 2015
    • Linus Torvalds's avatar
      Linux 3.19 · bfa76d49
      Linus Torvalds authored
      bfa76d49
    • Linus Torvalds's avatar
      Merge tag 'nios2-fixes-v3.19-final' of git://git.rocketboards.org/linux-socfpga-next · da2d96d3
      Linus Torvalds authored
      Pull nios2 fix from Ley Foon Tan:
       "This fixes incorrect behavior of some user programs"
      
      * tag 'nios2-fixes-v3.19-final' of git://git.rocketboards.org/linux-socfpga-next:
        nios2: fix unhandled signals
      da2d96d3
    • Linus Torvalds's avatar
      Merge git://git.kvack.org/~bcrl/aio-fixes · cdecbb33
      Linus Torvalds authored
      Pull aio nested sleep annotation from Ben LaHaise,
      
      * git://git.kvack.org/~bcrl/aio-fixes:
        aio: annotate aio_read_event_ring for sleep patterns
      cdecbb33
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.19-rc7' of... · 4e02370f
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull ftrace fixes from Steven Rostedt:
       "During testing Sedat Dilek hit a "suspicious RCU usage" splat that
        pointed out a real bug.  During suspend and resume the tlb_flush
        tracepoint is called when the CPU is going offline.  As the CPU has
        been noted as offline, RCU is ignoring that CPU, which means that it
        can not use RCU protected locks.  When tracepoints are activated, they
        require RCU locking, and if RCU is ignoring a CPU that runs a
        tracepoint, there is a chance that the tracepoint could cause
        corruption.
      
        The solution was to change the tracepoint into a
        TRACE_EVENT_CONDITION() which allows us to check a condition to
        determine if the tracepoint should be called or not.  If the condition
        is not met, the rcu protected code will not be executed.  By adding
        the condition "cpu_online(smp_processor_id())", this will prevent the
        RCU protected code from being executed if the CPU is marked offline.
      
        After adding this, another bug was discovered.  As RCU checks rcu
        callers, if a rcu call is not done, there is no check (obviously).  We
        found that tracepoints could be added in RCU ignored locations and not
        have lockdep complain until the tracepoint is activated.  This missed
        places where tracepoints were added in places they should not have
        been.  To fix this, code was added in 3.18 that if lockdep is enabled,
        any tracepoint will still call the rcu checks even if the tracepoint
        is not enabled.  The bug here, is that the check does not take the
        CONDITION into account.  As the condition may prevent tracepoints from
        being activated in RCU ignored areas (as the one patch does), we get
        false positives when we enable lockdep and hit a tracepoint that the
        condition prevents it from being called in a RCU ignored location.
      
        The fix for this is to add the CONDITION to the rcu checks, even if
        the tracepoint is not enabled"
      
      * tag 'trace-fixes-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        x86/tlb/trace: Do not trace on CPU that is offline
        tracing: Add condition check to RCU lockdep checks
      4e02370f
    • Chung-Ling Tang's avatar
      nios2: fix unhandled signals · a3248d60
      Chung-Ling Tang authored
      
      
      Follow other architectures for user fault handling.
      
      Signed-off-by: default avatarChung-Ling Tang <cltang@codesourcery.com>
      Acked-by: default avatarLey Foon Tan <lftan@altera.com>
      a3248d60
  3. Feb 08, 2015
    • Steven Rostedt (Red Hat)'s avatar
      x86/tlb/trace: Do not trace on CPU that is offline · 6c8465a8
      Steven Rostedt (Red Hat) authored
      When taking a CPU down for suspend and resume, a tracepoint may be called
      when the CPU has been designated offline. As tracepoints require RCU for
      protection, they must not be called if the current CPU is offline.
      
      Unfortunately, trace_tlb_flush() is called in this scenario as was noted
      by LOCKDEP:
      
      ...
      
       Disabling non-boot CPUs ...
       intel_pstate CPU 1 exiting
      
       ===============================
       smpboot: CPU 1 didn't die...
       [ INFO: suspicious RCU usage. ]
       3.19.0-rc7-next-20150204.1-iniza-small #1 Not tainted
       -------------------------------
       include/trace/events/tlb.h:35 suspicious rcu_dereference_check() usage!
      
       other info that might help us debug this:
      
       RCU used illegally from offline CPU!
       rcu_scheduler_active = 1, debug_locks = 0
       no locks held by swapper/1/0.
      
       stack backtrace:
       CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.19.0-rc7-next-20150204.1-iniza-small #1
       Hardware name: SAMSUNG ELECTRONICS CO., LTD. 530U3BI/530U4BI/530U4BH/530U3BI/530U4BI/530U4BH, BIOS 13XK 03/28/2013
        0000000000000001 ffff88011a44fe18 ffffffff817e370d 0000000000000011
        ffff88011a448290 ffff88011a44fe48 ffffffff810d6847 ffff8800c66b9600
        0000000000000001 ffff88011a44c000 ffffffff81cb3900 ffff88011a44fe78
       Call Trace:
        [<ffffffff817e370d>] dump_stack+0x4c/0x65
        [<ffffffff810d6847>] lockdep_rcu_suspicious+0xe7/0x120
        [<ffffffff810b71a5>] idle_task_exit+0x205/0x2c0
        [<ffffffff81054c4e>] play_dead_common+0xe/0x50
        [<ffffffff81054ca5>] native_play_dead+0x15/0x140
        [<ffffffff8102963f>] arch_cpu_idle_dead+0xf/0x20
        [<ffffffff810cd89e>] cpu_startup_entry+0x37e/0x580
        [<ffffffff81053e20>] start_secondary+0x140/0x150
       intel_pstate CPU 2 exiting
      
      ...
      
      By converting the tlb_flush tracepoint to a TRACE_EVENT_CONDITION where the
      condition is cpu_online(smp_processor_id()), we can avoid calling RCU protected
      code when the CPU is offline.
      
      Link: http://lkml.kernel.org/r/CA+icZUUGiGDoL5NU8RuxKzFjoLjEKRtUWx=JB8B9a0EQv-eGzQ@mail.gmail.com
      
      Cc: stable@vger.kernel.org # 3.17+
      Fixes: d17d8f9d
      
       "x86/mm: Add tracepoints for TLB flushes"
      Reported-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Tested-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Suggested-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Acked-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Acked-by: default avatarDave Hansen <dave@sr71.net>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      6c8465a8
    • Steven Rostedt (Red Hat)'s avatar
      tracing: Add condition check to RCU lockdep checks · a05d59a5
      Steven Rostedt (Red Hat) authored
      The trace_tlb_flush() tracepoint can be called when a CPU is going offline.
      When a CPU is offline, RCU is no longer watching that CPU and since the
      tracepoint is protected by RCU, it must not be called. To prevent the
      tlb_flush tracepoint from being called when the CPU is offline, it was
      converted to a TRACE_EVENT_CONDITION where the condition checks if the
      CPU is online before calling the tracepoint.
      
      Unfortunately, this was not enough to stop lockdep from complaining about
      it. Even though the RCU protected code of the tracepoint will never be
      called, the condition is hidden within the tracepoint, and even though the
      condition prevents RCU code from being called, the lockdep checks are
      outside the tracepoint (this is to test tracepoints even when they are not
      enabled).
      
      Even though tracepoints should be checked to be RCU safe when they are not
      enabled, the condition should still be considered when checking RCU.
      
      Link: http://lkml.kernel.org/r/CA+icZUUGiGDoL5NU8RuxKzFjoLjEKRtUWx=JB8B9a0EQv-eGzQ@mail.gmail.com
      
      Fixes: 3a630178
      
       "tracing: generate RCU warnings even when tracepoints are disabled"
      Cc: stable@vger.kernel.org # 3.18+
      Acked-by: default avatarDave Hansen <dave@sr71.net>
      Reported-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Tested-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      a05d59a5
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 0b1ce1a8
      Linus Torvalds authored
      Pull one more infiniband revert from Roland Dreier:
       "One more last-second RDMA change for 3.19: Yann realized that the
        previous revert of new userspace ABI did not go far enough, and we're
        still exposing a change that we don't want.  Revert even closer to
        3.18 interface to make sure we get things right in the long run"
      
      Yann Droneaud pipes up:
       "I hope this could go in v3.19 as, at this stage, we don't want to
        expose any bits of this ABI in a released kernel"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        Revert "IB/core: Add support for extended query device caps"
      0b1ce1a8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · bdfeb5a1
      Linus Torvalds authored
      Pull btrfs fix from Chris Mason:
       "Forrest Liu tracked down a missing blk_finish_plug in the btrfs
        logging code.  This isn't a new bug, and it's hard to hit.  But, it's
        safe enough for inclusion now, and in my for-linus branch"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: add missing blk_finish_plug in btrfs_sync_log()
      bdfeb5a1
  4. Feb 07, 2015
    • Linus Torvalds's avatar
      Merge branches 'timers-urgent-for-linus' and 'x86-urgent-for-linus' of... · 26cdd1f7
      Linus Torvalds authored
      Merge branches 'timers-urgent-for-linus' and 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull timer and x86 fix from Ingo Molnar:
       "A CLOCK_TAI early expiry fix and an x86 microcode driver oops fix"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        hrtimer: Fix incorrect tai offset calculation for non high-res timer systems
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, microcode: Return error from driver init code when loader is disabled
      26cdd1f7
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 396e9099
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Misc fixes"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/deadline: Fix deadline parameter modification handling
        sched/wait: Remove might_sleep() from wait_event_cmd()
        sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cpumask
        sched/fair: Avoid using uninitialized variable in preferred_group_nid()
      396e9099
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 29f12c48
      Linus Torvalds authored
      Pull core kernel fixes from Ingo Molnar:
       "Two liblockdep fixes and a CPU hotplug race fix"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools/liblockdep: don't include host headers
        tools/liblockdep: ignore generated .so file
        smpboot: Add missing get_online_cpus() in smpboot_register_percpu_thread()
      29f12c48
    • Linus Torvalds's avatar
      Merge tag 'sound-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 2af613d3
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Hopefully the final pull request for 3.19: this ended up with a
        slightly higher volume than wished, but I put them all as they are
        either stable or 3.19 regression fixes.
      
        Most of commits are from ASoC, and have been stewed for a while in
        linux-next.  The only change in the common code is the regression
        fixes for ASoC AC97 stuff wrt device registrations.  The rest are
        device-specific, mostly small fixes in various ASoC drivers and ak411x
        on ice1724 boards"
      
      * tag 'sound-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ASoC: Intel: fix sst firmware path for cht-bsw-rt5672
        ARM: dts: Fix I2S1, I2S2 compatible for exynos4 SoCs
        ASoC: sgtl5000: add delay before first I2C access
        MAINTAINERS: ASoC: add maintainer for Intel BDW/HSW ASoC driver
        ASoC: atmel_ssc_dai: fix the setting for DSP mode
        ASoC: sgtl5000: Use shift mask when setting codec mode
        ASoC: tlv320aic3x: Fix data delay configuration
        ALSA: ak411x: Fix stall in work callback
        ASoC: Intel: Used lock version to update shim registers
        ASoC: wm8731: init mutex in i2c init path
        ASoC: atmel_ssc_dai: fix start event for I2S mode
        ASoC: rt5640: Add RT5642 ACPI ID for Intel Baytrail
        ASoC: wm97xx: Reset AC'97 device before registering it
        ASoC: Add support for allocating AC'97 device before registering it
      2af613d3
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew Morton) · 48beb121
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "7 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm/debug_pagealloc: fix build failure on ppc and some other archs
        nilfs2: fix deadlock of segment constructor over I_SYNC flag
        MAINTAINERS: remove SUPERH website
        memcg, shmem: fix shmem migration to use lrucare
        mm: export "high_memory" symbol on !MMU
        .mailmap: update Konstantin Khlebnikov's email address
        mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range
      48beb121
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · dbf3b7dd
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "The pending MIPS fixes for 3.19.  All across the field and nothing
        particularly severe or dramatic"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (23 commits)
        IRQCHIP: mips-gic: Avoid rerouting timer IRQs for smp-cmp
        MIPS: Fix syscall_get_nr for the syscall exit tracing.
        MIPS: elf2ecoff: Ignore PT_MIPS_ABIFLAGS program headers.
        MIPS: elf2ecoff: Rewrite main processing loop to switch.
        MIPS: fork: Fix MSA/FPU/DSP context duplication race
        MIPS: Fix C0_Pagegrain[IEC] support.
        MIPS: traps: Fix inline asm ctc1 missing .set hardfloat
        MIPS: mipsregs.h: Add write_32bit_cp1_register()
        MIPS: Fix kernel lockup or crash after CPU offline/online
        MIPS: OCTEON: fix kernel crash when offlining a CPU
        MIPS: ARC: Fix build error.
        MIPS: IRQ: Fix disable_irq on CPU IRQs
        MIPS: smp-mt,smp-cmp: Enable all HW IRQs on secondary CPUs
        MIPS: Fix restart of indirect syscalls
        MIPS: ELF: fix loading o32 binaries on 64-bit kernels
        MIPS: mips-cm: Fix sparse warnings
        MIPS: Kconfig: Fix recursive dependency.
        MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.
        MIPS: JZ4740: Fixup #include's (sparse)
        MIPS: Wire up execveat(2).
        ...
      dbf3b7dd
  5. Feb 06, 2015
    • Yann Droneaud's avatar
      Revert "IB/core: Add support for extended query device caps" · 43c61165
      Yann Droneaud authored
      While commit 7e36ef82 ("IB/core: Temporarily disable
      ex_query_device uverb") is correct as it makes the extended
      QUERY_DEVICE uverb (which came as part of commit 5a77abf9
      ("IB/core: Add support for extended query device caps") and commit
      860f10a7 ("IB/core: Add flags for on demand paging support")) not
      available to userspace, it doesn't address the initial issue regarding
      ib_copy_to_udata() [1][2].
      
      Additionally, further discussions around this new uverb seems to
      conclude it would require a different data structure than the one
      currently described in <rdma/ib_user_verbs.h> [3].
      
      Both of these issues require a revert of the changes, so this patch
      partially reverts commit 8cdd312c ("IB/mlx5: Implement the ODP
      capability query verb") and commit 860f10a7 ("IB/core: Add flags
      for on demand paging support") and fully reverts commit 5a77abf9
      
      
      ("IB/core: Add support for extended query device caps").
      
      [1] "Re: [PATCH v3 06/17] IB/core: Add support for extended query device caps"
          http://mid.gmane.org/1418733236.2779.26.camel@opteya.com
      
      [2] "Re: [PATCH] IB/core: Temporarily disable ex_query_device uverb"
          http://mid.gmane.org/1423067503.3030.83.camel@opteya.com
      
      [3] "RE: [PATCH v1 1/5] IB/uverbs: ex_query_device: answer must not depend on request's comp_mask"
          http://mid.gmane.org/2807E5FD2F6FDA4886F6618EAC48510E0CC12C30@CRSMSX101.amr.corp.intel.com
      
      Cc: Eli Cohen <eli@mellanox.com>
      Cc: Haggai Eran <haggaie@mellanox.com>
      Cc: Ira Weiny <ira.weiny@intel.com>
      Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Cc: Sagi Grimberg <sagig@mellanox.com>
      Cc: Shachar Raindel <raindel@mellanox.com>
      Signed-off-by: default avatarYann Droneaud <ydroneaud@opteya.com>
      Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
      43c61165
    • Joonsoo Kim's avatar
      mm/debug_pagealloc: fix build failure on ppc and some other archs · 7b02190c
      Joonsoo Kim authored
      Kim Phillips reported following build failure.
      
        LD      init/built-in.o
        mm/built-in.o: In function `free_pages_prepare':
        mm/page_alloc.c:770: undefined reference to `.kernel_map_pages'
        mm/built-in.o: In function `prep_new_page':
        mm/page_alloc.c:933: undefined reference to `.kernel_map_pages'
        mm/built-in.o: In function `map_pages':
        mm/compaction.c:61: undefined reference to `.kernel_map_pages'
        make: *** [vmlinux] Error 1
      
      Reason for this problem is that commit 031bc574
      
      
      ("mm/debug-pagealloc: make debug-pagealloc boottime configurable")
      forgot to remove the old declaration of kernel_map_pages() for some
      architectures.  This patch removes them to fix build failure.
      
      Reported-by: default avatarKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7b02190c
    • Ryusuke Konishi's avatar
      nilfs2: fix deadlock of segment constructor over I_SYNC flag · 7ef3ff2f
      Ryusuke Konishi authored
      
      
      Nilfs2 eventually hangs in a stress test with fsstress program.  This
      issue was caused by the following deadlock over I_SYNC flag between
      nilfs_segctor_thread() and writeback_sb_inodes():
      
        nilfs_segctor_thread()
          nilfs_segctor_thread_construct()
            nilfs_segctor_unlock()
              nilfs_dispose_list()
                iput()
                  iput_final()
                    evict()
                      inode_wait_for_writeback()  * wait for I_SYNC flag
      
        writeback_sb_inodes()
           * set I_SYNC flag on inode->i_state
          __writeback_single_inode()
            do_writepages()
              nilfs_writepages()
                nilfs_construct_dsync_segment()
                  nilfs_segctor_sync()
                     * wait for completion of segment constructor
          inode_sync_complete()
             * clear I_SYNC flag after __writeback_single_inode() completed
      
      writeback_sb_inodes() calls do_writepages() for dirty inodes after
      setting I_SYNC flag on inode->i_state.  do_writepages() in turn calls
      nilfs_writepages(), which can run segment constructor and wait for its
      completion.  On the other hand, segment constructor calls iput(), which
      can call evict() and wait for the I_SYNC flag on
      inode_wait_for_writeback().
      
      Since segment constructor doesn't know when I_SYNC will be set, it
      cannot know whether iput() will block or not unless inode->i_nlink has a
      non-zero count.  We can prevent evict() from being called in iput() by
      implementing sop->drop_inode(), but it's not preferable to leave inodes
      with i_nlink == 0 for long periods because it even defers file
      truncation and inode deallocation.  So, this instead resolves the
      deadlock by calling iput() asynchronously with a workqueue for inodes
      with i_nlink == 0.
      
      Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Tested-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7ef3ff2f
    • Sudip Mukherjee's avatar
      MAINTAINERS: remove SUPERH website · 81cca6fb
      Sudip Mukherjee authored
      
      
      The mentioned website only displays information about buying and selling
      domains.
      
      Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      81cca6fb
    • Michal Hocko's avatar
      memcg, shmem: fix shmem migration to use lrucare · f5e03a49
      Michal Hocko authored
      It has been reported that 965GM might trigger
      
        VM_BUG_ON_PAGE(!lrucare && PageLRU(oldpage), oldpage)
      
      in mem_cgroup_migrate when shmem wants to replace a swap cache page
      because of shmem_should_replace_page (the page is allocated from an
      inappropriate zone).  shmem_replace_page expects that the oldpage is not
      on LRU list and calls mem_cgroup_migrate without lrucare.  This is
      obviously incorrect because swapcache pages might be on the LRU list
      (e.g. swapin readahead page).
      
      Fix this by enabling lrucare for the migration in shmem_replace_page.
      Also clarify that lrucare should be used even if one of the pages might
      be on LRU list.
      
      The BUG_ON will trigger only when CONFIG_DEBUG_VM is enabled but even
      without that the migration code might leave the old page on an
      inappropriate memcg' LRU which is not that critical because the page
      would get removed with its last reference but it is still confusing.
      
      Fixes: 0a31bc97
      
       ("mm: memcontrol: rewrite uncharge API")
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.cz>
      Reported-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reported-by: default avatarDave Airlie <airlied@gmail.com>
      Acked-by: default avatarHugh Dickins <hughd@google.com>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: <stable@vger.kernel.org>	[3.17+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f5e03a49
    • Arnd Bergmann's avatar
      mm: export "high_memory" symbol on !MMU · 944b6874
      Arnd Bergmann authored
      
      
      The symbol 'high_memory' is provided on both MMU- and NOMMU-kernels, but
      only one of them is exported, which leads to module build errors in
      drivers that work fine built-in:
      
        ERROR: "high_memory" [drivers/net/virtio_net.ko] undefined!
        ERROR: "high_memory" [drivers/net/ppp/ppp_mppe.ko] undefined!
        ERROR: "high_memory" [drivers/mtd/nand/nand.ko] undefined!
        ERROR: "high_memory" [crypto/tcrypt.ko] undefined!
        ERROR: "high_memory" [crypto/cts.ko] undefined!
      
      This exports the symbol to get these to work on NOMMU as well.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: default avatarGreg Ungerer <gerg@uclinux.org>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      944b6874
    • Kim Phillips's avatar
      .mailmap: update Konstantin Khlebnikov's email address · 21d543f2
      Kim Phillips authored
      
      
      get_maintainer.pl returns k.khlebnikov@samsung.com via git history, for
      which emails get rejected:
      
         RCPT TO:<k.khlebnikov@samsung.com>
         550 5.1.1 Recipient address rejected: User unknown
      
      Use his other address that passes vger's mxverify:
      
         RCPT TO:<koct9i@gmail.com>
         250 2.1.5 OK ir10si13843754pbc.62 - gsmtp
      
      and add his old email address in the wrong email address field.
      
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      Acked-by: default avatarKonstantin Khlebnikov <koct9i@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      21d543f2
    • Shiraz Hashim's avatar
      mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range · 23aaed66
      Shiraz Hashim authored
      walk_page_range() silently skips vma having VM_PFNMAP set, which leads
      to undesirable behaviour at client end (who called walk_page_range).
      Userspace applications get the wrong data, so the effect is like just
      confusing users (if the applications just display the data) or sometimes
      killing the processes (if the applications do something with
      misunderstanding virtual addresses due to the wrong data.)
      
      For example for pagemap_read, when no callbacks are called against
      VM_PFNMAP vma, pagemap_read may prepare pagemap data for next virtual
      address range at wrong index.
      
      Eventually userspace may get wrong pagemap data for a task.
      Corresponding to a VM_PFNMAP marked vma region, kernel may report
      mappings from subsequent vma regions.  User space in turn may account
      more pages (than really are) to the task.
      
      In my case I was using procmem, procrack (Android utility) which uses
      pagemap interface to account RSS pages of a task.  Due to this bug it
      was giving a wrong picture for vmas (with VM_PFNMAP set).
      
      Fixes: a9ff785e
      
       ("mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas")
      Signed-off-by: default avatarShiraz Hashim <shashim@codeaurora.org>
      Acked-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: <stable@vger.kernel.org>	[3.10+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      23aaed66
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-ac97-v3.19-rc7' of... · d2255c01
      Takashi Iwai authored
      Merge tag 'asoc-fix-ac97-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: AC'97 fixes
      
      These are rather too large for this late in the release cycle but
      they're clear, well understood and have been tested to fix a regression
      which was introduced for v3.19.  The details are all in Lars' changelog
      and they've been cooking in -next for a while, to a large extent out
      of conservatism about the size.
      d2255c01
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-intel-v3.19-rc7' of... · deb08737
      Takashi Iwai authored
      Merge tag 'asoc-fix-intel-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fix for Intel firmware name
      
      Another one liner that arrived after the earlier pull request.  There's
      a trivial conflict with my -next branch, I'll send a pull request with
      that resolution and some other new stuff before Monday.
      deb08737
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-v3.19-rc7' of... · 08c191de
      Takashi Iwai authored
      Merge tag 'asoc-fix-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fixes for v3.19
      
      A few last minute fixes for v3.19, all driver specific.  None of them
      stand out particularly - it's all the standard people who are affected
      will care stuff.
      
      The Samsung fix is a DT only fix for the audio controller, it's being
      merged via the ASoC tree due to process messups (the submitter sent it
      at the end of a tangentally related series rather than separately to the
      ARM folks) in order to make sure that it gets to people sooner.
      08c191de
    • Kevin Strasser's avatar
      ASoC: Intel: fix sst firmware path for cht-bsw-rt5672 · 5c2b0636
      Kevin Strasser authored
      
      
      All sst firmware is provided under the intel directory of the linux-firmware
      tree. By default this directory structure is kept when installing on a target
      system. Change the path to expect a default linux-firmware installation.
      
      Signed-off-by: default avatarKevin Strasser <kevin.strasser@linux.intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      5c2b0636
    • Mark Brown's avatar
    • Sylwester Nawrocki's avatar
      ARM: dts: Fix I2S1, I2S2 compatible for exynos4 SoCs · fddcd300
      Sylwester Nawrocki authored
      
      
      I2S1, I2S2 on Exynos4 SoC series have limited functionality compared
      to I2S0, "samsung,s3c6410-i2s" compatible should be used for them.
      
      Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      fddcd300
    • Mark Brown's avatar
    • Mark Brown's avatar