11 Jun, 2015

5 commits

  • On -rt, the VM_BUG_ON(!irqs_disabled()) triggers inside the memcg
    swapout path because the spin_lock_irq(&mapping->tree_lock) in the
    caller doesn't actually disable the hardware interrupts - which is fine,
    because on -rt the tophalves run in process context and so we are still
    safe from preemption while updating the statistics.

    Remove the VM_BUG_ON() but keep the comment of what we rely on.

    Signed-off-by: Johannes Weiner
    Reported-by: Clark Williams
    Cc: Fernando Lopez-Lezcano
    Cc: Steven Rostedt
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Commit d5e616fc1c1d ("checkpatch: add a few more --fix corrections")
    broke the GLOBAL_INITIALISERS test with bad parentheses and optional
    leading spaces.

    Fix it.

    Signed-off-by: Joe Perches
    Reported-by: Bandan Das
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Clear zram disk io accounting when resetting the zram device. Otherwise
    the residual io accounting stat will affect the diskstat in the next
    zram active cycle.

    Signed-off-by: Weijie Yang
    Acked-by: Sergey Senozhatsky
    Acked-by: Minchan Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Weijie Yang
     
  • When trimming memcg consumption excess (see memory.high), we call
    try_to_free_mem_cgroup_pages without checking if we are allowed to sleep
    in the current context, which can result in a deadlock. Fix this.

    Fixes: 241994ed8649 ("mm: memcontrol: default hierarchy interface for memory")
    Signed-off-by: Vladimir Davydov
    Cc: Johannes Weiner
    Acked-by: Michal Hocko
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Davydov
     
  • Izumi found the following oops when hot re-adding a node:

    BUG: unable to handle kernel paging request at ffffc90008963690
    IP: __wake_up_bit+0x20/0x70
    Oops: 0000 [#1] SMP
    CPU: 68 PID: 1237 Comm: rs:main Q:Reg Not tainted 4.1.0-rc5 #80
    Hardware name: FUJITSU PRIMEQUEST2800E/SB, BIOS PRIMEQUEST 2000 Series BIOS Version 1.87 04/28/2015
    task: ffff880838df8000 ti: ffff880017b94000 task.ti: ffff880017b94000
    RIP: 0010:[] [] __wake_up_bit+0x20/0x70
    RSP: 0018:ffff880017b97be8 EFLAGS: 00010246
    RAX: ffffc90008963690 RBX: 00000000003c0000 RCX: 000000000000a4c9
    RDX: 0000000000000000 RSI: ffffea101bffd500 RDI: ffffc90008963648
    RBP: ffff880017b97c08 R08: 0000000002000020 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: ffff8a0797c73800
    R13: ffffea101bffd500 R14: 0000000000000001 R15: 00000000003c0000
    FS: 00007fcc7ffff700(0000) GS:ffff880874800000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: ffffc90008963690 CR3: 0000000836761000 CR4: 00000000001407e0
    Call Trace:
    unlock_page+0x6d/0x70
    generic_write_end+0x53/0xb0
    xfs_vm_write_end+0x29/0x80 [xfs]
    generic_perform_write+0x10a/0x1e0
    xfs_file_buffered_aio_write+0x14d/0x3e0 [xfs]
    xfs_file_write_iter+0x79/0x120 [xfs]
    __vfs_write+0xd4/0x110
    vfs_write+0xac/0x1c0
    SyS_write+0x58/0xd0
    system_call_fastpath+0x12/0x76
    Code: 5d c3 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 48 83 ec 20 65 48 8b 04 25 28 00 00 00 48 89 45 f8 31 c0 48 8d 47 48 39 47 48 48 c7 45 e8 00 00 00 00 48 c7 45 f0 00 00 00 00 48
    RIP [] __wake_up_bit+0x20/0x70
    RSP
    CR2: ffffc90008963690

    Reproduce method (re-add a node)::
    Hot-add nodeA --> remove nodeA --> hot-add nodeA (panic)

    This seems an use-after-free problem, and the root cause is
    zone->wait_table was not set to *NULL* after free it in
    try_offline_node.

    When hot re-add a node, we will reuse the pgdat of it, so does the zone
    struct, and when add pages to the target zone, it will init the zone
    first (including the wait_table) if the zone is not initialized. The
    judgement of zone initialized is based on zone->wait_table:

    static inline bool zone_is_initialized(struct zone *zone)
    {
    return !!zone->wait_table;
    }

    so if we do not set the zone->wait_table to *NULL* after free it, the
    memory hotplug routine will skip the init of new zone when hot re-add
    the node, and the wait_table still points to the freed memory, then we
    will access the invalid address when trying to wake up the waiting
    people after the i/o operation with the page is done, such as mentioned
    above.

    Signed-off-by: Gu Zheng
    Reported-by: Taku Izumi
    Reviewed by: Yasuaki Ishimatsu
    Cc: KAMEZAWA Hiroyuki
    Cc: Tang Chen
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gu Zheng
     

09 Jun, 2015

9 commits

  • Pull networking fixes from David Miller:

    1) Fix stack allocation in s390 BPF JIT, from Michael Holzheu.

    2) Disable LRO on openvswitch paths, from Jiri Benc.

    3) UDP early demux doesn't handle multicast group membership properly,
    fix from Shawn Bohrer.

    4) Fix TX queue hang due to incorrect handling of mixed sized fragments
    and linearlization in i40e driver, from Anjali Singhai Jain.

    5) Cannot use disable_irq() in timer handler of AMD xgbe driver, from
    Thomas Lendacky.

    6) b2net driver improperly assumes pci_alloc_consistent() gives zero'd
    out memory, use dma_zalloc_coherent(). From Sriharsha Basavapatna.

    7) Fix use-after-free in MPLS and ipv6, from Robert Shearman.

    8) Missing neif_napi_del() calls in cleanup paths of b44 driver, from
    Hauke Mehrtens.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    net: replace last open coded skb_orphan_frags with function call
    net: bcmgenet: power on MII block for all MII modes
    ipv6: Fix protocol resubmission
    ipv6: fix possible use after free of dev stats
    b44: call netif_napi_del()
    bridge: disable softirqs around br_fdb_update to avoid lockup
    Revert "bridge: use _bh spinlock variant for br_fdb_update to avoid lockup"
    mpls: fix possible use after free of device
    be2net: Replace dma/pci_alloc_coherent() calls with dma_zalloc_coherent()
    bridge: use _bh spinlock variant for br_fdb_update to avoid lockup
    amd-xgbe: Use disable_irq_nosync from within timer function
    rhashtable: add missing import
    i40e: Make sure to be in VEB mode if SRIOV is enabled at probe
    i40e: start up in VEPA mode by default
    i40e/i40evf: Fix mixed size frags and linearization
    ipv4/udp: Verify multicast group is ours in upd_v4_early_demux()
    openvswitch: disable LRO
    s390/bpf: fix bpf frame pointer setup
    s390/bpf: fix stack allocation

    Linus Torvalds
     
  • Pull last-minute virtio fix from Michael Tsirkin:
    "This fixes a minor issue affecting multiqueue virtio net when user
    keeps changing the number of active queues and CPUs are added and
    removed by hotplug"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio_pci: Clear stale cpumask when setting irq affinity

    Linus Torvalds
     
  • Pull ARM SoC fixes from Kevin Hilman:
    "About 10 days worth of small bug fixes, and the (hopefully) final
    round fixes for from arm-soc land for the -rc cycle. Nothing special
    to note, but here's a brief summary of fixes by SoC type:

    - OMAP:
    small set of misc DT fixes; boot fix for THUMB2 kernel

    - mediatek:
    PMIC fixes; DT fix for model name

    - exynos:
    wakeup interupt fixes for 3250

    - mvebu:
    revert mbus patch which broke DMA masters

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: am335x-boneblack: disable RTC-only sleep to avoid hardware damage
    ARM: dts: AM35xx: fix system control module clocks
    arm64: dts: mt8173-evb: fix model name
    ARM: exynos: Fix wake-up interrupts for Exynos3250
    ARM: dts: Fix n900 dts file to work around 4.1 touchscreen regression on n900
    ARM: dts: Fix dm816x to use right compatible flag for MUSB
    ARM: OMAP3: Fix booting with thumb2 kernel
    Revert "bus: mvebu-mbus: make sure SDRAM CS for DMA don't overlap the MBus bridge window"
    bus: mvebu-mbus: do not set WIN_CTRL_SYNCBARRIER on non io-coherent platforms.
    ARM: mvebu: armada-xp-linksys-mamba: Disable internal RTC
    soc: mediatek: Add compile dependency to pmic-wrapper
    soc: mediatek: PMIC wrap: Fix register state machine handling
    soc: mediatek: PMIC wrap: Fix clock rate handling

    Linus Torvalds
     
  • Commit 70008aa50e92 ("skbuff: convert to skb_orphan_frags") replaced
    open coded tests of SKBTX_DEV_ZEROCOPY and skb_copy_ubufs with calls
    to helper function skb_orphan_frags. Apply that to the last remaining
    open coded site.

    Signed-off-by: Willem de Bruijn
    Acked-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Willem de Bruijn
     
  • The RGMII block is currently only powered on when using RGMII or
    RGMII_NO_ID, which is not correct when using the GENET interface in MII
    or Reverse MII modes. We always need to power on the RGMII interface for
    this block to properly work, regardless of the MII mode in which we
    operate.

    Fixes: aa09677cba423 ("net: bcmgenet: add MDIO routines")
    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • UDP encapsulation is broken on IPv6. This is because the logic to resubmit
    the nexthdr is inverted, checking for a ret value > 0 instead of < 0. Also,
    the resubmit label is in the wrong position since we already get the
    nexthdr value when performing decapsulation. In addition the skb pull is no
    longer necessary either.

    This changes the return value check to look for < 0, using it for the
    nexthdr on the next iteration, and moves the resubmit label to the proper
    location.

    With these changes the v6 code now matches what we do in the v4 ip input
    code wrt resubmitting when decapsulating.

    Signed-off-by: Josh Hunt
    Acked-by: "Tom Herbert"
    Signed-off-by: David S. Miller

    Josh Hunt
     
  • The memory pointed to by idev->stats.icmpv6msgdev,
    idev->stats.icmpv6dev and idev->stats.ipv6 can each be used in an RCU
    read context without taking a reference on idev. For example, through
    IP6_*_STATS_* calls in ip6_rcv. These memory blocks are freed without
    waiting for an RCU grace period to elapse. This could lead to the
    memory being written to after it has been freed.

    Fix this by using call_rcu to free the memory used for stats, as well
    as idev after an RCU grace period has elapsed.

    Signed-off-by: Robert Shearman
    Acked-by: Hannes Frederic Sowa
    Signed-off-by: David S. Miller

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

    Merge omap fixes for v4.1, urgent fix to avoid potential hardware damage From Tony Lindgren:

    Omap fixes for the -rc cycle, including a fix for potential hardware
    breakage on BeagleBones:

    - BeagleBones don't support RTC-only mode, it can cause hardware
    damage if system-power-controller is specified without
    ti,pmic-shutdown-controller

    - Fix a recent regression to am3517 SoCs caused by the recent clock
    move that was not noticed until now despite automated boot
    testing

    - Fix a regression for n900 touchscreen triggered by recent
    recent input changes

    - Fix compatible property for dm816x USB to avoid errors with
    USB Ethernet

    - Fix oops for omap3 when built with CONFIG_THUMB2_KERNEL

    * tag 'omap-for-v4.1/fixes-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: dts: am335x-boneblack: disable RTC-only sleep to avoid hardware damage
    ARM: dts: AM35xx: fix system control module clocks
    ARM: dts: Fix n900 dts file to work around 4.1 touchscreen regression on n900
    ARM: dts: Fix dm816x to use right compatible flag for MUSB
    ARM: OMAP3: Fix booting with thumb2 kernel

    Kevin Hilman
     
  • Pull Intel IOMMU fix from David Woodhouse:
    "This fixes an oops when attempting to enable 1:1 passthrough mode for
    devices on which VT-d translation was disabled anyway.

    It's actually a long-standing bug but recent changes (commit
    18436afdc11a: "iommu/vt-d: Allow RMRR on graphics devices too") have
    made it much easier to trigger with 'iommu=pt intel_iommu=igfx_off' on
    the command line"

    * git://git.infradead.org/intel-iommu:
    iommu/vt-d: Fix passthrough mode with translation-disabled devices

    Linus Torvalds
     

