13 Nov, 2014

1 commit


10 Nov, 2014

3 commits

  • Linux 3.18-rc4

    Chris Zankel
     
  • Pull arm64 fixes from Catalin Marinas:
    - enable bpf syscall for compat
    - cpu_suspend fix when checking the idle state type
    - defconfig update

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: defconfig: update defconfig for 3.18
    arm64: compat: Enable bpf syscall
    arm64: psci: fix cpu_suspend to check idle state type for index

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Another quiet week:

    - a fix to silence edma probe error on non-supported platforms from
    Arnd
    - a fix to enable the PL clock for Parallella, to make mainline
    usable with the SDK.
    - a somewhat verbose fix for the PLL clock tree on VF610
    - enabling of SD/MMC on one of the VF610-based boards (for testing)
    - a fix for i.MX where CONFIG_SPI used to be implicitly enabled and
    now needs to be added to the defconfig instead
    - another maintainer added for bcm2835: Lee Jones"

    * tag 'armsoc-for-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: zynq: Enable PL clocks for Parallella
    dma: edma: move device registration to platform code
    ARM: dts: vf610: add SD node to cosmic dts
    MAINTAINERS: update bcm2835 entry
    ARM: imx: Fix the removal of CONFIG_SPI option
    ARM: imx: clk-vf610: define PLL's clock tree

    Linus Torvalds
     

09 Nov, 2014

1 commit

  • The Parallella board comes with a U-Boot bootloader that loads one of
    two predefined FPGA bitstreams before booting the kernel. Both define an
    AXI interface to the on-board Epiphany processor.

    Enable clocks FCLK0..FCLK3 for the Programmable Logic by default.

    Otherwise accessing, e.g., the ESYSRESET register freezes the board,
    as seen with the Epiphany SDK tools e-reset and e-hw-rev, using /dev/mem.

    Cc: # 3.17.x
    Signed-off-by: Andreas Färber
    Acked-by: Michal Simek
    Signed-off-by: Olof Johansson

    Andreas Färber
     

08 Nov, 2014

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This weeks' round of MIPS bug fixes for 3.18:

    - wire up the bpf syscall
    - fix TLB dump output for R3000 class TLBs
    - fix strnlen_user return value if no NUL character was found.
    - fix build with binutils 2.24.51+. While there is no binutils 2.25
    release yet, toolchains derived from binutils 2.24.51+ are already
    in common use.
    - the Octeon GPIO code forgot to offline GPIO IRQs.
    - fix build error for XLP.
    - fix possible BUG assertion with EVA for CMA"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: Fix build with binutils 2.24.51+
    MIPS: R3000: Fix debug output for Virtual page number
    MIPS: Fix strnlen_user() return value in case of overlong strings.
    MIPS: CMA: Do not reserve memory if not required
    MIPS: Wire up bpf syscall.
    MIPS/Xlp: Remove the dead function destroy_irq() to fix build error
    MIPS: Octeon: Make Octeon GPIO IRQ chip CPU hotplug-aware

    Linus Torvalds
     

07 Nov, 2014

