Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #32

Merged
merged 83 commits into from
Feb 9, 2015
Merged

Sync up with Linus #32

merged 83 commits into from
Feb 9, 2015

Commits on Jan 13, 2015

  1. MIPS: Do not fiddle with FRE unless FRE is actually available.

    Commit 4227a2d (MIPS: Support for hybrid
    FPRs) changes the kernel to execute read_c0_config5() even on processors
    that don't have a Config5 register.  According to the arch spec the
    behaviour of trying to read or write this register is UNDEFINED where this
    register doesn't exist, that is merely looking at this register is
    already cruel because that might kill a kitten.
    
    In case of Qemu older than v2.2 Qemu has elected to implement this
    UNDEFINED behaviour by taking a RI exception - which then fries the
    kernel:
    
    [...]
    Freeing YAMON memory: 956k freed
    Freeing unused kernel memory: 240K (80674000 - 806b0000)
    Reserved instruction in kernel code[#1]:
    CPU: 0 PID: 1 Comm: init Not tainted 3.18.0-rc6-00058-g4227a2d #26
    task: 86047588 ti: 86048000 task.ti: 86048000
    $ 0   : 00000000 77a638cc 00000000 00000000
    [...]
    
    For qemu v2.2.0 commit f31b035
    (target-mips: correctly handle access to unimplemented CP0 register)
    changed the behaviour to returning zero on read and ignoring writes
    which more matches how typical hardware implementations actually behave.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    b0c34f6 View commit details
    Browse the repository at this point in the history
  2. MIPS: FRE: Use set/clear_c0_config5 instead of open coded sequences.

    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    d33e6fe View commit details
    Browse the repository at this point in the history
  3. MIPS: Update malta_defconfig to something that works out of the box.

    In particular the use of the antiquated PIX PATA drivers was a nuiscance
    since most userland has switched to the new /dev/sda drivers as well as
    the lack of EXT4.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    b8e7d19 View commit details
    Browse the repository at this point in the history
  4. MIPS: Wire up execveat(2).

    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    389cdc5 View commit details
    Browse the repository at this point in the history
  5. MIPS: JZ4740: Fixup #include's (sparse)

    Fixes sparse warnings:
    
      arch/mips/jz4740/irq.c:63:6: warning: symbol 'jz4740_irq_suspend' was not declared. Should it be static?
      arch/mips/jz4740/irq.c:69:6: warning: symbol 'jz4740_irq_resume' was not declared. Should it be static?
    
    Also, I've seen some elusive build errors on my automated build test
    where JZ4740_IRQ_BASE and NR_IRQS are missing, but I can't reproduce
    them manually for some reason. Anyway, mach-jz4740/irq.h should help us
    avoid relying on some implicit include.
    
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8724/
    Acked-by: Lars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    computersforpeace authored and ralfbaechle committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    942e22d View commit details
    Browse the repository at this point in the history
  6. MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.

    In that case nor __NR_seccomp_*_32 symbols will be defined in
    <asm/unistd.h> so the attempt to use it in kernel.seccomp.c will fail
    with:
    
    kernel/seccomp.c:565:2: error: '__NR_seccomp_read_32' undeclared here (not in a function)
      __NR_seccomp_read_32, __NR_seccomp_write_32, __NR_seccomp_exit_32, __NR_seccomp_sigreturn_32,
      ^
    kernel/seccomp.c:565:24: error: '__NR_seccomp_write_32' undeclared here (not in a function)
      __NR_seccomp_read_32, __NR_seccomp_write_32, __NR_seccomp_exit_32, __NR_seccomp_sigreturn_32,
                            ^
    kernel/seccomp.c:565:47: error: '__NR_seccomp_exit_32' undeclared here (not in a function)
      __NR_seccomp_read_32, __NR_seccomp_write_32, __NR_seccomp_exit_32, __NR_seccomp_sigreturn_32,
                                                   ^
    kernel/seccomp.c:565:69: error: '__NR_seccomp_sigreturn_32' undeclared here (not in a function)
      __NR_seccomp_read_32, __NR_seccomp_write_32, __NR_seccomp_exit_32, __NR_seccomp_sigreturn_32,
    
    Solved by changing the compat ABIs in kconfig to select MIPS32_COMPAT
    directly.  This also means the user no longer has to select MIPS32_COMPAT
    before being able to see the ABI options.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    78aaf95 View commit details
    Browse the repository at this point in the history
  7. MIPS: Kconfig: Fix recursive dependency.

    [...]
      HOSTCC  scripts/kconfig/zconf.tab.o
      HOSTLD  scripts/kconfig/conf
    arch/mips/Kconfig:2681:error: recursive dependency detected!
    arch/mips/Kconfig:2681:	symbol MIPS32_N32 depends on MIPS32_COMPAT
    arch/mips/Kconfig:2658:	symbol MIPS32_COMPAT is selected by MIPS32_N32
    
    Introduced by d74473b (MIPS: Compat: Fix
    build error if CONFIG_MIPS32_COMPAT but no compat ABI.)
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    c22eacf View commit details
    Browse the repository at this point in the history
  8. MIPS: mips-cm: Fix sparse warnings

    Sparse emits a bunch of warnings in mips-cm.h due to casting away of
    __iomem by the addr_gcr_*() functions:
    
    arch/mips/include/asm/mips-cm.h:134:1: warning: cast removes address space of expression
    
    And subsequent passing of the return values to __raw_readl() and
    __raw_writel() in the read_gcr_*() and write_gcr_*() functions:
    
    arch/mips/include/asm/mips-cm.h:134:1: warning: incorrect type in argument 2 (different address spaces)
    arch/mips/include/asm/mips-cm.h:134:1:    expected void volatile [noderef] <asn:2>*mem
    arch/mips/include/asm/mips-cm.h:134:1:    got unsigned int [usertype] *
    arch/mips/include/asm/mips-cm.h:134:1: warning: incorrect type in argument 1 (different address spaces)
    arch/mips/include/asm/mips-cm.h:134:1:    expected void const volatile [noderef] <asn:2>*mem
    arch/mips/include/asm/mips-cm.h:134:1:    got unsigned int [usertype] *
    
    Fix by adding __iomem to the addr_gcr_*() return type and cast.
    
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8874/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    James Hogan authored and ralfbaechle committed Jan 13, 2015
    Configuration menu
    Copy the full SHA
    5008392 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2015

  1. MIPS: ELF: fix loading o32 binaries on 64-bit kernels

    Commit 90cee75 ("MIPS: ELF: Set FP mode according to .MIPS.abiflags")
    introduced checking of the .MIPS.abiflags ELF section but did so through
    the native sized "elfhdr" and "elf_phdr" structures regardless whether the
    ELF was actually 32-bit or 64-bit. This produces wrong results when trying
    to use a 64-bit kernel to load o32 ELF files.
    
    Change the uses of the generic elf structures to their 32-bit versions.
    Since the code bails out on any 64-bit cases, this is OK until they are
    implemented.
    
    Fixes: 90cee75 ("MIPS: ELF: Set FP mode according to .MIPS.abiflags")
    Signed-off-by: James Cowgill <James.Cowgill@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: Paul Burton <paul.burton@imgtec.com>
    Reviewed-by: Maciej W. Rozycki <macro@linux-mips.org>
    Patchwork: https://patchwork.linux-mips.org/patch/8932/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    jcowgill authored and ralfbaechle committed Jan 15, 2015
    Configuration menu
    Copy the full SHA
    fd75a33 View commit details
    Browse the repository at this point in the history
  2. MIPS: Fix restart of indirect syscalls

    When 32-bit MIPS userspace invokes a syscall indirectly via syscall(number,
    arg1, ..., arg7), the kernel looks up the actual syscall based on the given
    number, shifts the other arguments to the left, and jumps to the syscall.
    
    If the syscall is interrupted by a signal and indicates it needs to be
    restarted by the kernel (by returning ERESTARTNOINTR for example), the
    syscall must be called directly, since the number is no longer the first
    argument, and the other arguments are now staged for a direct call.
    
    Before shifting the arguments, store the syscall number in pt_regs->regs[2].
    This gets copied temporarily into pt_regs->regs[0] after the syscall returns.
    If the syscall needs to be restarted, handle_signal()/do_signal() copies the
    number back to pt_regs->reg[2], which ends up in $v0 once control returns to
    userspace.
    
    Signed-off-by: Ed Swierk <eswierk@skyportsystems.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8929/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Ed Swierk authored and ralfbaechle committed Jan 15, 2015
    Configuration menu
    Copy the full SHA
    e967ef0 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2015

  1. MIPS: smp-mt,smp-cmp: Enable all HW IRQs on secondary CPUs

    Commit 18743d2 ("irqchip: mips-gic: Stop using per-platform mapping
    tables") in v3.19-rc1 changed the routing of IPIs through the GIC to go
    to the HW0 IRQ pin along with the rest of the GIC interrupts, rather
    than to HW1 and HW2 pins.
    
    This breaks SMP boot using the CMP or MT SMP implementations because HW0
    doesn't get unmasked when secondary CPUs are initialised so the IPIs
    will never interrupt secondary CPUs (nor any other interrupts routed
    through the GIC).
    
    Commit ff1e29a ("MIPS: smp-cps: Enable all hardware interrupts on
    secondary CPUs") fixed this in advance for the CPS SMP implementation by
    unmasking all hardware interrupt lines for secondary CPUs, so lets do
    the same for the CMP and MT implementations.
    
    Fixes: 18743d2 ("irqchip: mips-gic: Stop using per-platform mapping tables")
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Cc: Andrew Bresticker <abrestic@chromium.org>
    Cc: Qais Yousef <qais.yousef@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9025/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    James Hogan authored and ralfbaechle committed Jan 16, 2015
    Configuration menu
    Copy the full SHA
    c3f134f View commit details
    Browse the repository at this point in the history
  2. MIPS: IRQ: Fix disable_irq on CPU IRQs

    If the irq_chip does not define .irq_disable, any call to disable_irq
    will defer disabling the IRQ until it fires while marked as disabled.
    This assumes that the handler function checks for this condition, which
    handle_percpu_irq does not. In this case, calling disable_irq leads to
    an IRQ storm, if the interrupt fires while disabled.
    
    This optimization is only useful when disabling the IRQ is slow, which
    is not true for the MIPS CPU IRQ.
    
    Disable this optimization by implementing .irq_disable and .irq_enable
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Cc: stable@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8949/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Felix Fietkau authored and ralfbaechle committed Jan 16, 2015
    Configuration menu
    Copy the full SHA
    a3e6c1e View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2015

  1. MIPS: ARC: Fix build error.

    [...]
     struct component {
            ^
    In file included from ./arch/mips/include/asm/sn/klconfig.h:58:0,
                     from ./arch/mips/include/asm/sn/module.h:12,
                     from ./arch/mips/include/asm/sn/node.h:8,
                     from ./arch/mips/include/asm/mach-ip35/mmzone.h:4,
                     from ./arch/mips/include/asm/mmzone.h:9,
                     from ./arch/mips/include/asm/mach-ip35/topology.h:7,
                     from ./arch/mips/include/asm/topology.h:11,
                     from include/linux/topology.h:35,
                     from include/linux/gfp.h:8,
                     from include/linux/device.h:29,
                     from drivers/base/component.c:14:
    ./arch/mips/include/asm/fw/arc/hinv.h:122:16: note: originally defined here
     typedef struct component {
                    ^
    make[2]: *** [drivers/base/component.o] Error 1
    make[2]: Target `__build' not remade because of errors.
    make[1]: *** [drivers/base] Error 2
    make[1]: Target `__build' not remade because of errors.
    
    Fix by using an nameless struct definition in the COMPONENT definition.
    Which is what the ARC spec uses anyway.  While at it, do the same thing
    for two other typedefs.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Jan 19, 2015
    Configuration menu
    Copy the full SHA
    9300071 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2015

  1. smpboot: Add missing get_online_cpus() in smpboot_register_percpu_thr…

    …ead()
    
    The following race exists in the smpboot percpu threads management:
    
    CPU0	      	   	     CPU1
    cpu_up(2)
      get_online_cpus();
      smpboot_create_threads(2);
    			     smpboot_register_percpu_thread();
    			     for_each_online_cpu();
    			       __smpboot_create_thread();
      __cpu_up(2);
    
    This results in a missing per cpu thread for the newly onlined cpu2 and
    in a NULL pointer dereference on a consecutive offline of that cpu.
    
    Proctect smpboot_register_percpu_thread() with get_online_cpus() to
    prevent that.
    
    [ tglx: Massaged changelog and removed the change in
            smpboot_unregister_percpu_thread() because that's an
            optimization and therefor not stable material. ]
    
    Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: stable@vger.kernel.org
    Link: http://lkml.kernel.org/r/1406777421-12830-1-git-send-email-laijs@cn.fujitsu.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Lai Jiangshan authored and KAGA-KOKO committed Jan 23, 2015
    Configuration menu
    Copy the full SHA
    4bee968 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2015

  1. ASoC: Add support for allocating AC'97 device before registering it

    In some cases it is necessary to before additional operations after the
    device has been initialized and before the device is registered. This can
    for example be resetting the device.
    
    This patch introduces a new function snd_soc_alloc_ac97_codec() which is
    similar to snd_soc_new_ac97_codec() except that it does not register the
    device. Any users of snd_soc_alloc_ac97_codec() are responsible for calling
    device_add() manually.
    
    Fixes: 6794f70 ("ASoC: ac97: Drop delayed device registration")
    Reported-by: Manuel Lauss <manuel.lauss@gmail.com>
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Tested-by: Manuel Lauss <manuel.lauss@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    larsclausen authored and broonie committed Jan 26, 2015
    Configuration menu
    Copy the full SHA
    47e0394 View commit details
    Browse the repository at this point in the history
  2. ASoC: wm97xx: Reset AC'97 device before registering it

    The wm97xx touchscreen driver binds itself to the snd_ac97 device that gets
    registered by the CODEC driver and expects that the device has already been
    reset. Before commit 6794f70 ("ASoC: ac97: Drop delayed device
    registration") the device was only registered after the probe function of
    the CODEC driver had finished running, but starting with the mentioned
    commit the device is registered as soon as snd_soc_new_ac97_codec() is
    called. This causes the touchscreen driver to no longer work. Modify the
    CODEC drivers to use snd_soc_alloc_ac97_codec() instead of
    snd_soc_new_ac97_codec() and make sure that the AC'97 device is reset before
    the snd_ac97 device gets registered.
    
    Fixes: 6794f70 ("ASoC: ac97: Drop delayed device registration")
    Reported-by: Manuel Lauss <manuel.lauss@gmail.com>
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Tested-by: Manuel Lauss <manuel.lauss@gmail.com>
    Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    larsclausen authored and broonie committed Jan 26, 2015
    Configuration menu
    Copy the full SHA
    f8d71be View commit details
    Browse the repository at this point in the history
  3. ASoC: rt5640: Add RT5642 ACPI ID for Intel Baytrail

    Asus T100TAF uses ACPI ID "10EC5642" for its audio codec. I suppose it is
    updated ACPI ID for the RT5642 codec since some earlier platforms are using
    "10EC5640" with the RT5642 too.
    
    Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    jhnikula authored and broonie committed Jan 26, 2015
    Configuration menu
    Copy the full SHA
    3463667 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2015

  1. ASoC: atmel_ssc_dai: fix start event for I2S mode

    According to the I2S specification information as following:
      - WS = 0, channel 1 (left)
      - WS = 1, channel 2 (right)
    So, the start event should be TF/RF falling edge.
    
    Reported-by: Songjun Wu <songjun.wu@atmel.com>
    Signed-off-by: Bo Shen <voice.shen@atmel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Bo Shen authored and broonie committed Jan 27, 2015
    Configuration menu
    Copy the full SHA
    a43bd7e View commit details
    Browse the repository at this point in the history
  2. ASoC: wm8731: init mutex in i2c init path

    The I2C init path forgot to init the mutex, leading to an oops when
    controls are accessed.
    
    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    mlauss2 authored and broonie committed Jan 27, 2015
    Configuration menu
    Copy the full SHA
    8a6cf30 View commit details
    Browse the repository at this point in the history
  3. ASoC: Intel: Used lock version to update shim registers

    We need hold lock each time updating shirm registers, otherwise,
    we may set unexpected values to them when they are set in
    different thread at different time sequence.
    
    The notification work will be scheduled in global work queue,
    which won't hold this sst->spinlock itself, so here we need
    change to use the lock version to update shim registers.
    
    Signed-off-by: Jie Yang <yang.jie@intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    keyonjie authored and broonie committed Jan 27, 2015
    Configuration menu
    Copy the full SHA
    09a34aa View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2015

  1. x86, microcode: Return error from driver init code when loader is dis…

    …abled
    
    Commits 65cef13 ("x86, microcode: Add a disable chicken bit") and
    a18a0f6 ("x86, microcode: Don't initialize microcode code on
    paravirt") allow microcode driver skip initialization when microcode
    loading is not permitted.
    
    However, they don't prevent the driver from being loaded since the
    init code returns 0. If at some point later the driver gets unloaded
    this will result in an oops while trying to deregister the (never
    registered) device.
    
    To avoid this, make init code return an error on paravirt or when
    microcode loading is disabled. The driver will then never be loaded.
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Link: http://lkml.kernel.org/r/1422411669-25147-1-git-send-email-boris.ostrovsky@oracle.com
    Reported-by: James Digwall <james@dingwall.me.uk>
    Cc: stable@vger.kernel.org # 3.18
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Boris Ostrovsky authored and suryasaimadhu committed Jan 28, 2015
    Configuration menu
    Copy the full SHA
    da63865 View commit details
    Browse the repository at this point in the history
  2. sched/fair: Avoid using uninitialized variable in preferred_group_nid()

    At least some gcc versions - validly afaict - warn about potentially
    using max_group uninitialized: There's no way the compiler can prove
    that the body of the conditional where it and max_faults get set/
    updated gets executed; in fact, without knowing all the details of
    other scheduler code, I can't prove this either.
    
    Generally the necessary change would appear to be to clear max_group
    prior to entering the inner loop, and break out of the outer loop when
    it ends up being all clear after the inner one. This, however, seems
    inefficient, and afaict the same effect can be achieved by exiting the
    outer loop when max_faults is still zero after the inner loop.
    
    [ mingo: changed the solution to zero initialization: uninitialized_var()
      needs to die, as it's an actively dangerous construct: if in the future
      a known-proven-good piece of code is changed to have a true, buggy
      uninitialized variable, the compiler warning is then supressed...
    
      The better long term solution is to clean up the code flow, so that
      even simple minded compilers (and humans!) are able to read it without
      getting a headache.  ]
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/54C2139202000078000588F7@mail.emea.novell.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    jbeulich authored and Ingo Molnar committed Jan 28, 2015
    Configuration menu
    Copy the full SHA
    8190747 View commit details
    Browse the repository at this point in the history
  3. sched: Fix crash if cpuset_cpumask_can_shrink() is passed an empty cp…

    …umask
    
    While creating an exclusive cpuset, we passed cpuset_cpumask_can_shrink()
    an empty cpumask (cur), and dl_bw_of(cpumask_any(cur)) made boom with it:
    
     CPU: 0 PID: 6942 Comm: shield.sh Not tainted 3.19.0-master #19
     Hardware name: MEDIONPC MS-7502/MS-7502, BIOS 6.00 PG 12/26/2007
     task: ffff880224552450 ti: ffff8800caab8000 task.ti: ffff8800caab8000
     RIP: 0010:[<ffffffff81073846>]  [<ffffffff81073846>] cpuset_cpumask_can_shrink+0x56/0xb0
     [...]
     Call Trace:
      [<ffffffff810cb82a>] validate_change+0x18a/0x200
      [<ffffffff810cc877>] cpuset_write_resmask+0x3b7/0x720
      [<ffffffff810c4d58>] cgroup_file_write+0x38/0x100
      [<ffffffff811d953a>] kernfs_fop_write+0x12a/0x180
      [<ffffffff8116e1a3>] vfs_write+0xb3/0x1d0
      [<ffffffff8116ed06>] SyS_write+0x46/0xb0
      [<ffffffff8159ced6>] system_call_fastpath+0x16/0x1b
    
    Signed-off-by: Mike Galbraith <umgwanakikbuti@gmail.com>
    Acked-by: Zefan Li <lizefan@huawei.com>
    Fixes: f82f804 ("sched/deadline: Ensure that updates to exclusive cpusets don't break AC")
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/1422417235.5716.5.camel@marge.simpson.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    umgwanakikbuti authored and Ingo Molnar committed Jan 28, 2015
    Configuration menu
    Copy the full SHA
    bb2bc55 View commit details
    Browse the repository at this point in the history
  4. ALSA: ak411x: Fix stall in work callback

    When ak4114 work calls its callback and the callback invokes
    ak4114_reinit(), it stalls due to flush_delayed_work().  For avoiding
    this, control the reentrance by introducing a refcount.  Also
    flush_delayed_work() is replaced with cancel_delayed_work_sync().
    
    The exactly same bug is present in ak4113.c and fixed as well.
    
    Reported-by: Pavel Hofman <pavel.hofman@ivitera.com>
    Acked-by: Jaroslav Kysela <perex@perex.cz>
    Tested-by: Pavel Hofman <pavel.hofman@ivitera.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    tiwai committed Jan 28, 2015
    Configuration menu
    Copy the full SHA
    4161b45 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2015

  1. Merge tag 'microcode_fix_for_3.19' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/bp/bp into x86/urgent
    
    Pull microcode fix from Borislav Petkov:
    
     "One final fix for 3.19 to address a wrongful deregistering of the
      microcode loader module."
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Jan 29, 2015
    Configuration menu
    Copy the full SHA
    6d84d1d View commit details
    Browse the repository at this point in the history
  2. MIPS: OCTEON: fix kernel crash when offlining a CPU

    octeon_cpu_disable() will unconditionally enable interrupts when called.
    We can assume that the routine is always called with interrupts disabled,
    so just delete the incorrect local_irq_disable/enable().
    
    The patch fixes the following crash when offlining a CPU:
    
    [   93.818785] ------------[ cut here ]------------
    [   93.823421] WARNING: CPU: 1 PID: 10 at kernel/smp.c:231 flush_smp_call_function_queue+0x1c4/0x1d0()
    [   93.836215] Modules linked in:
    [   93.839287] CPU: 1 PID: 10 Comm: migration/1 Not tainted 3.19.0-rc4-octeon-los_b5f0 #1
    [   93.847212] Stack : 0000000000000001 ffffffff81b2cf90 0000000000000004 ffffffff81630000
    	  0000000000000000 0000000000000000 0000000000000000 000000000000004a
    	  0000000000000006 ffffffff8117e550 0000000000000000 0000000000000000
    	  ffffffff81b30000 ffffffff81b26808 8000000032c77748 ffffffff81627e07
    	  ffffffff81595ec8 ffffffff81b26808 000000000000000a 0000000000000001
    	  0000000000000001 0000000000000003 0000000010008ce1 ffffffff815030c8
    	  8000000032cbbb38 ffffffff8113d42c 0000000010008ce1 ffffffff8117f36c
    	  8000000032c77300 8000000032cbba50 0000000000000001 ffffffff81503984
    	  0000000000000000 0000000000000000 0000000000000000 0000000000000000
    	  0000000000000000 ffffffff81121668 0000000000000000 0000000000000000
    	  ...
    [   93.912819] Call Trace:
    [   93.915273] [<ffffffff81121668>] show_stack+0x68/0x80
    [   93.920335] [<ffffffff81503984>] dump_stack+0x6c/0x90
    [   93.925395] [<ffffffff8113d58c>] warn_slowpath_common+0x94/0xd8
    [   93.931324] [<ffffffff811a402c>] flush_smp_call_function_queue+0x1c4/0x1d0
    [   93.938208] [<ffffffff811a4128>] hotplug_cfd+0xf0/0x108
    [   93.943444] [<ffffffff8115bacc>] notifier_call_chain+0x5c/0xb8
    [   93.949286] [<ffffffff8113d704>] cpu_notify+0x24/0x60
    [   93.954348] [<ffffffff81501738>] take_cpu_down+0x38/0x58
    [   93.959670] [<ffffffff811b343c>] multi_cpu_stop+0x154/0x180
    [   93.965250] [<ffffffff811b3768>] cpu_stopper_thread+0xd8/0x160
    [   93.971093] [<ffffffff8115ea4c>] smpboot_thread_fn+0x1ec/0x1f8
    [   93.976936] [<ffffffff8115ab04>] kthread+0xd4/0xf0
    [   93.981735] [<ffffffff8111c4f0>] ret_from_kernel_thread+0x14/0x1c
    [   93.987835]
    [   93.989326] ---[ end trace c9e3815ee655bda9 ]---
    [   93.993951] Kernel bug detected[#1]:
    [   93.997533] CPU: 1 PID: 10 Comm: migration/1 Tainted: G        W      3.19.0-rc4-octeon-los_b5f0 #1
    [   94.006591] task: 8000000032c77300 ti: 8000000032cb8000 task.ti: 8000000032cb8000
    [   94.014081] $ 0   : 0000000000000000 0000000010000ce1 0000000000000001 ffffffff81620000
    [   94.022146] $ 4   : 8000000002c72ac0 0000000000000000 00000000000001a7 ffffffff813b06f0
    [   94.030210] $ 8   : ffffffff813b20d8 0000000000000000 0000000000000000 ffffffff81630000
    [   94.038275] $12   : 0000000000000087 0000000000000000 0000000000000086 0000000000000000
    [   94.046339] $16   : ffffffff81623168 0000000000000001 0000000000000000 0000000000000008
    [   94.054405] $20   : 0000000000000001 0000000000000001 0000000000000001 0000000000000003
    [   94.062470] $24   : 0000000000000038 ffffffff813b7f10
    [   94.070536] $28   : 8000000032cb8000 8000000032cbbc20 0000000010008ce1 ffffffff811bcaf4
    [   94.078601] Hi    : 0000000000f188e8
    [   94.082179] Lo    : d4fdf3b646c09d55
    [   94.085760] epc   : ffffffff811bc9d0 irq_work_run_list+0x8/0xf8
    [   94.091686]     Tainted: G        W
    [   94.095613] ra    : ffffffff811bcaf4 irq_work_run+0x34/0x60
    [   94.101192] Status: 10000ce3	KX SX UX KERNEL EXL IE
    [   94.106235] Cause : 40808034
    [   94.109119] PrId  : 000d9301 (Cavium Octeon II)
    [   94.113653] Modules linked in:
    [   94.116721] Process migration/1 (pid: 10, threadinfo=8000000032cb8000, task=8000000032c77300, tls=0000000000000000)
    [   94.127168] Stack : 8000000002c74c80 ffffffff811a4128 0000000000000001 ffffffff81635720
    	  fffffffffffffff2 ffffffff8115bacc 80000000320fbce0 80000000320fbca4
    	  80000000320fbc80 0000000000000002 0000000000000004 ffffffff8113d704
    	  80000000320fbce0 ffffffff81501738 0000000000000003 ffffffff811b343c
    	  8000000002c72aa0 8000000002c72aa8 ffffffff8159cae8 ffffffff8159caa0
    	  ffffffff81650000 80000000320fbbf0 80000000320fbc80 ffffffff811b32e8
    	  0000000000000000 ffffffff811b3768 ffffffff81622b80 ffffffff815148a8
    	  8000000032c77300 8000000002c73e80 ffffffff815148a8 8000000032c77300
    	  ffffffff81622b80 ffffffff815148a8 8000000032c77300 ffffffff81503f48
    	  ffffffff8115ea0c ffffffff81620000 0000000000000000 ffffffff81174d64
    	  ...
    [   94.192771] Call Trace:
    [   94.195222] [<ffffffff811bc9d0>] irq_work_run_list+0x8/0xf8
    [   94.200802] [<ffffffff811bcaf4>] irq_work_run+0x34/0x60
    [   94.206036] [<ffffffff811a4128>] hotplug_cfd+0xf0/0x108
    [   94.211269] [<ffffffff8115bacc>] notifier_call_chain+0x5c/0xb8
    [   94.217111] [<ffffffff8113d704>] cpu_notify+0x24/0x60
    [   94.222171] [<ffffffff81501738>] take_cpu_down+0x38/0x58
    [   94.227491] [<ffffffff811b343c>] multi_cpu_stop+0x154/0x180
    [   94.233072] [<ffffffff811b3768>] cpu_stopper_thread+0xd8/0x160
    [   94.238914] [<ffffffff8115ea4c>] smpboot_thread_fn+0x1ec/0x1f8
    [   94.244757] [<ffffffff8115ab04>] kthread+0xd4/0xf0
    [   94.249555] [<ffffffff8111c4f0>] ret_from_kernel_thread+0x14/0x1c
    [   94.255654]
    [   94.257146]
    Code: a2423c40  40026000  30420001 <00020336> dc820000  10400037  00000000  0000010f  0000010f
    [   94.267183] ---[ end trace c9e3815ee655bdaa ]---
    [   94.271804] Fatal exception: panic in 5 seconds
    
    Reported-by: Hemmo Nieminen <hemmo.nieminen@iki.fi>
    Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
    Acked-by: David Daney <david.daney@cavium.com>
    Cc: stable@vger.kernel.org # v3.18+
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8952/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    aakoskin authored and ralfbaechle committed Jan 29, 2015
    Configuration menu
    Copy the full SHA
    63a87fe View commit details
    Browse the repository at this point in the history
  3. MIPS: Fix kernel lockup or crash after CPU offline/online

    As printk() invocation can cause e.g. a TLB miss, printk() cannot be
    called before the exception handlers have been properly initialized.
    This can happen e.g. when netconsole has been loaded as a kernel module
    and the TLB table has been cleared when a CPU was offline.
    
    Call cpu_report() in start_secondary() only after the exception handlers
    have been initialized to fix this.
    
    Without the patch the kernel will randomly either lockup or crash
    after a CPU is onlined and the console driver is a module.
    
    Signed-off-by: Hemmo Nieminen <hemmo.nieminen@iki.fi>
    Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: stable@vger.kernel.org
    Cc: David Daney <david.daney@cavium.com>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8953/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    trhd authored and ralfbaechle committed Jan 29, 2015
    Configuration menu
    Copy the full SHA
    c7754e7 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2015

  1. tools/liblockdep: ignore generated .so file

    Signed-off-by: Baruch Siach <baruch@tkos.co.il>
    Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
    baruchsiach authored and sashalevin committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    7728b35 View commit details
    Browse the repository at this point in the history
  2. tools/liblockdep: don't include host headers

    Adding host headers to include path may cause unexpected surprises when cross
    compiling. Remove /usr/local/include from the default include path.
    
    Signed-off-by: Baruch Siach <baruch@tkos.co.il>
    Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
    baruchsiach authored and sashalevin committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    8baeccd View commit details
    Browse the repository at this point in the history
  3. ASoC: tlv320aic3x: Fix data delay configuration

    Fix the issue introduced by:
    3684940 ASoC: tlv320aic3x: Add TDM support
    
    The CTRLC register were not receiving the correct delay configuration,
    which will corrupt DSP_A audio mode.
    
    Fixes: 3684940 (ASoC: tlv320aic3x: Add TDM support)
    Reported-by: Pavel Machek <pavel@ucw.cz>
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Peter Ujfalusi authored and broonie committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    0b65ba9 View commit details
    Browse the repository at this point in the history
  4. ASoC: sgtl5000: Use shift mask when setting codec mode

    Shift the I2S mode value by the necessary amount before writing the
    registers. This makes Right Justified and PCM mode work in addition to
    the default Left Justified mode.
    
    Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    fbrozovic authored and broonie committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    9ee802e View commit details
    Browse the repository at this point in the history
  5. ASoC: atmel_ssc_dai: fix the setting for DSP mode

    When SCC work in DSP A mode, the data outputs/inputs are shift out on
    falling edge, the frame sync are sample on the rising edge.
    
    Reported-by: Songjun Wu <songjun.wu@atmel.com>
    Signed-off-by: Bo Shen <voice.shen@atmel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Bo Shen authored and broonie committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    20cf260 View commit details
    Browse the repository at this point in the history
  6. MIPS: mipsregs.h: Add write_32bit_cp1_register()

    Add a write_32bit_cp1_register() macro to compliment the
    read_32bit_cp1_register() macro. This is to abstract whether .set
    hardfloat needs to be used based on GAS_HAS_SET_HARDFLOAT.
    
    The implementation of _read_32bit_cp1_register() .sets mips1 due to
    failure of gas v2.19 to assemble cfc1 for Octeon (see commit
    25c3000 ("MIPS: Override assembler target architecture for
    octeon.")). I haven't copied this over to _write_32bit_cp1_register() as
    I'm uncertain whether it applies to ctc1 too, or whether anybody cares
    about that version of binutils any longer.
    
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: David Daney <david.daney@cavium.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9172/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    James Hogan authored and ralfbaechle committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    5e32033 View commit details
    Browse the repository at this point in the history
  7. MIPS: traps: Fix inline asm ctc1 missing .set hardfloat

    Commit 842dfc1 ("MIPS: Fix build with binutils 2.24.51+") in v3.18
    enabled -msoft-float and sprinkled ".set hardfloat" where necessary to
    use FP instructions. However it missed enable_restore_fp_context() which
    since v3.17 does a ctc1 with inline assembly, causing the following
    assembler errors on Mentor's 2014.05 toolchain:
    
    {standard input}: Assembler messages:
    {standard input}:2913: Error: opcode not supported on this processor: mips32r2 (mips32r2) `ctc1 $2,$31'
    scripts/Makefile.build:257: recipe for target 'arch/mips/kernel/traps.o' failed
    
    Fix that to use the new write_32bit_cp1_register() macro so that ".set
    hardfloat" is automatically added when -msoft-float is in use.
    
    Fixes 842dfc1 ("MIPS: Fix build with binutils 2.24.51+")
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: <stable@vger.kernel.org> # 3.18+, depends on "MIPS: mipsregs.h: Add write_32bit_cp1_register()"
    Patchwork: https://patchwork.linux-mips.org/patch/9173/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    James Hogan authored and ralfbaechle committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    d76e9b9 View commit details
    Browse the repository at this point in the history
  8. MIPS: Fix C0_Pagegrain[IEC] support.

    The following commits:
    
      5890f70 (MIPS: Use dedicated exception handler if CPU supports RI/XI exceptions)
      6575b1d (MIPS: kernel: cpu-probe: Detect unique RI/XI exceptions)
    
    break the kernel for *all* existing MIPS CPUs that implement the
    CP0_PageGrain[IEC] bit.  They cause the TLB exception handlers to be
    generated without the legacy execute-inhibit handling, but never set
    the CP0_PageGrain[IEC] bit to activate the use of dedicated exception
    vectors for execute-inhibit exceptions.  The result is that upon
    detection of an execute-inhibit violation, we loop forever in the TLB
    exception handlers instead of sending SIGSEGV to the task.
    
    If we are generating TLB exception handlers expecting separate
    vectors, we must also enable the CP0_PageGrain[IEC] feature.
    
    The bug was introduced in kernel version 3.17.
    
    Signed-off-by: David Daney <david.daney@cavium.com>
    Cc: <stable@vger.kernel.org>
    Cc: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/8880/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    daviddaney authored and ralfbaechle committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    9ead863 View commit details
    Browse the repository at this point in the history
  9. MIPS: fork: Fix MSA/FPU/DSP context duplication race

    There is a race in the MIPS fork code which allows the child to get a
    stale copy of parent MSA/FPU/DSP state that is active in hardware
    registers when the fork() is called. This is because copy_thread() saves
    the live register state into the child context only if the hardware is
    currently in use, apparently on the assumption that the hardware state
    cannot have been saved and disabled since the initial duplication of the
    task_struct. However preemption is certainly possible during this
    window.
    
    An example sequence of events is as follows:
    
    1) The parent userland process puts important data into saved floating
       point registers ($f20-$f31), which are then dirty compared to the
       process' stored context.
    
    2) The parent process calls fork() which does a clone system call.
    
    3) In the kernel, do_fork() -> copy_process() -> dup_task_struct() ->
       arch_dup_task_struct() (which uses the weakly defined default
       implementation). This duplicates the parent process' task context,
       which includes a stale version of its FP context from when it was
       last saved, probably some time before (1).
    
    4) At some point before copy_process() calls copy_thread(), such as when
       duplicating the memory map, the process is desceduled. Perhaps it is
       preempted asynchronously, or perhaps it sleeps while blocked on a
       mutex. The dirty FP state in the FP registers is saved to the parent
       process' context and the FPU is disabled.
    
    5) When the process is rescheduled again it continues copying state
       until it gets to copy_thread(), which checks whether the FPU is in
       use, so that it can copy that dirty state to the child process' task
       context. Because of the deschedule however the FPU is not in use, so
       the child process' context is left with stale FP context from the
       last time the parent saved it (some time before (1)).
    
    6) When the new child process is scheduled it reads the important data
       from the saved floating point register, and ends up doing a NULL
       pointer dereference as a result of the stale data.
    
    This use of saved floating point registers across function calls can be
    triggered fairly easily by explicitly using inline asm with a current
    (MIPS R2) compiler, but is far more likely to happen unintentionally
    with a MIPS R6 compiler where the FP registers are more likely to get
    used as scratch registers for storing non-fp data.
    
    It is easily fixed, in the same way that other architectures do it, by
    overriding the implementation of arch_dup_task_struct() to sync the
    dirty hardware state to the parent process' task context *prior* to
    duplicating it, rather than copying straight to the child process' task
    context in copy_thread(). Note, the FPU hardware is not disabled so the
    parent process may continue executing with the live register context,
    but now the child process is guaranteed to have an identical copy of it
    at that point.
    
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Reported-by: Matthew Fortune <matthew.fortune@imgtec.com>
    Tested-by: Markos Chandras <markos.chandras@imgtec.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9075/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    James Hogan authored and ralfbaechle committed Jan 30, 2015
    Configuration menu
    Copy the full SHA
    39148e9 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2015

  1. MAINTAINERS: ASoC: add maintainer for Intel BDW/HSW ASoC driver

    Adding myself as the Intel BDW/HSW ASoC driver maintainer.
    
    Signed-off-by: Jie Yang <yang.jie@intel.com>
    Acked-by: Liam Girdwood <lgirdwood@gmail.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    keyonjie authored and broonie committed Feb 2, 2015
    Configuration menu
    Copy the full SHA
    97fa99a View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2015

  1. sched/wait: Remove might_sleep() from wait_event_cmd()

    The patch e22b886 ("sched/wait: Add might_sleep() checks")
    introduced a bug in the raid5 subsystem.
    
    The function raid5_quiesce() (and resize_stripes()) uses the 'cmd'
    part to release and acquire a spinlock (so we call the sleep
    primitives in atomic context), and therefore we cannot do the
    might_sleep() check.
    
    Remove it.
    
    Fixes: e22b886 ("sched/wait: Add might_sleep() checks")
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/alpine.LRH.2.02.1502020935580.13510@file01.intranet.prod.int.rdu2.redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Mikulas Patocka authored and Ingo Molnar committed Feb 3, 2015
    Configuration menu
    Copy the full SHA
    3e87523 View commit details
    Browse the repository at this point in the history
  2. ASoC: sgtl5000: add delay before first I2C access

    To quote from section 1.3.1 of the data sheet:
    	The SGTL5000 has an internal reset that is deasserted
    	8 SYS_MCLK cycles after all power rails have been brought
    	up. After this time, communication can start
    
    	...
    	1.0us represents 8 SYS_MCLK cycles at the minimum 8.0 MHz SYS_MCLK.
    
    Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
    Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Eric Nelson authored and broonie committed Feb 3, 2015
    Configuration menu
    Copy the full SHA
    58cc9c9 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2015

  1. aio: annotate aio_read_event_ring for sleep patterns

    Under CONFIG_DEBUG_ATOMIC_SLEEP=y, aio_read_event_ring() will throw
    warnings like the following due to being called from wait_event
    context:
    
     WARNING: CPU: 0 PID: 16006 at kernel/sched/core.c:7300 __might_sleep+0x7f/0x90()
     do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff810d85a3>] prepare_to_wait_event+0x63/0x110
     Modules linked in:
     CPU: 0 PID: 16006 Comm: aio-dio-fcntl-r Not tainted 3.19.0-rc6-dgc+ #705
     Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
      ffffffff821c0372 ffff88003c117cd8 ffffffff81daf2bd 000000000000d8d8
      ffff88003c117d28 ffff88003c117d18 ffffffff8109beda ffff88003c117cf8
      ffffffff821c115e 0000000000000061 0000000000000000 00007ffffe4aa300
     Call Trace:
      [<ffffffff81daf2bd>] dump_stack+0x4c/0x65
      [<ffffffff8109beda>] warn_slowpath_common+0x8a/0xc0
      [<ffffffff8109bf56>] warn_slowpath_fmt+0x46/0x50
      [<ffffffff810d85a3>] ? prepare_to_wait_event+0x63/0x110
      [<ffffffff810d85a3>] ? prepare_to_wait_event+0x63/0x110
      [<ffffffff810bdfcf>] __might_sleep+0x7f/0x90
      [<ffffffff81db8344>] mutex_lock+0x24/0x45
      [<ffffffff81216b7c>] aio_read_events+0x4c/0x290
      [<ffffffff81216fac>] read_events+0x1ec/0x220
      [<ffffffff810d8650>] ? prepare_to_wait_event+0x110/0x110
      [<ffffffff810fdb10>] ? hrtimer_get_res+0x50/0x50
      [<ffffffff8121899d>] SyS_io_getevents+0x4d/0xb0
      [<ffffffff81dba5a9>] system_call_fastpath+0x12/0x17
     ---[ end trace bde69eaf655a4fea ]---
    
    There is not actually a bug here, so annotate the code to tell the
    debug logic that everything is just fine and not to fire a false
    positive.
    
    Signed-off-by: Dave Chinner <dchinner@redhat.com>
    Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
    Dave Chinner authored and bcrl committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    9c9ce76 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'liblockdep-fixes-3.19' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/sashal/linux into core/urgent
    
    Pull liblockdep fixes from Sasha Levin.
    
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    135818b View commit details
    Browse the repository at this point in the history
  3. sched/deadline: Fix deadline parameter modification handling

    Commit 67dfa1b ("sched/deadline: Implement cancel_dl_timer() to
    use in switched_from_dl()") removed the hrtimer_try_cancel() function
    call out from init_dl_task_timer(), which gets called from
    __setparam_dl().
    
    The result is that we can now re-init the timer while its active --
    this is bad and corrupts timer state.
    
    Furthermore; changing the parameters of an active deadline task is
    tricky in that you want to maintain guarantees, while immediately
    effective change would allow one to circumvent the CBS guarantees --
    this too is bad, as one (bad) task should not be able to affect the
    others.
    
    Rework things to avoid both problems. We only need to initialize the
    timer once, so move that to __sched_fork() for new tasks.
    
    Then make sure __setparam_dl() doesn't affect the current running
    state but only updates the parameters used to calculate the next
    scheduling period -- this guarantees the CBS functions as expected
    (albeit slightly pessimistic).
    
    This however means we need to make sure __dl_clear_params() needs to
    reset the active state otherwise new (and tasks flipping between
    classes) will not properly (re)compute their first instance.
    
    Todo: close class flipping CBS hole.
    Todo: implement delayed BW release.
    
    Reported-by: Luca Abeni <luca.abeni@unitn.it>
    Acked-by: Juri Lelli <juri.lelli@arm.com>
    Tested-by: Luca Abeni <luca.abeni@unitn.it>
    Fixes: 67dfa1b ("sched/deadline: Implement cancel_dl_timer() to use in switched_from_dl()")
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: <stable@vger.kernel.org>
    Cc: Kirill Tkhai <tkhai@yandex.ru>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20150128140803.GF23038@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Peter Zijlstra authored and Ingo Molnar committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    40767b0 View commit details
    Browse the repository at this point in the history
  4. MIPS: elf2ecoff: Rewrite main processing loop to switch.

    The if construct was getting hard to read and would be getting even more
    complex with the next bug fix.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    06a40ed View commit details
    Browse the repository at this point in the history
  5. MIPS: elf2ecoff: Ignore PT_MIPS_ABIFLAGS program headers.

    These are generated by very recent toolchains and result in an error
    message when attenpting to convert a kernel from ELF to ECOFF.
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    ralfbaechle committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    26f7c4b View commit details
    Browse the repository at this point in the history
  6. MIPS: Fix syscall_get_nr for the syscall exit tracing.

    Register 2 is alredy overwritten by the return value when
    syscall_trace_leave() is called.
    
    Signed-off-by: Lars Persson <larper@axis.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9187/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    larperaxis authored and ralfbaechle committed Feb 4, 2015
    Configuration menu
    Copy the full SHA
    c2d9f17 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2015

  1. Btrfs: add missing blk_finish_plug in btrfs_sync_log()

    Add missing blk_finish_plug in btrfs_sync_log()
    
    Signed-off-by: Forrest Liu <forrestl@synology.com>
    Reviewed-by: David Sterba <dsterba@suse.cz>
    Signed-off-by: Chris Mason <clm@fb.com>
    forrest1209 authored and masoncl committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    3da5ab5 View commit details
    Browse the repository at this point in the history
  2. hrtimer: Fix incorrect tai offset calculation for non high-res timer …

    …systems
    
    I noticed some CLOCK_TAI timer test failures on one of my
    less-frequently used configurations. And after digging in I
    found in 76f4108 (Cleanup hrtimer accessors to the
    timekepeing state), the hrtimer_get_softirq_time tai offset
    calucation was incorrectly rewritten, as the tai offset we
    return shold be from CLOCK_MONOTONIC, and not CLOCK_REALTIME.
    
    This results in CLOCK_TAI timers expiring early on non-highres
    capable machines.
    
    This patch fixes the issue, calculating the tai time properly
    from the monotonic base.
    
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: stable <stable@vger.kernel.org> # 3.17+
    Link: http://lkml.kernel.org/r/1423097126-10236-1-git-send-email-john.stultz@linaro.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    johnstultz-work authored and Ingo Molnar committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    2d926c1 View commit details
    Browse the repository at this point in the history
  3. IRQCHIP: mips-gic: Avoid rerouting timer IRQs for smp-cmp

    Commit e9de688 ("irqchip: mips-gic: Support local interrupts")
    changed the GIC irqchip driver so that all local interrupts were routed
    to the same CPU pin used for external interrupts. Unfortunately this
    causes a regression when smp-cmp is used. The CPUs are started by the
    bootloader and put in a timer based waiting poll loop, but when their
    timer interrupts are rerouted to a different IRQ pin which is not
    unmasked they never wake up.
    
    Since smp-cmp support is deprecated and everybody who was using it
    should be switching to smp-cps which brings up the secondary CPUs
    without bootloader assistance, I've gone for the simple fix which can be
    easily removed once smp-cmp is removed, rather than a fully generic fix.
    
    In __gic_init() the local GIC_VPE_TIMER_MAP register is read to find the
    boot-time routing of the local timer interrupt, and a chained handler is
    added to that CPU pin as well as the normal one.
    
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Fixes: e9de688 ("irqchip: mips-gic: Support local interrupts")
    Cc: Andrew Bresticker <abrestic@chromium.org>
    Cc: Qais Yousef <qais.yousef@imgtec.com>
    Cc: Paul Burton <paul.burton@imgtec.com>
    Cc: Jason Cooper <jason@lakedaemon.net>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-mips@linux-mips.org
    Reviewed-by: Andrew Bresticker <abrestic@chromium.org>
    Patchwork: https://patchwork.linux-mips.org/patch/9081/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    James Hogan authored and ralfbaechle committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    1b6af71 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8c61779 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    57e6ef3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    542af23 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4b871df View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    125e7f1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b2dde2f View commit details
    Browse the repository at this point in the history
  10. ARM: dts: Fix I2S1, I2S2 compatible for exynos4 SoCs

    I2S1, I2S2 on Exynos4 SoC series have limited functionality compared
    to I2S0, "samsung,s3c6410-i2s" compatible should be used for them.
    
    Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    Sylwester Nawrocki authored and broonie committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    fddcd30 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    c503ca5 View commit details
    Browse the repository at this point in the history
  12. ASoC: Intel: fix sst firmware path for cht-bsw-rt5672

    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: Kevin Strasser <kevin.strasser@linux.intel.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    strassek authored and broonie committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    5c2b063 View commit details
    Browse the repository at this point in the history
  13. 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.
    tiwai committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    08c191d View commit details
    Browse the repository at this point in the history
  14. 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.
    tiwai committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    deb0873 View commit details
    Browse the repository at this point in the history
  15. Merge tag 'asoc-fix-ac97-v3.19-rc7' of git://git.kernel.org/pub/scm/l…

    …inux/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.
    tiwai committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    d2255c0 View commit details
    Browse the repository at this point in the history
  16. mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range

    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: a9ff785 ("mm/pagewalk.c: walk_page_range should avoid VM_PFNMAP areas")
    Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
    Acked-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    Cc: <stable@vger.kernel.org>	[3.10+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Shiraz Hashim authored and torvalds committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    23aaed6 View commit details
    Browse the repository at this point in the history
  17. .mailmap: update Konstantin Khlebnikov's email address

    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: Kim Phillips <kim.phillips@freescale.com>
    Acked-by: Konstantin Khlebnikov <koct9i@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    kimphill authored and torvalds committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    21d543f View commit details
    Browse the repository at this point in the history
  18. mm: export "high_memory" symbol on !MMU

    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: Arnd Bergmann <arnd@arndb.de>
    Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Acked-by: Greg Ungerer <gerg@uclinux.org>
    Acked-by: David Rientjes <rientjes@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    arndb authored and torvalds committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    944b687 View commit details
    Browse the repository at this point in the history
  19. memcg, shmem: fix shmem migration to use lrucare

    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: 0a31bc9 ("mm: memcontrol: rewrite uncharge API")
    Signed-off-by: Michal Hocko <mhocko@suse.cz>
    Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reported-by: Dave Airlie <airlied@gmail.com>
    Acked-by: Hugh Dickins <hughd@google.com>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Cc: <stable@vger.kernel.org>	[3.17+]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Michal Hocko authored and torvalds committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    f5e03a4 View commit details
    Browse the repository at this point in the history
  20. MAINTAINERS: remove SUPERH website

    The mentioned website only displays information about buying and selling
    domains.
    
    Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    sudipm-mukherjee authored and torvalds committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    81cca6f View commit details
    Browse the repository at this point in the history
  21. nilfs2: fix deadlock of segment constructor over I_SYNC flag

    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: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Tested-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    konis authored and torvalds committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    7ef3ff2 View commit details
    Browse the repository at this point in the history
  22. mm/debug_pagealloc: fix build failure on ppc and some other archs

    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 031bc57
    ("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: Kim Phillips <kim.phillips@freescale.com>
    Signed-off-by: Joonsoo 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: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    JoonsooKim authored and torvalds committed Feb 5, 2015
    Configuration menu
    Copy the full SHA
    7b02190 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2015

  1. Revert "IB/core: Add support for extended query device caps"

    While commit 7e36ef8 ("IB/core: Temporarily disable
    ex_query_device uverb") is correct as it makes the extended
    QUERY_DEVICE uverb (which came as part of commit 5a77abf
    ("IB/core: Add support for extended query device caps") and commit
    860f10a ("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 8cdd312 ("IB/mlx5: Implement the ODP
    capability query verb") and commit 860f10a ("IB/core: Add flags
    for on demand paging support") and fully reverts commit 5a77abf
    ("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: Yann Droneaud <ydroneaud@opteya.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    ydroneaud authored and rolandd committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    43c6116 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…

    …ream-linus
    
    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).
      ...
    torvalds committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    dbf3b7d View commit details
    Browse the repository at this point in the history
  3. Merge branch 'akpm' (patches from Andrew Morton)

    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
    torvalds committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    48beb12 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'sound-3.19' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/tiwai/sound
    
    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
    torvalds committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    2af613d View commit details
    Browse the repository at this point in the history
  5. Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    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()
    torvalds committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    29f12c4 View commit details
    Browse the repository at this point in the history
  6. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    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()
    torvalds committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    396e909 View commit details
    Browse the repository at this point in the history
  7. Merge branches 'timers-urgent-for-linus' and 'x86-urgent-for-linus' o…

    …f 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
    torvalds committed Feb 6, 2015
    Configuration menu
    Copy the full SHA
    26cdd1f View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2015

  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/mason/linux-btrfs
    
    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()
    torvalds committed Feb 7, 2015
    Configuration menu
    Copy the full SHA
    bdfeb5a View commit details
    Browse the repository at this point in the history
  2. Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kern…

    …el/git/roland/infiniband
    
    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"
    torvalds committed Feb 7, 2015
    Configuration menu
    Copy the full SHA
    0b1ce1a View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2015

  1. tracing: Add condition check to RCU lockdep checks

    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: 3a63017 "tracing: generate RCU warnings even when tracepoints are disabled"
    Cc: stable@vger.kernel.org # 3.18+
    Acked-by: Dave Hansen <dave@sr71.net>
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    rostedt committed Feb 8, 2015
    Configuration menu
    Copy the full SHA
    a05d59a View commit details
    Browse the repository at this point in the history
  2. x86/tlb/trace: Do not trace on CPU that is offline

    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: d17d8f9 "x86/mm: Add tracepoints for TLB flushes"
    Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
    Suggested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Dave Hansen <dave@sr71.net>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    rostedt committed Feb 8, 2015
    Configuration menu
    Copy the full SHA
    6c8465a View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2015

  1. nios2: fix unhandled signals

    Follow other architectures for user fault handling.
    
    Signed-off-by: Chung-Ling Tang <cltang@codesourcery.com>
    Acked-by: Ley Foon Tan <lftan@altera.com>
    Chung-Ling Tang authored and Ley Foon Tan committed Feb 9, 2015
    Configuration menu
    Copy the full SHA
    a3248d6 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'trace-fixes-v3.19-rc7' of git://git.kernel.org/pub/scm/lin…

    …ux/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
    torvalds committed Feb 9, 2015
    Configuration menu
    Copy the full SHA
    4e02370 View commit details
    Browse the repository at this point in the history
  3. Merge git://git.kvack.org/~bcrl/aio-fixes

    Pull aio nested sleep annotation from Ben LaHaise,
    
    * git://git.kvack.org/~bcrl/aio-fixes:
      aio: annotate aio_read_event_ring for sleep patterns
    torvalds committed Feb 9, 2015
    Configuration menu
    Copy the full SHA
    cdecbb3 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'nios2-fixes-v3.19-final' of git://git.rocketboards.org/lin…

    …ux-socfpga-next
    
    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
    torvalds committed Feb 9, 2015
    Configuration menu
    Copy the full SHA
    da2d96d View commit details
    Browse the repository at this point in the history
  5. Linux 3.19

    torvalds committed Feb 9, 2015
    Configuration menu
    Copy the full SHA
    bfa76d4 View commit details
    Browse the repository at this point in the history