08 Jun, 2015

10 commits

  • Pull libata fixes from Tejun Heo:
    "Two driver fixes. One is for an ahci_mvebu controller config bug and
    the other fixes pata_octeon_cf build issue"

    * 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    pata_octeon_cf: fix broken build
    ata: ahci_mvebu: Fix wrongly set base address for the MBus window setting

    Linus Torvalds
     
  • MODULE_DEVICE_TABLE is referring to wrong driver's table and breaks the
    build. Fix that.

    Cc: stable@vger.kernel.org
    Signed-off-by: Aaro Koskinen
    Signed-off-by: Tejun Heo

    Aaro Koskinen
     
  • Linus Torvalds
     
  • When the driver gets unregistered a call to netif_napi_del() was
    missing, this all was also missing in the error paths of
    b44_init_one().

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: David S. Miller

    Hauke Mehrtens
     
  • br_fdb_update() can be called in process context in the following way:
    br_fdb_add() -> __br_fdb_add() -> br_fdb_update() (if NTF_USE flag is set)
    so we need to disable softirqs because there are softirq users of the
    hash_lock. One easy way to reproduce this is to modify the bridge utility
    to set NTF_USE, enable stp and then set maxageing to a low value so
    br_fdb_cleanup() is called frequently and then just add new entries in
    a loop. This happens because br_fdb_cleanup() is called from timer/softirq
    context. The spin locks in br_fdb_update were _bh before commit f8ae737deea1
    ("[BRIDGE]: forwarding remove unneeded preempt and bh diasables")
    and at the time that commit was correct because br_fdb_update() couldn't be
    called from process context, but that changed after commit:
    292d1398983f ("bridge: add NTF_USE support")
    Using local_bh_disable/enable around br_fdb_update() allows us to keep
    using the spin_lock/unlock in br_fdb_update for the fast-path.

    Signed-off-by: Nikolay Aleksandrov
    Fixes: 292d1398983f ("bridge: add NTF_USE support")
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • This reverts commit 1d7c49037b12016e7056b9f2c990380e2187e766.

    Nikolay Aleksandrov has a better version of this fix.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The mpls device is used in an RCU read context without a lock being
    held. As the memory is freed without waiting for the RCU grace period
    to elapse, the freed memory could still be in use.

    Address this by using kfree_rcu to free the memory for the mpls device
    after the RCU grace period has elapsed.

    Fixes: 03c57747a702 ("mpls: Per-device MPLS state")
    Signed-off-by: Robert Shearman
    Acked-by: "Eric W. Biederman"
    Signed-off-by: David S. Miller

    Robert Shearman
     
  • Pull MIPS updates from Ralf Baechle:
    "Eight fixes across arch/mips. Nothing stands particuarly out nor is
    complicated but fixes keep coming in at a higher than comfortable
    rate"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: KVM: Do not sign extend on unsigned MMIO load
    MIPS: BPF: Fix stack pointer allocation
    MIPS: Loongson-3: Fix a cpu-hotplug issue in loongson3_ipi_interrupt()
    MIPS: Fix enabling of DEBUG_STACKOVERFLOW
    MIPS: c-r4k: Fix typo in probe_scache()
    MIPS: Avoid an FPE exception in FCSR mask probing
    MIPS: ath79: Add a missing new line in log message
    MIPS: ralink: Fix clearing the illegal access interrupt

    Linus Torvalds
     
  • There are several places in the driver (all in control paths) where
    coherent dma memory is being allocated using either dma_alloc_coherent()
    or the deprecated pci_alloc_consistent(). All these calls should be
    changed to use dma_zalloc_coherent() to avoid uninitialized fields in
    data structures backed by this memory.

    Reported-by: Joerg Roedel
    Tested-by: Joerg Roedel
    Signed-off-by: Sriharsha Basavapatna
    Signed-off-by: David S. Miller

    Sriharsha Basavapatna
     
  • br_fdb_update() can be called in process context in the following way:
    br_fdb_add() -> __br_fdb_add() -> br_fdb_update() (if NTF_USE flag is set)
    so we need to use spin_lock_bh because there are softirq users of the
    hash_lock. One easy way to reproduce this is to modify the bridge utility
    to set NTF_USE, enable stp and then set maxageing to a low value so
    br_fdb_cleanup() is called frequently and then just add new entries in
    a loop. This happens because br_fdb_cleanup() is called from timer/softirq
    context. These locks were _bh before commit f8ae737deea1
    ("[BRIDGE]: forwarding remove unneeded preempt and bh diasables")
    and at the time that commit was correct because br_fdb_update() couldn't be
    called from process context, but that changed after commit:
    292d1398983f ("bridge: add NTF_USE support")

    Signed-off-by: Wilson Kok
    Signed-off-by: Nikolay Aleksandrov
    Fixes: 292d1398983f ("bridge: add NTF_USE support")
    Signed-off-by: David S. Miller

    Wilson Kok
     