1 commit

  • Starting with version 2.24.51.20140728 MIPS binutils complain loudly
    about mixing soft-float and hard-float object files, leading to this
    build failure since GCC is invoked with "-msoft-float" on MIPS:

    {standard input}: Warning: .gnu_attribute 4,3 requires `softfloat'
    LD arch/mips/alchemy/common/built-in.o
    mipsel-softfloat-linux-gnu-ld: Warning: arch/mips/alchemy/common/built-in.o
    uses -msoft-float (set by arch/mips/alchemy/common/prom.o),
    arch/mips/alchemy/common/sleeper.o uses -mhard-float

    To fix this, we detect if GAS is new enough to support "-msoft-float" command
    option, and if it does, we can let GCC pass it to GAS; but then we also need
    to sprinkle the files which make use of floating point registers with the
    necessary ".set hardfloat" directives.

    Signed-off-by: Manuel Lauss
    Cc: Linux-MIPS
    Cc: Matthew Fortune
    Cc: Markos Chandras
    Cc: Maciej W. Rozycki
    Patchwork: https://patchwork.linux-mips.org/patch/8355/
    Signed-off-by: Ralf Baechle

    Manuel Lauss
     

06 Nov, 2014

6 commits

  • Virtual page number of R3000 in entryhi is 20 bit from MSB. But in
    dump_tlb(), the bit mask to read it from entryhi is 19 bit (0xffffe000).
    The patch fixes that to 0xfffff000.

    Signed-off-by: Isamu Mogi
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8290/
    Signed-off-by: Ralf Baechle

    Isamu Mogi
     
  • The horrible split between the low-level part of the edma support
    and the dmaengine front-end driver causes problems on multiplatform
    kernels. This is an attempt to improve the situation slightly
    by only registering the dmaengine devices that are actually
    present.

    Signed-off-by: Arnd Bergmann
    [olof: add missing include of linux/dma-mapping.h]
    Signed-off-by: Olof Johansson

    Signed-off-by: Olof Johansson

    Arnd Bergmann
     
  • Pull s390 update from Martin Schwidefsky:
    "One small improvement for the cputime accounting, two bug fixes and an
    update for the default configuration files"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/ftrace: add ftrace_graph_is_dead() check
    s390: update default configuration
    s390/vdso: fix stack corruption
    s390/time: use stck clock fast for do_account_vtime

    Linus Torvalds
     
  • Driver has been there since a while back, but the dts never seems to
    have been updated with the node (nor pinctrl). Do so now.

    Cc: Matt Porter
    Acked-by: Shawn Guo
    Acked-by: Stefan Agner
    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • This patch enables a few things missing from our defconfig:

    - PCI and MSI, including support for the x-gene host controller
    - BPF JIT
    - SPI, GPIO and MMC for Seattle
    - GPIO for x-gene
    - USB for Juno
    - RTC

    It also removes HMC_DRV, which was being built as a module for some
    reason.

    Signed-off-by: Will Deacon
    Signed-off-by: Catalin Marinas

    Will Deacon
     
  • Following the arm32 commit 2d605a302972 (ARM: enable bpf syscall), wire
    this syscall for arm64 compat as well.

    Signed-off-by: Catalin Marinas

    Catalin Marinas
     

05 Nov, 2014

3 commits

  • The emulator could reuse an op->type from a previous instruction for some
    immediate values. If it mistakenly considers the operands as memory
    operands, it will performs a memory read and overwrite op->val.

    Consider for instance the ROR instruction - src2 (the number of times)
    would be read from memory instead of being used as immediate.

    Mark every immediate operand as such to avoid this problem.

    Cc: stable@vger.kernel.org
    Fixes: c44b4c6ab80eef3a9c52c7b3f0c632942e6489aa
    Signed-off-by: Nadav Amit
    Signed-off-by: Paolo Bonzini

    Nadav Amit
     
  • …awnguo/linux into fixes

    Merge "ARM: imx: fixes for 3.18, 2nd round" from Shawn Guo:

    "This is the second round of i.MX fixes for 3.18. The clk-vf610 fix is
    relatively big, because it needs some adaption to the change made by
    offending commit dc4805c2e78b (ARM: imx: remove ENABLE and BYPASS bits
    from clk-pllv3 driver). And it should have been sent to you for earlier
    -rc inclusion, but unfortunately it got delayed for some time because
    Stefan wasn't aware of my email address change."

    The i.MX fixes for 3.18, 2nd round:
    - Fix a regression on Vybrid platform which is caused by commit
    dc4805c2e78b (ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3
    driver), and results in a missing configuration on PLL clocks.
    - Fix a regression with i.MX defconfig files where CONFIG_SPI option
    gets lost accidentally.

    * tag 'imx-fixes-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (460 commits)
    ARM: imx: Fix the removal of CONFIG_SPI option
    ARM: imx: clk-vf610: define PLL's clock tree
    + Linux 3.18-rc3

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Pull powerpc fixes from Michael Ellerman:
    "Some more powerpc fixes if you please"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
    powerpc: use device_online/offline() instead of cpu_up/down()
    powerpc/powernv: Properly fix LPC debugfs endianness
    powerpc: do_notify_resume can be called with bad thread_info flags argument
    powerpc/fadump: Fix endianess issues in firmware assisted dump handling
    powerpc: Fix section mismatch warning

    Linus Torvalds
     

04 Nov, 2014

5 commits

  • We were returning maxlen like the userland strnlen if no '\0' character
    was encountered while the kernel version is expected to return a value
    larger than maxlen. Fixed to return maxlen + 1.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Since 64546e9fe3a5b8c ("ARM: imx_v6_v7_defconfig updates") and commit
    0650f855d2e4b0b9 ("ARM: imx_v4_v5_defconfig: Select CONFIG_IMX_WEIM") CONFIG_SPI
    selection was dropped by savedefconfig for imx_v4_v5_defconfig and
    imx_v6_v7_defconfig.

    In order to keep the same behaviour as previous kernel versions and avoid
    regressions, let's add CONFIG_SPI option back.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Shawn Guo

    Fabio Estevam
     
  • So far, the required PLL's (PLL1/PLL2/PLL5) have been initialized
    by boot loader and the kernel code defined fixed rates according
    to those default configurations. Beginning with the USB PLL7 the
    code started to initialize the PLL's itself (using imx_clk_pllv3).

    However, since commit dc4805c2e78ba5a22ea1632f3e3e4ee601a1743b
    (ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver)
    imx_clk_pllv3 no longer takes care of the ENABLE and BYPASS bits,
    hence the USB PLL were not configured correctly anymore.

    This patch not only fixes those USB PLL's, but also makes use of
    the imx_clk_pllv3 for all PLL's and alignes the code with the PLL
    support of the i.MX6 series.

    Signed-off-by: Stefan Agner
    Signed-off-by: Shawn Guo

    Stefan Agner
     
  • Pull m68k update from Geert Uytterhoeven.

    Just wiring up the bpf system call.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Wire up bpf

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A surprisingly small batch of fixes for -rc3. Suspiciously small, I'd
    say.

    Anyway, most of this are a few defconfig updates. Some for omap to
    deal with kernel binary size (moving ipv6 to module, etc). A larger
    one for socfpga that refreshes with some churn, but also turns on a
    few options that makes the newly-added board in my bootfarm usable for
    testing.

    OMAP3 will also now warn when booted with legacy (non-DT) boot
    protocols, hopefully encouraging those who still care about some of
    those platforms to submit DT support and report bugs where needed.
    Nothing stops working though, this is just to warn for future
    deprecation.

    Beyond this, very few actual bugfixes. A PXA fix for DEBUG_LL boot
    hangs, a missing terminting entry in a dt_match array on RealView a
    MTD fix on OMAP with NAND"

    [ Obviously missed rc3, will make rc4 instead ;) ]

    * tag 'armsoc-for-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    MAINTAINERS: drop list entry for davinci
    ARM: OMAP2+: Warn about deprecated legacy booting mode
    ARM: omap2plus_defconfig: Fix errors with NAND BCH
    ARM: multi_v7_defconfig: fix support for APQ8084
    soc: versatile: Add terminating entry for realview_soc_of_match
    ARM: ixp4xx: remove compilation warnings in io.h
    MAINTAINERS: Add Soren as reviewer for Zynq
    ARM: omap2plus_defconfig: Fix bloat caused by having ipv6 built-in
    ARM: socfpga_defconfig: Update defconfig for SoCFPGA
    ARM: pxa: fix hang on startup with DEBUG_LL

    Linus Torvalds
     

03 Nov, 2014

3 commits

  • …/git/tmlind/linux-omap into fixes

    Merge "omap fixes against v3.18-rc2" from Tony Lindgren:

    Few fixes for omaps to enable NAND BCH so devices won't
    produce errors when booted with omap2plus_defconfig, and
    reduce bloat by making IPV6 a loadable module.

    Also let's add a warning about legacy boot being deprecated
    for omap3.

    We now have things working with device tree, and only omap3 is
    still booting in legacy mode. So hopefully this warning will
    help move the remaining legacy mode users to boot with device
    tree.

    As the total reduction of code and static data is somewhere
    around 20000 lines of code once we remove omap3 legacy mode
    booting, we really do want to make omap3 to boot also in
    device tree mode only over the next few merge cycles.

    * tag 'fixes-against-v3.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (407 commits)
    ARM: OMAP2+: Warn about deprecated legacy booting mode
    ARM: omap2plus_defconfig: Fix errors with NAND BCH
    ARM: omap2plus_defconfig: Fix bloat caused by having ipv6 built-in
    + Linux 3.18-rc2

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Pull ARM fixes from Russell King:
    - add the new bpf syscall to ARM.
    - drop a redundant return statement in __iommu_alloc_remap()
    - fix a performance issue noticed by Thomas Petazzoni with
    kmap_atomic().
    - fix an issue with the L2 cache OF parsing code which caused it to
    incorrectly print warnings on each boot, and make the warning text
    more consistent with the rest of the code

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: 8180/1: mm: implement no-highmem fast path in kmap_atomic_pfn()
    ARM: 8183/1: l2c: Improve l2c310_of_parse() error message
    ARM: 8181/1: Drop extra return statement
    ARM: 8182/1: l2c: Make l2x0_cache_size_of_parse() return 'int'
    ARM: enable bpf syscall

    Linus Torvalds
     
  • Pull kvm fixes from Paolo Bonzini:
    "A small set of x86 fixes. The most serious is an SRCU lockdep fix.

    A bit late - needed some time to test the SRCU fix, which only came in
    on Friday"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: vmx: defer load of APIC access page address during reset
    KVM: nVMX: Disable preemption while reading from shadow VMCS
    KVM: x86: Fix far-jump to non-canonical check
    KVM: emulator: fix execution close to the segment limit
    KVM: emulator: fix error code for __linearize

    Linus Torvalds
     

02 Nov, 2014

4 commits

  • Most call paths to vmx_vcpu_reset do not hold the SRCU lock. Defer loading
    the APIC access page to the next vmentry.

    This avoids the following lockdep splat:

    [ INFO: suspicious RCU usage. ]
    3.18.0-rc2-test2+ #70 Not tainted
    -------------------------------
    include/linux/kvm_host.h:474 suspicious rcu_dereference_check() usage!

    other info that might help us debug this:

    rcu_scheduler_active = 1, debug_locks = 0
    1 lock held by qemu-system-x86/2371:
    #0: (&vcpu->mutex){+.+...}, at: [] vcpu_load+0x20/0xd0 [kvm]

    stack backtrace:
    CPU: 4 PID: 2371 Comm: qemu-system-x86 Not tainted 3.18.0-rc2-test2+ #70
    Hardware name: Dell Inc. OptiPlex 9010/0M9KCM, BIOS A12 01/10/2013
    0000000000000001 ffff880209983ca8 ffffffff816f514f 0000000000000000
    ffff8802099b8990 ffff880209983cd8 ffffffff810bd687 00000000000fee00
    ffff880208a2c000 ffff880208a10000 ffff88020ef50040 ffff880209983d08
    Call Trace:
    [] dump_stack+0x4e/0x71
    [] lockdep_rcu_suspicious+0xe7/0x120
    [] gfn_to_memslot+0xd5/0xe0 [kvm]
    [] __gfn_to_pfn+0x33/0x60 [kvm]
    [] gfn_to_page+0x25/0x90 [kvm]
    [] kvm_vcpu_reload_apic_access_page+0x3c/0x80 [kvm]
    [] vmx_vcpu_reset+0x20c/0x460 [kvm_intel]
    [] kvm_vcpu_reset+0x15e/0x1b0 [kvm]
    [] kvm_arch_vcpu_setup+0x2c/0x50 [kvm]
    [] kvm_vm_ioctl+0x1d0/0x780 [kvm]
    [] ? __lock_is_held+0x54/0x80
    [] do_vfs_ioctl+0x300/0x520
    [] ? __fget+0x5/0x250
    [] ? __fget_light+0x2a/0xe0
    [] SyS_ioctl+0x81/0xa0
    [] system_call_fastpath+0x16/0x1b

    Reported-by: Takashi Iwai
    Reported-by: Alexei Starovoitov
    Reviewed-by: Wanpeng Li
    Tested-by: Wanpeng Li
    Fixes: 38b9917350cb2946e368ba684cfc33d1672f104e
    Signed-off-by: Paolo Bonzini

    Paolo Bonzini
     
  • In order to access the shadow VMCS, we need to load it. At this point,
    vmx->loaded_vmcs->vmcs and the actually loaded one start to differ. If
    we now get preempted by Linux, vmx_vcpu_put and, on return, the
    vmx_vcpu_load will work against the wrong vmcs. That can cause
    copy_shadow_to_vmcs12 to corrupt the vmcs12 state.

    Fix the issue by disabling preemption during the copy operation.
    copy_vmcs12_to_shadow is safe from this issue as it is executed by
    vmx_vcpu_run when preemption is already disabled before vmentry.

    This bug is exposed by running Jailhouse within KVM on CPUs with
    shadow VMCS support. Jailhouse never expects an interrupt pending
    vmexit, but the bug can cause it if, after copy_shadow_to_vmcs12
    is preempted, the active VMCS happens to have the virtual interrupt
    pending flag set in the CPU-based execution controls.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Paolo Bonzini

    Jan Kiszka
     
  • Commit d1442d85cc30 ("KVM: x86: Handle errors when RIP is set during far
    jumps") introduced a bug that caused the fix to be incomplete. Due to
    incorrect evaluation, far jump to segment with L bit cleared (i.e., 32-bit
    segment) and RIP with any of the high bits set (i.e, RIP[63:32] != 0) set may
    not trigger #GP. As we know, this imposes a security problem.

    In addition, the condition for two warnings was incorrect.

    Fixes: d1442d85cc30ea75f7d399474ca738e0bc96f715
    Reported-by: Dan Carpenter
    Signed-off-by: Nadav Amit
    [Add #ifdef CONFIG_X86_64 to avoid complaints of undefined behavior. - Paolo]
    Signed-off-by: Paolo Bonzini

    Nadav Amit
     
  • In powerpc pseries platform dlpar operations, use device_online() and
    device_offline() instead of cpu_up() and cpu_down().

    Calling cpu_up/down() directly does not update the cpu device offline
    field, which is used to online/offline a cpu from sysfs. Calling
    device_online/offline() instead keeps the sysfs cpu online value
    correct. The hotplug lock, which is required to be held when calling
    device_online/offline(), is already held when dlpar_online/offline_cpu()
    are called, since they are called only from cpu_probe|release_store().

    This patch fixes errors on phyp (PowerVM) systems that have cpu(s)
    added/removed using dlpar operations; without this patch, the
    /sys/devices/system/cpu/cpuN/online nodes do not correctly show the
    online state of added/removed cpus.

    Signed-off-by: Dan Streetman
    Cc: Nathan Fontenot
    Fixes: 0902a9044fa5 ("Driver core: Use generic offline/online for CPU offline/online")
    Signed-off-by: Michael Ellerman

    Dan Streetman
     

01 Nov, 2014

8 commits

  • Rusty noticed a Really Bad Bug (tm) in my NT fix. The entry code
    reads out of bounds, causing the NT fix to be unreliable. But, and
    this is much, much worse, if your stack is somehow just below the
    top of the direct map (or a hole), you read out of bounds and crash.

    Excerpt from the crash:

    [ 1.129513] RSP: 0018:ffff88001da4bf88 EFLAGS: 00010296

    2b:* f7 84 24 90 00 00 00 testl $0x4000,0x90(%rsp)

    That read is deterministically above the top of the stack. I
    thought I even single-stepped through this code when I wrote it to
    check the offset, but I clearly screwed it up.

    Fixes: 8c7aa698baca ("x86_64, entry: Filter RFLAGS.NT on entry from userspace")
    Reported-by: Rusty Russell
    Cc: stable@vger.kernel.org
    Signed-off-by: Andy Lutomirski
    Signed-off-by: Linus Torvalds

    Andy Lutomirski
     
  • Pull networking fixes from David Miller:
    "A bit has accumulated, but it's been a week or so since my last batch
    of post-merge-window fixes, so...

    1) Missing module license in netfilter reject module, from Pablo.
    Lots of people ran into this.

    2) Off by one in mac80211 baserate calculation, from Karl Beldan.

    3) Fix incorrect return value from ax88179_178a driver's set_mac_addr
    op, which broke use of it with bonding. From Ian Morgan.

    4) Checking of skb_gso_segment()'s return value was not all
    encompassing, it can return an SKB pointer, a pointer error, or
    NULL. Fix from Florian Westphal.

    This is crummy, and longer term will be fixed to just return error
    pointers or a real SKB.

    6) Encapsulation offloads not being handled by
    skb_gso_transport_seglen(). From Florian Westphal.

    7) Fix deadlock in TIPC stack, from Ying Xue.

    8) Fix performance regression from using rhashtable for netlink
    sockets. The problem was the synchronize_net() invoked for every
    socket destroy. From Thomas Graf.

    9) Fix bug in eBPF verifier, and remove the strong dependency of BPF
    on NET. From Alexei Starovoitov.

    10) In qdisc_create(), use the correct interface to allocate
    ->cpu_bstats, otherwise the u64_stats_sync member isn't
    initialized properly. From Sabrina Dubroca.

    11) Off by one in ip_set_nfnl_get_byindex(), from Dan Carpenter.

    12) nf_tables_newchain() was erroneously expecting error pointers from
    netdev_alloc_pcpu_stats(). It only returna a valid pointer or
    NULL. From Sabrina Dubroca.

    13) Fix use-after-free in _decode_session6(), from Li RongQing.

    14) When we set the TX flow hash on a socket, we mistakenly do so
    before we've nailed down the final source port. Move the setting
    deeper to fix this. From Sathya Perla.

    15) NAPI budget accounting in amd-xgbe driver was counting descriptors
    instead of full packets, fix from Thomas Lendacky.

    16) Fix total_data_buflen calculation in hyperv driver, from Haiyang
    Zhang.

    17) Fix bcma driver build with OF_ADDRESS disabled, from Hauke
    Mehrtens.

    18) Fix mis-use of per-cpu memory in TCP md5 code. The problem is
    that something that ends up being vmalloc memory can't be passed
    to the crypto hash routines via scatter-gather lists. From Eric
    Dumazet.

    19) Fix regression in promiscuous mode enabling in cdc-ether, from
    Olivier Blin.

    20) Bucket eviction and frag entry killing can race with eachother,
    causing an unlink of the object from the wrong list. Fix from
    Nikolay Aleksandrov.

    21) Missing initialization of spinlock in cxgb4 driver, from Anish
    Bhatt.

    22) Do not cache ipv4 routing failures, otherwise if the sysctl for
    forwarding is subsequently enabled this won't be seen. From
    Nicolas Cavallari"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (131 commits)
    drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode
    drivers: net: cpsw: Fix broken loop condition in switch mode
    net: ethtool: Return -EOPNOTSUPP if user space tries to read EEPROM with lengh 0
    stmmac: pci: set default of the filter bins
    net: smc91x: Fix gpios for device tree based booting
    mpls: Allow mpls_gso to be built as module
    mpls: Fix mpls_gso handler.
    r8152: stop submitting intr for -EPROTO
    netfilter: nft_reject_bridge: restrict reject to prerouting and input
    netfilter: nft_reject_bridge: don't use IP stack to reject traffic
    netfilter: nf_reject_ipv6: split nf_send_reset6() in smaller functions
    netfilter: nf_reject_ipv4: split nf_send_reset() in smaller functions
    netfilter: nf_tables_bridge: update hook_mask to allow {pre,post}routing
    drivers/net: macvtap and tun depend on INET
    drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO packets
    drivers/net: Disable UFO through virtio
    net: skb_fclone_busy() needs to detect orphaned skb
    gre: Use inner mac length when computing tunnel length
    mlx4: Avoid leaking steering rules on flow creation error flow
    net/mlx4_en: Don't attempt to TX offload the outer UDP checksum for VXLAN
    ...

    Linus Torvalds
     
  • Pull sparc update from David Miller:
    "Two changes:

    1) It makes no sense to execute a VTOC partition table request in the
    Sun virtual block device driver and fail to load if it doesn't
    succeed because a) we don't use the result at all and b) it won't
    succeed if there is an EFI partition on the disk, for example.

    We read the partition table via the normal means in the block layer
    anyways, so this is really completely useless, so just remove it.

    From Dwight Engen.

    2) Hook up new bpf system call"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sunvdc: don't call VD_OP_GET_VTOC
    sparc: Hook up bpf system call.

    Linus Torvalds
     
  • Pull Microblaze updates from Michal Simek:
    - wire-up new bpf syscall
    - fix PCI bug
    - fix Kconfig warning

    * tag 'microblaze-3.18-rc3' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Wire up bpf syscall
    microblaze: Fix IO space breakage after of_pci_range_to_resource() change
    microblaze: Fix missing NR_CPUS in menuconfig

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Fixes from all around the place:

    - hyper-V 32-bit PAE guest kernel fix
    - two IRQ allocation fixes on certain x86 boards
    - intel-mid boot crash fix
    - intel-quark quirk
    - /proc/interrupts duplicate irq chip name fix
    - cma boot crash fix
    - syscall audit fix
    - boot crash fix with certain TSC configurations (seen on Qemu)
    - smpboot.c build warning fix"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, pageattr: Prevent overflow in slow_virt_to_phys() for X86_PAE
    ACPI, irq, x86: Return IRQ instead of GSI in mp_register_gsi()
    x86, intel-mid: Create IRQs for APB timers and RTC timers
    x86: Don't enable F00F workaround on Intel Quark processors
    x86/irq: Fix XT-PIC-XT-PIC in /proc/interrupts
    x86, cma: Reserve DMA contiguous area after initmem_init()
    i386/audit: stop scribbling on the stack frame
    x86, apic: Handle a bad TSC more gracefully
    x86: ACPI: Do not translate GSI number if IOAPIC is disabled
    x86/smpboot: Move data structure to its primary usage scope

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Various scheduler fixes all over the place: three SCHED_DL fixes,
    three sched/numa fixes, two generic race fixes and a comment fix"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/dl: Fix preemption checks
    sched: Update comments for CLONE_NEWNS
    sched: stop the unbound recursion in preempt_schedule_context()
    sched/fair: Fix division by zero sysctl_numa_balancing_scan_size
    sched/fair: Care divide error in update_task_scan_period()
    sched/numa: Fix unsafe get_task_struct() in task_numa_assign()
    sched/deadline: Fix races between rt_mutex_setprio() and dl_task_timer()
    sched/deadline: Don't replenish from a !SCHED_DEADLINE entity
    sched: Fix race between task_group and sched_task_group

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Mostly tooling fixes, plus on the kernel side:

    - a revert for a newly introduced PMU driver which isn't complete yet
    and where we ran out of time with fixes (to be tried again in
    v3.19) - this makes up for a large chunk of the diffstat.

    - compilation warning fixes

    - a printk message fix

    - event_idx usage fixes/cleanups"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf probe: Trivial typo fix for --demangle
    perf tools: Fix report -F dso_from for data without branch info
    perf tools: Fix report -F dso_to for data without branch info
    perf tools: Fix report -F symbol_from for data without branch info
    perf tools: Fix report -F symbol_to for data without branch info
    perf tools: Fix report -F mispredict for data without branch info
    perf tools: Fix report -F in_tx for data without branch info
    perf tools: Fix report -F abort for data without branch info
    perf tools: Make CPUINFO_PROC an array to support different kernel versions
    perf callchain: Use global caching provided by libunwind
    perf/x86/intel: Revert incomplete and undocumented Broadwell client support
    perf/x86: Fix compile warnings for intel_uncore
    perf: Fix typos in sample code in the perf_event.h header
    perf: Fix and clean up initialization of pmu::event_idx
    perf: Fix bogus kernel printk
    perf diff: Add missing hists__init() call at tool start

    Linus Torvalds
     
  • With legacy booting, the platform init code was taking care of
    the configuring of GPIOs. With device tree based booting, things
    may or may not work depending what bootloader has configured or
    if the legacy platform code gets called.

    Let's add support for the pwrdn and reset GPIOs to the smc91x
    driver to fix the issues of smc91x not working properly when
    booted in device tree mode.

    And let's change n900 to use these settings as some versions
    of the bootloader do not configure things properly causing
    errors.

    Reported-by: Kevin Hilman
    Signed-off-by: Tony Lindgren
    Signed-off-by: David S. Miller

    Tony Lindgren
     

31 Oct, 2014

3 commits

  • Endian is hard, especially when I designed a stupid FW interface, and
    I should know better... oh well, this is attempt #2 at fixing this
    properly. This time it seems to work with all access sizes and I
    can run my flashing tool (which exercises all sort of access sizes
    and types to access the SPI controller in the BMC) just fine.

    Signed-off-by: Benjamin Herrenschmidt
    CC: stable@vger.kernel.org
    Signed-off-by: Michael Ellerman

    Benjamin Herrenschmidt
     
  • Back in 7230c5644188 ("powerpc: Rework lazy-interrupt handling") we
    added a call out to restore_interrupts() (written in c) before calling
    do_notify_resume:

    bl restore_interrupts
    addi r3,r1,STACK_FRAME_OVERHEAD
    bl do_notify_resume

    Unfortunately do_notify_resume takes two arguments, the second one
    being the thread_info flags:

    void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags)

    We do populate r4 (the second argument) earlier, but
    restore_interrupts() is free to muck it up all it wants. My guess is
    the gcc compiler gods shone down on us and its register allocator
    never used r4. Sometimes, rarely, luck is on our side.

    LLVM on the other hand did trample r4.

    Signed-off-by: Anton Blanchard
    Cc: stable@vger.kernel.org
    Signed-off-by: Michael Ellerman

    Anton Blanchard
     
  • This fix rectifies the psci cpu_suspend implementation to check the
    PSCI power state parameter type field associated with the requested idle
    state index.

    Acked-by: Lorenzo Pieralisi
    Signed-off-by: Amit Daniel Kachhap
    Signed-off-by: Will Deacon

    Amit Daniel Kachhap
     

30 Oct, 2014

1 commit

  • Firmware-assisted dump (fadump) kernel code is not endian safe. The
    below patch fixes this issue. Tested this patch with upstream kernel.
    Below output shows crash tool successfully opening LE fadump vmcore.

    # crash vmlinux vmcore
    GNU gdb (GDB) 7.6
    This GDB was configured as "powerpc64le-unknown-linux-gnu"...

    KERNEL: vmlinux
    DUMPFILE: vmcore
    CPUS: 16
    DATE: Wed Dec 31 19:00:00 1969
    UPTIME: 00:03:28
    LOAD AVERAGE: 0.46, 0.86, 0.41
    TASKS: 268
    NODENAME: linux-dhr2
    RELEASE: 3.17.0-rc5-7-default
    VERSION: #6 SMP Tue Sep 30 01:06:34 EDT 2014
    MACHINE: ppc64le (4116 Mhz)
    MEMORY: 40 GB
    PANIC: "Oops: Kernel access of bad area, sig: 11 [#1]" (check log for details)
    PID: 6223
    COMMAND: "bash"
    TASK: c0000009661b2500 [THREAD_INFO: c000000967ac0000]
    CPU: 2
    STATE: TASK_RUNNING (PANIC)

    Signed-off-by: Hari Bathini
    [mpe: Make the comment in pSeries_lpar_hptab_clear() clearer]
    Signed-off-by: Michael Ellerman

    Hari Bathini