07 Jun, 2015

11 commits

  • Since the Tx timer function runs in softirq context the driver needs
    to call disable_irq_nosync instead of a disable_irq.

    Reported-by: Josh Stone
    Signed-off-by: Tom Lendacky
    Signed-off-by: David S. Miller

    Lendacky, Thomas
     
  • rhashtable uses EXPORT_SYMBOL_GPL() without importing linux/export.h
    directly it is only imported indirectly through some other includes.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: David S. Miller

    Hauke Mehrtens
     
  • Pull driver core fixes from Greg KH:
    "Here are two fixes for the driver core that resolve some reported
    issues.

    One is a regression from 4.0, the other a fixes a reported oops that
    has been there since 3.19.

    Both have been in linux-next for a while with no problems"

    * tag 'driver-core-4.1-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    drivers/base: cacheinfo: handle absence of caches
    drivers: of/base: move of_init to driver_init

    Linus Torvalds
     
  • Pull staging / IIO fixes from Greg KH:
    "Here are some IIO driver fixes to resolve reported issues, some ozwpan
    fixes for some reported CVE problems, and a rtl8712 driver fix for a
    reported regression.

    All have been in linux-next successfully"

    * tag 'staging-4.1-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: rtl8712: fix stack dump
    ozwpan: unchecked signed subtraction leads to DoS
    ozwpan: divide-by-zero leading to panic
    ozwpan: Use unsigned ints to prevent heap overflow
    ozwpan: Use proper check to prevent heap overflow
    iio: adc: twl6030-gpadc: Fix modalias
    iio: adis16400: Fix burst transfer for adis16448
    iio: adis16400: Fix burst mode
    iio: adis16400: Compute the scan mask from channel indices
    iio: adis16400: Use != channel indices for the two voltage channels
    iio: adis16400: Report pressure channel scale

    Linus Torvalds
     
  • Pull tty/serial driver fixes from Greg KH:
    "Here are a few TTY and Serial driver fixes for reported regressions
    and crashes.

    All of these have been in linux-next with no reported problems"

    * tag 'tty-4.1-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    n_tty: Fix auditing support for cannonical mode
    serial: 8250_omap: provide complete custom startup & shutdown callbacks
    n_tty: Fix calculation of size in canon_copy_from_read_buf
    serial: imx: Fix DMA handling for IDLE condition aborts
    serial/amba-pl011: Unconditionally poll for FIFO space before each TX char

    Linus Torvalds
     
  • Pull USB and PHY driver fixes from Greg KH:
    "Here are some USB and PHY driver fixes that resolve some reported
    regressions. Also in here are some new device ids.

    All of the details are in the shortlog and these patches have been in
    linux-next with no problems"

    * tag 'usb-4.1-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (22 commits)
    USB: cp210x: add ID for HubZ dual ZigBee and Z-Wave dongle
    usb: renesas_usbhs: Don't disable the pipe if Control write status stage
    usb: renesas_usbhs: Fix fifo unclear in usbhsf_prepare_pop
    usb: gadget: f_fs: fix check in read operation
    usb: musb: fix order of conditions for assigning end point operations
    usb: gadget: f_uac1: check return code from config_ep_by_speed
    usb: gadget: ffs: fix: Always call ffs_closed() in ffs_data_clear()
    usb: gadget: g_ffs: Fix counting of missing_functions
    usb: s3c2410_udc: correct reversed pullup logic
    usb: dwc3: gadget: Fix incorrect DEPCMD and DGCMD status macros
    usb: phy: tahvo: Pass the IRQF_ONESHOT flag
    usb: phy: ab8500-usb: Pass the IRQF_ONESHOT flag
    usb: renesas_usbhs: Revise the binding document about the dma-names
    usb: host: xhci: add mutex for non-thread-safe data
    usb: make module xhci_hcd removable
    USB: serial: ftdi_sio: Add support for a Motion Tracker Development Board
    usb: gadget: f_midi: fix segfault when reading empty id
    phy: phy-rcar-gen2: Fix USBHS_UGSTS_LOCK value
    phy: omap-usb2: invoke pm_runtime_disable on error path
    phy: fix Kconfig dependencies
    ...

    Linus Torvalds
     
  • Pull devicetree fix from Grant Likely:
    "Stupid typo fix for v4.1. One of the IS_ENABLED() macro calls forgot
    the CONFIG_ prefix. Only affects a tiny number of platforms, but
    still..."

    * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux:
    of/dynamic: Fix test for PPC_PSERIES

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "i915 has a bunch of fixes, and Russell found a bug in sysfs writing
    handling that results in userspace getting stuck"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm: fix writing to /sys/class/drm/*/status
    drm/i915: Move WaBarrierPerformanceFixDisable:skl to skl code from chv code
    drm/i915: Include G4X/VLV/CHV in self refresh status
    drm/i915: Initialize HWS page address after GPU reset
    drm/i915: Don't skip request retirement if the active list is empty
    drm/i915/hsw: Fix workaround for server AUX channel clock divisor

    Linus Torvalds
     
  • Pull input subsystem fixes from Dmitry Torokhov:
    "Just a couple touchpad drivers fixups"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: alps - do not reduce trackpoint speed by half
    Input: elantech - add new icbody type
    Input: elantech - fix detection of touchpads where the revision matches a known rate

    Linus Torvalds
     
  • Pull swiotlb fix from Konrad Rzeszutek Wilk:
    "Tiny little fix which just converts an function to be static. Really
    tiny"

    * 'stable/for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
    swiotlb: do not export map_single function

    Linus Torvalds
     
  • Pull iBFT fix from Konrad Rzeszutek Wilk:
    "One single fix from Chris to workaround UEFI platforms failing with
    iSCSI IBFT"

    * 'stable/for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft:
    iscsi_ibft: filter null v4-mapped v6 addresses

    Linus Torvalds
     

06 Jun, 2015

5 commits

  • Fix possible unintended sign extension in unsigned MMIO loads by casting
    to uint16_t in the case of mmio_needed != 2.

    Signed-off-by: Nicholas Mc Guire
    Reviewed-by: James Hogan
    Tested-by: James Hogan
    Cc: Gleb Natapov
    Cc: Paolo Bonzini
    Cc: kvm@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/9985/
    Signed-off-by: Ralf Baechle

    Nicholas Mc Guire
     
  • Fix stack pointer offset which could potentially corrupt
    argument registers in the previous frame. The calculated offset
    reflects the size of all the registers we need to preserve so there
    is no need for this erroneous subtraction.

    [ralf@linux-mips.org: Fixed conflict due to only applying this fix part
    of the entire series as part of 4.1 fixes.]

    Signed-off-by: Markos Chandras
    Cc: netdev@vger.kernel.org
    Cc: "David S. Miller"
    Cc: Alexei Starovoitov
    Cc: Daniel Borkmann
    Cc: Hannes Frederic Sowa
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/10527/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • setup_per_cpu_areas() only setup __per_cpu_offset[] for each possible
    cpu, but loongson_sysconf.nr_cpus can be greater than possible cpus
    (due to reserved_cpus_mask). So in loongson3_ipi_interrupt(), percpu
    access will touch the original varible in .data..percpu section which
    has been freed. Without this patch, cpu-hotplug will cause memery
    corruption.

    Signed-off-by: Huacai Chen
    Cc: John Crispin
    Cc: Steven J. Hill
    Cc: linux-mips@linux-mips.org
    Cc: Fuxin Zhang
    Cc: Zhangjin Wu
    Patchwork: http://patchwork.linux-mips.org/patch/10524/
    Signed-off-by: Ralf Baechle

    Huacai Chen
     
  • Commit 334c86c494b9 ("MIPS: IRQ: Add stackoverflow detection") added
    kernel stack overflow detection, however it only enabled it conditional
    upon the preprocessor definition DEBUG_STACKOVERFLOW, which is never
    actually defined. The Kconfig option is called DEBUG_STACKOVERFLOW,
    which manifests to the preprocessor as CONFIG_DEBUG_STACKOVERFLOW, so
    switch it to using that definition instead.

    Fixes: 334c86c494b9 ("MIPS: IRQ: Add stackoverflow detection")
    Signed-off-by: James Hogan
    Cc: Ralf Baechle
    Cc: Adam Jiang
    Cc: linux-mips@linux-mips.org
    Cc: # 2.6.37+
    Patchwork: http://patchwork.linux-mips.org/patch/10531/
    Signed-off-by: Ralf Baechle

    James Hogan
     
  • Fixes a typo in arch/mips/mm/c-r4k.c's probe_scache().

    Signed-off-by: Joshua Kinard
    Signed-off-by: Ralf Baechle

    Joshua Kinard