1. 03 12月, 2014 1 次提交
  2. 30 11月, 2014 7 次提交
    • M
      sh_eth: Fix sleeping function called from invalid context · 7fa2955f
      Mitsuhiro Kimura 提交于
      This resolves the following bug which can be reproduced by building the
      kernel with CONFIG_DEBUG_ATOMIC_SLEEP=y and reading network statistics
      while the network interface is down.
      
      e.g.:
      
      ifconfig eth0 down
      cat /sys/class/net/eth0/statistics/tx_errors
      
      ----
      [ 1238.161349] BUG: sleeping function called from invalid context at drivers/base/power/runtime.c:952
      [ 1238.188279] in_atomic(): 1, irqs_disabled(): 0, pid: 1388, name: cat
      [ 1238.207425] CPU: 0 PID: 1388 Comm: cat Not tainted 3.10.31-ltsi-00046-gefa0b46 #1087
      [ 1238.230737] Backtrace:
      [ 1238.238123] [<c0012e64>] (dump_backtrace+0x0/0x10c) from [<c0013000>] (show_stack+0x18/0x1c)
      [ 1238.263499]  r6:000003b8 r5:c06160c0 r4:c0669e00 r3:00404000
      [ 1238.280583] [<c0012fe8>] (show_stack+0x0/0x1c) from [<c04515a4>] (dump_stack+0x20/0x28)
      [ 1238.304631] [<c0451584>] (dump_stack+0x0/0x28) from [<c004970c>] (__might_sleep+0xf8/0x118)
      [ 1238.329734] [<c0049614>] (__might_sleep+0x0/0x118) from [<c02465ac>] (__pm_runtime_resume+0x38/0x90)
      [ 1238.357170]  r7:d616f000 r6:c049c458 r5:00000004 r4:d6a17210
      [ 1238.374251] [<c0246574>] (__pm_runtime_resume+0x0/0x90) from [<c029b1c4>] (sh_eth_get_stats+0x44/0x280)
      [ 1238.402468]  r7:d616f000 r6:c049c458 r5:d5c21000 r4:d5c21000
      [ 1238.419552] [<c029b180>] (sh_eth_get_stats+0x0/0x280) from [<c03ae39c>] (dev_get_stats+0x54/0x88)
      [ 1238.446204]  r5:d5c21000 r4:d5ed7e08
      [ 1238.456980] [<c03ae348>] (dev_get_stats+0x0/0x88) from [<c03c677c>] (netstat_show.isra.15+0x54/0x9c)
      [ 1238.484413]  r6:d5c21000 r5:d5c21238 r4:00000028 r3:00000001
      [ 1238.501495] [<c03c6728>] (netstat_show.isra.15+0x0/0x9c) from [<c03c69b8>] (show_tx_errors+0x18/0x1c)
      [ 1238.529196]  r7:d5f945d8 r6:d5f945c0 r5:c049716c r4:c0650e7c
      [ 1238.546279] [<c03c69a0>] (show_tx_errors+0x0/0x1c) from [<c023963c>] (dev_attr_show+0x24/0x50)
      [ 1238.572157] [<c0239618>] (dev_attr_show+0x0/0x50) from [<c010c148>] (sysfs_read_file+0xb0/0x140)
      [ 1238.598554]  r5:c049716c r4:d5c21240
      [ 1238.609326] [<c010c098>] (sysfs_read_file+0x0/0x140) from [<c00b9ee4>] (vfs_read+0xb0/0x13c)
      [ 1238.634679] [<c00b9e34>] (vfs_read+0x0/0x13c) from [<c00ba0ac>] (SyS_read+0x44/0x74)
      [ 1238.657944]  r8:bef45bf0 r7:00000000 r6:d6ac0600 r5:00000000 r4:00000000
      [ 1238.678172] [<c00ba068>] (SyS_read+0x0/0x74) from [<c000eec0>] (ret_fast_syscall+0x0/0x30)
      ----
      Signed-off-by: NMitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>
      Signed-off-by: NYoshihiro Kaneko <ykaneko0929@gmail.com>
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7fa2955f
    • H
      stmmac: platform: Move plat_dat checking earlier · 28603d13
      Huacai Chen 提交于
      Original code only check/alloc plat_dat for the CONFIG_OF case, this
      patch check/alloc it earlier and unconditionally to avoid kernel build
      warnings:
      
      drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c:275
      stmmac_pltfr_probe() warn: variable dereferenced before check 'plat_dat'
      
      V2: Fix coding style.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      28603d13
    • M
      sh_eth: Fix skb alloc size and alignment adjust rule. · 4d6a949c
      Mitsuhiro Kimura 提交于
      In the current driver, allocation size of skb does not care the alignment
      adjust after allocation.
      And also, in the current implementation, buffer alignment method by
      sh_eth_set_receive_align function has a bug that this function displace
      buffer start address forcedly when the alignment is corrected.
      In the result, tail of the skb will exceed allocated area and kernel panic
      will be occurred.
      This patch fix this issue.
      Signed-off-by: NMitsuhiro Kimura <mitsuhiro.kimura.kc@renesas.com>
      Signed-off-by: NYoshihiro Kaneko <ykaneko0929@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4d6a949c
    • N
      rtnetlink: release net refcnt on error in do_setlink() · e0ebde0e
      Nicolas Dichtel 提交于
      rtnl_link_get_net() holds a reference on the 'struct net', we need to release
      it in case of error.
      
      CC: Eric W. Biederman <ebiederm@xmission.com>
      Fixes: b51642f6 ("net: Enable a userns root rtnl calls that are safe for unprivilged users")
      Signed-off-by: NNicolas Dichtel <nicolas.dichtel@6wind.com>
      Reviewed-by: N"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e0ebde0e
    • T
      bond: Check length of IFLA_BOND_ARP_IP_TARGET attributes · f6c6fda4
      Thomas Graf 提交于
      Fixes: 7f28fa10 ("bonding: add arp_ip_target netlink support")
      Reported-by: NJohn Fastabend <john.fastabend@gmail.com>
      Cc: Scott Feldman <sfeldma@cumulusnetworks.com>
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Acked-by: NJohn Fastabend <john.r.fastabend@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f6c6fda4
    • L
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7a5a4f97
      Linus Torvalds 提交于
      Pull irq fixes from Thomas Gleixner:
       "Three fixlets from the ARM SoC camp:
         - correct irqdomain initialization for atmel-aic
         - correct error handling for device tree parsing in bcm controllers"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip: brcmstb-l2: Fix error handling of irq_of_parse_and_map
        irqchip: bcm7120-l2: Fix error handling of irq_of_parse_and_map
        irqchip: atmel-aic: Fix irqdomain initialization
      7a5a4f97
    • L
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · ed02bfa4
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "This is a set of ten fixes: 8 for UFS including four static checker
        warnings, a potential null deref in the voltage regulator code, a race
        on module unload, a ref counting fix on the well known LUNs which made
        it impossible to remove the ufs module and fix to correct the
        information in pwr_info.
      
        In addition to UFS, there's a blacklist for the Intel Multi-Flex array
        which chokes on report supported operation codes and a fix to an oops
        in bnx2fc caused by shared skbs"
      
      [ For us non-SCSI people: "UFS" here is "Universal Flash Storage" not
        the filesystem.  - Linus ]
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        ufs: fix NULL dereference when no regulators are defined
        ufs: ensure clk gating work is finished before module unloading
        scsi: ufs: fix static checker warning in ufshcd_parse_clock_info
        scsi: ufs: fix static checker warning in __ufshcd_setup_clocks
        scsi: ufs: fix static checker warning in ufshcd_populate_vreg
        scsi: ufs: fix static checker errors in ufshcd_system_suspend
        ufs: fix power info after link start-up
        ufs: fix reference counting of W-LUs
        scsi: add Intel Multi-Flex to scsi scan blacklist
        bnx2fc: do not add shared skbs to the fcoe_rx_list
      ed02bfa4
  3. 29 11月, 2014 7 次提交
    • L
      Merge tag 'staging-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 88910638
      Linus Torvalds 提交于
      Pull staging/IIO driver fixes from Greg KH:
       "Here are some staging and IIO driver fixes for 3.18-rc7 that resolve a
        number of reported issues, and a new device id for a staging wireless
        driver.
      
        All of these have been in linux-next"
      
      * tag 'staging-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8188eu: Add new device ID for DLink GO-USB-N150
        staging: r8188eu: Fix scheduling while atomic error introduced in commit fadbe0cd
        iio: accel: bmc150: set low default thresholds
        iio: accel: bmc150: Fix iio_event_spec direction
        iio: accel: bmc150: Send x, y and z motion separately
        iio: accel: bmc150: Error handling when mode set fails
        iio: gyro: bmg160: Fix iio_event_spec direction
        iio: gyro: bmg160: Send x, y and z motion separately
        iio: gyro: bmg160: Don't let interrupt mode to be open drain
        iio: gyro: bmg160: Error handling when mode set fails
        iio: adc: men_z188_adc: Add terminating entry for men_z188_ids
        iio: accel: kxcjk-1013: Fix kxcjk10013_set_range
        iio: Fix IIO_EVENT_CODE_EXTRACT_DIR bit mask
      88910638
    • L
      Merge tag 'tty-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 6f93840d
      Linus Torvalds 提交于
      Pull tty/serial fix from Greg KH:
       "Here is a single revert for the of-serial driver that resolves a
        reported issue.
      
        This revert has been in linux-next for a while"
      
      * tag 'tty-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        Revert "serial: of-serial: add PM suspend/resume support"
      6f93840d
    • L
      Merge tag 'usb-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 4742eb3d
      Linus Torvalds 提交于
      Pull USB fixes from Greg KH:
       "Here are some USB driver fixes and new device ids for 3.18-rc7.
      
        Full details are in the shortlog, and all of these have been in the
        linux-next tree for a while"
      
      * tag 'usb-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb-quirks: Add reset-resume quirk for MS Wireless Laser Mouse 6000
        usb: xhci: rework root port wake bits if controller isn't allowed to wakeup
        USB: xhci: Reset a halted endpoint immediately when we encounter a stall.
        Revert "xhci: clear root port wake on bits if controller isn't wake-up capable"
        USB: xhci: don't start a halted endpoint before its new dequeue is set
        USB: uas: Add no-uas quirk for Hitachi usb-3 enclosures 4971:1012
        USB: ssu100: fix overrun-error reporting
        USB: keyspan: fix overrun-error reporting
        USB: keyspan: fix tty line-status reporting
        usb: serial: ftdi_sio: add PIDs for Matrix Orbital products
        usb: dwc3: ep0: fix for dead code
        USB: serial: cp210x: add IDs for CEL MeshConnect USB Stick
      4742eb3d
    • L
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal · cba3b00d
      Linus Torvalds 提交于
      Pull thermal fixes from Eduardo Valentin:
       "In this -rc still very minor changes:
      
         - Lee Jones fixes compilation warning in sti thermal driver
         - Marjus Elfring removes unnecessary checks in exynos thermal driver
           (as per coccinelle)
         - Now we always update cpufreq policies, and thus get (hopefully)
           always in sync with cpufreq, thanks to Yadwinder"
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal:
        thermal: Exynos: Deletion of unnecessary checks before two function calls
        thermal: sti: Ignore suspend/resume functions when !PM_SLEEP
        thermal: cpu_cooling: Update always cpufreq policy with thermal constraints
      cba3b00d
    • L
      Merge tag 'sound-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 16cf45c0
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "No excitement, here are only minor fixes: an endian fix for the new
        DSD format we added in 3.18, a fix for HP mute LED, and a fix for
        Native Instrument quirk"
      
      * tag 'sound-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: pcm: Add big-endian DSD sample formats and fix XMOS DSD sample format
        ALSA: hda - One more HP machine needs to change mute led quirk
        ALSA: usb-audio: Use snd_usb_ctl_msg() for Native Instruments quirk
      16cf45c0
    • L
      Merge tag 'armsoc-for-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 615b994e
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Arnd Bergmann:
       "Not much interesting going on fixes-wise for us this week, as it
        should be for an -rc7.  I'm not expecting Olof to work much over
        Thanksgiving weekend, so I decided to take over again and push these
        out to you.
      
        Just four simple fixes this week:
      
         - one missing of_node_put() on armv7 based mvebu
         - forcing the USB host into the right mode on Chromebook
           (exynos5-snow)
         - enabling two important drivers for exynos_defconfig
         - fixing a noncritical bug for tegra that would cause a regression
           with common code patches queued for 3.19"
      
      * tag 'armsoc-for-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: tegra: irq: fix buggy usage of irq_data irq field
        ARM: exynos_defconfig: Enable max77802 rtc and clock drivers
        ARM: dts: Explicitly set dr_mode on exynos5250-snow
        ARM: mvebu: add missing of_node_put() call in coherency.c
      615b994e
    • L
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · e818d5ed
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Another round of relatively small ARM fixes.
      
        Thomas spotted that the strex backoff delay bit was a disable bit, so
        it needed to be clear for this to work.  Vladimir spotted that using a
        restart block for the cache flush operation would return -EINTR, which
        userspace was not expecting.  Dmitry spotted that the auxiliary
        control register accesses for Xscale were not correct"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8226/1: cacheflush: get rid of restarting block
        ARM: 8222/1: mvebu: enable strex backoff delay
        ARM: 8216/1: xscale: correct auxiliary register in suspend/resume
      e818d5ed
  4. 28 11月, 2014 8 次提交
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 98e8d2e0
      Linus Torvalds 提交于
      Pull mips fixes from Ralf Baechle:
       "The hopefully final round of fixes for 3.18:
      
         - Fix a number of build errors affecting particular configurations.
         - Handle EVA correctly when flushing a signal trampoline and dcache
           lines.
         - Fix printks printing jibberish.
         - Handle 64 bit memory addresses correctly when adding memory chunk
           on 32 bit kernels.
         - Fix a race condition in the hardware tablewalker code"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: tlbex: Fix potential HTW race on TLBL/M/S handlers
        MIPS: Fix address type used for early memory detection.
        MIPS: Kconfig: Don't allow both microMIPS and SmartMIPS to be selected.
        MIPS: kernel: cps-vec: Set ISA level to mips32r2 for the MIPS MT ASE
        MIPS: Netlogic: handle modular AHCI builds
        MIPS: Netlogic: handle modular USB case
        MIPS: Loongson: Make platform serial setup always built-in.
        MIPS: fix EVA & non-SMP non-FPU FP context signal handling
        MIPS: cpu-probe: Set the FTLB probability bit on supported cores
        MIPS: BMIPS: Fix ".previous without corresponding .section" warnings
        MIPS: uaccess.h: Fix strnlen_user comment.
        MIPS: r4kcache: Add EVA case for protected_writeback_dcache_line
        MIPS: Fix info about plat_setup in arch_mem_init comment
        MIPS: rtlx: Remove KERN_DEBUG from pr_debug() arguments in rtlx.c
        MIPS: SEAD3: Fix LED device registration.
        MIPS: Fix a copy & paste error in unistd.h
      98e8d2e0
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux · 21f122f4
      Linus Torvalds 提交于
      Pull powerpc fixes from Michael Ellerman:
       "Here are five fixes for you to pull please.
      
        They're all CC'ed to stable except the "Fix PE state format" one which
        went in this release"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
        powerpc: 32 bit getcpu VDSO function uses 64 bit instructions
        powerpc/powernv: Replace OPAL_DEASSERT_RESET with EEH_RESET_DEACTIVATE
        powerpc/eeh: Fix PE state format
        powerpc/pseries: Fix endiannes issue in RTAS call from xmon
        powerpc/powernv: Fix the hmi event version check.
      21f122f4
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · ae979430
      Linus Torvalds 提交于
      Pull sparc fixlet from David Miller:
       "Aparc fix to add dma_cache_sync(), even if a nop it should be provided
        if dma_{alloc,free}_noncoherent() is provided too"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: Add NOP dma_cache_sync() implementation.
      ae979430
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 8e845971
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
       "Several small fixes here:
      
         1) Don't crash in tg3 driver when the number of tx queues has been
            configured to be different from the number of rx queues.  From
            Thadeu Lima de Souza Cascardo.
      
         2) VLAN filter not disabled properly in promisc mode in ixgbe driver,
            from Vlad Yasevich.
      
         3) Fix OOPS on dellink op in VTI tunnel driver, from Xin Long.
      
         4) IPV6 GRE driver WCCP code checks skb->protocol for ETH_P_IP
            instead of ETH_P_IPV6, whoops.  From Yuri Chislov.
      
         5) Socket matching in ping driver is buggy when packet AF does not
            match socket's AF.  Fix from Jane Zhou.
      
         6) Fix checksum calculation errors in VXLAN due to where the
            udp_tunnel6_xmit_skb() helper gets it's saddr/daddr from.  From
            Alexander Duyck.
      
         7) Fix 5G detection problem in rtlwifi driver, from Larry Finger.
      
         8) Fix NULL deref in tcp_v{4,6}_send_reset, from Eric Dumazet.
      
         9) Various missing netlink attribute verifications in bridging code,
            from Thomas Graf.
      
        10) tcp_recvmsg() unconditionally calls ipv4 ip_recv_error even for
            ipv6 sockets, whoops.  Fix from Willem de Bruijn"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (29 commits)
        net-timestamp: make tcp_recvmsg call ipv6_recv_error for AF_INET6 socks
        bridge: Sanitize IFLA_EXT_MASK for AF_BRIDGE:RTM_GETLINK
        bridge: Add missing policy entry for IFLA_BRPORT_FAST_LEAVE
        net: Check for presence of IFLA_AF_SPEC
        net: Validate IFLA_BRIDGE_MODE attribute length
        bridge: Validate IFLA_BRIDGE_FLAGS attribute length
        stmmac: platform: fix default values of the filter bins setting
        net/mlx4_core: Limit count field to 24 bits in qp_alloc_res
        net: dsa: bcm_sf2: reset switch prior to initialization
        net: dsa: bcm_sf2: fix unmapping registers in case of errors
        tg3: fix ring init when there are more TX than RX channels
        tcp: fix possible NULL dereference in tcp_vX_send_reset()
        rtlwifi: Change order in device startup
        rtlwifi: rtl8821ae: Fix 5G detection problem
        Revert "netfilter: conntrack: fix race in __nf_conntrack_confirm against get_next_corpse"
        vxlan: Fix boolean flip in VXLAN_F_UDP_ZERO_CSUM6_[TX|RX]
        ip6_udp_tunnel: Fix checksum calculation
        net-timestamp: Fix a documentation typo
        net/ping: handle protocol mismatching scenario
        af_packet: fix sparse warning
        ...
      8e845971
    • L
      Merge tag 'spi-v3.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 190fc9d9
      Linus Torvalds 提交于
      Pull spi fixes from Mark Brown:
       "There's a couple of driver fixes here, plus one core fix for the DMA
        mapping which wasn't doing the right thing for vmalloc()ed addresses
        that hadn't been through kmap().  It's fairly rare to use vmalloc()
        with SPI and it's a subset of those users who might fail so it's
        unsurprising that this wasn't noticed sooner"
      
      * tag 'spi-v3.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: sirf: fix word width configuration
        spi: Fix mapping from vmalloc-ed buffer to scatter list
        spi: dw: Fix dynamic speed change.
      190fc9d9
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 0210bb60
      Linus Torvalds 提交于
      Pull input layer fixes from Dmitry Torokhov:
       "The main change is to fix breakage in Elantech driver introduced by
        the recent commit adding trackpoint reporting to protocol v4.  Now we
        are trusting the hardware to advertise the trackpoint properly and do
        not try to decode the data as trackpoint if firmware told us it is not
        present"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: xpad - use proper endpoint type
        Input: elantech - trust firmware about trackpoint presence
        Input: synaptics - adjust min/max on Thinkpad E540
      0210bb60
    • L
      staging: r8188eu: Add new device ID for DLink GO-USB-N150 · 6d4556fc
      Larry Finger 提交于
      The DLink GO-USB-N150 with revision B1 uses this driver.
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6d4556fc
    • L
      MIPS: tlbex: Fix potential HTW race on TLBL/M/S handlers · 070e76cb
      Leonid Yegoshin 提交于
      There is a potential race when probing the TLB in TLBL/M/S exception
      handlers for a matching entry. Between the time we hit a TLBL/S/M
      exception and the time we get to execute the TLBP instruction, the
      HTW may have replaced the TLB entry we are interested in hence the TLB
      probe may fail. However, in the existing handlers, we never checked the
      status of the TLBP (ie check the result in the C0/Index register). We
      fix this by adding such a check when the core implements the HTW. If
      we couldn't find a matching entry, we return back and try again.
      Signed-off-by: NLeonid Yegoshin <Leonid.Yegoshin@imgtec.com>
      Signed-off-by: NMarkos Chandras <markos.chandras@imgtec.com>
      Reviewed-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: <stable@vger.kernel.org> # v3.17+
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/8599/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      070e76cb
  5. 27 11月, 2014 17 次提交
    • V
      ARM: 8226/1: cacheflush: get rid of restarting block · 3f4aa45c
      Vladimir Murzin 提交于
      We cannot restart cacheflush safely if a process provides user-defined
      signal handler and signal is pending. In this case -EINTR is returned
      and it is expected that process re-invokes syscall. However, there are
      a few problems with that:
       * looks like nobody bothers checking return value from cacheflush
       * but if it did, we don't provide the restart address for that, so the
         process has to use the same range again
       * ...and again, what might lead to looping forever
      
      So, remove cacheflush restarting code and terminate cache flushing
      as early as fatal signal is pending.
      
      Cc: stable@vger.kernel.org # 3.12+
      Reported-by: NChanho Min <chanho.min@lge.com>
      Signed-off-by: NVladimir Murzin <vladimir.murzin@arm.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3f4aa45c
    • T
      ARM: 8222/1: mvebu: enable strex backoff delay · 995ab518
      Thomas Petazzoni 提交于
      Under extremely rare conditions, in an MPCore node consisting of at
      least 3 CPUs, two CPUs trying to perform a STREX to data on the same
      shared cache line can enter a livelock situation.
      
      This patch enables the HW mechanism that overcomes the bug. This fixes
      the incorrect setup of the STREX backoff delay bit due to a wrong
      description in the specification.
      
      Note that enabling the STREX backoff delay mechanism is done by
      leaving the bit *cleared*, while the bit was currently being set by
      the proc-v7.S code.
      
      [Thomas: adapt to latest mainline, slightly reword the commit log, add
      stable markers.]
      
      Fixes: de490193 ("arm: mm: Add support for PJ4B cpu and init routines")
      
      Cc: <stable@vger.kernel.org> # v3.8+
      Signed-off-by: NNadav Haklai <nadavh@marvell.com>
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Acked-by: NGregory CLEMENT <gregory.clement@free-electrons.com>
      Acked-by: NJason Cooper <jason@lakedaemon.net>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      995ab518
    • A
      Merge tag 'mvebu-fixes-3.18-2' of git://git.infradead.org/linux-mvebu into fixes · 96ba18ff
      Arnd Bergmann 提交于
      Pull "mvebu fixes for v3.18 (round 2)" frm Jason Cooper:
      
       - mvebu
          - coherency.c needed an of_node_put()
      
      * tag 'mvebu-fixes-3.18-2' of git://git.infradead.org/linux-mvebu:
        ARM: mvebu: add missing of_node_put() call in coherency.c
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      96ba18ff
    • A
      Merge tag 'samsung-defconfig-v3.18' of... · a572c9dd
      Arnd Bergmann 提交于
      Merge tag 'samsung-defconfig-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
      
      Pull "Samsung defconfig update for v3.18" from Kukjin Kim:
      
      - enable max77802 rtc and clock drivers for exynos_defconfig
        : enable the kernel config options to have the drivers for
          max77802 including rtc and 2-ch 32kHz clock outputs
      
      * tag 'samsung-defconfig-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: exynos_defconfig: Enable max77802 rtc and clock drivers
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      a572c9dd
    • A
      Merge tag 'samsung-fixes-v3.18' of... · d168c852
      Arnd Bergmann 提交于
      Merge tag 'samsung-fixes-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
      
      Pull "Samsung fixes for v3.18" from Kukjin Kim:
      
      - explicitly set dr_mode on exynos5250-snow
        this is required when kernel is built with USB gadget support.
      
      * tag 'samsung-fixes-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
        ARM: dts: Explicitly set dr_mode on exynos5250-snow
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      d168c852
    • M
      ARM: tegra: irq: fix buggy usage of irq_data irq field · 9a343b9e
      Marc Zyngier 提交于
      The crazy gic_arch_extn thing that Tegra uses contains multiple
      references to the irq field in struct irq_data, and uses this
      to directly poke hardware register.
      
      But irq is the *virtual* irq number, something that has nothing
      to do with the actual HW irq (stored in the hwirq field). And once
      we put the stacked domain code in action, the whole thing explodes,
      as these two values are *very* different:
      
      root@bacon-fat:~# cat /proc/interrupts
                  CPU0       CPU1
       16:      25801       2075       GIC  29  twd
       17:          0          0       GIC  73  timer0
      112:          0          0      GPIO  58  c8000600.sdhci cd
      123:          0          0      GPIO  69  c8000200.sdhci cd
      279:       1126          0       GIC 122  serial
      281:          0          0       GIC  70  7000c000.i2c
      282:          0          0       GIC 116  7000c400.i2c
      283:          0          0       GIC 124  7000c500.i2c
      284:        300          0       GIC  85  7000d000.i2c
      [...]
      
      Just replacing all instances of irq with hwirq fixes the issue.
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      Acked-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      9a343b9e
    • A
      powerpc: 32 bit getcpu VDSO function uses 64 bit instructions · 152d44a8
      Anton Blanchard 提交于
      I used some 64 bit instructions when adding the 32 bit getcpu VDSO
      function. Fix it.
      
      Fixes: 18ad51dd ("powerpc: Add VDSO version of getcpu")
      Cc: stable@vger.kernel.org
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      152d44a8
    • G
      powerpc/powernv: Replace OPAL_DEASSERT_RESET with EEH_RESET_DEACTIVATE · 360d88a9
      Gavin Shan 提交于
      The flag passed to ioda_eeh_phb_reset() should be EEH_RESET_DEACTIVATE,
      which is translated to OPAL_DEASSERT_RESET or something else by the
      EEH backend accordingly.
      
      The patch replaces OPAL_DEASSERT_RESET with EEH_RESET_DEACTIVATE for
      ioda_eeh_phb_reset().
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      360d88a9
    • G
      powerpc/eeh: Fix PE state format · 7531473c
      Gavin Shan 提交于
      Obviously I had wrong format given to the PE state output from
      /sys/bus/pci/devices/xxxx/eeh_pe_state with some typoes, which
      was introduced by commit 2013add4. The patch fixes it up.
      
      Fixes: 2013add4 ("powerpc/eeh: Show hex prefix for PE state sysfs")
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      7531473c
    • L
      powerpc/pseries: Fix endiannes issue in RTAS call from xmon · 3b8a3c01
      Laurent Dufour 提交于
      On pseries system (LPAR) xmon failed to enter when running in LE mode,
      system is hunging. Inititating xmon will lead to such an output on the
      console:
      
      SysRq : Entering xmon
      cpu 0x15: Vector: 0  at [c0000003f39ffb10]
          pc: c00000000007ed7c: sysrq_handle_xmon+0x5c/0x70
          lr: c00000000007ed7c: sysrq_handle_xmon+0x5c/0x70
          sp: c0000003f39ffc70
         msr: 8000000000009033
        current = 0xc0000003fafa7180
        paca    = 0xc000000007d75e80	 softe: 0	 irq_happened: 0x01
          pid   = 14617, comm = bash
      Bad kernel stack pointer fafb4b0 at eca7cc4
      cpu 0x15: Vector: 300 (Data Access) at [c000000007f07d40]
          pc: 000000000eca7cc4
          lr: 000000000eca7c44
          sp: fafb4b0
         msr: 8000000000001000
         dar: 10000000
       dsisr: 42000000
        current = 0xc0000003fafa7180
        paca    = 0xc000000007d75e80	 softe: 0	 irq_happened: 0x01
          pid   = 14617, comm = bash
      cpu 0x15: Exception 300 (Data Access) in xmon, returning to main loop
      xmon: WARNING: bad recursive fault on cpu 0x15
      
      The root cause is that xmon is calling RTAS to turn off the surveillance
      when entering xmon, and RTAS is requiring big endian parameters.
      
      This patch is byte swapping the RTAS arguments when running in LE mode.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NLaurent Dufour <ldufour@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      3b8a3c01
    • M
      powerpc/powernv: Fix the hmi event version check. · 6acbc5a1
      Mahesh Salgaonkar 提交于
      The current HMI event structure is an ABI and carries a version field to
      accommodate future changes without affecting/rearranging current structure
      members that are valid for previous versions.
      
      The current version check "if (hmi_evt->version != OpalHMIEvt_V1)"
      doesn't accomodate the fact that the version number may change in
      future.
      
      If firmware starts returning an HMI event with version > 1, this check
      will fail and no HMI information will be printed on older kernels.
      
      This patch fixes this issue.
      
      Cc: stable@vger.kernel.org # 3.17+
      Signed-off-by: NMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      [mpe: Reword changelog]
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      6acbc5a1
    • L
      staging: r8188eu: Fix scheduling while atomic error introduced in commit fadbe0cd · 33dc85c3
      Larry Finger 提交于
      In commit fadbe0cd entitled "staging:
      rtl8188eu:Remove rtw_zmalloc(), wrapper for kzalloc()", the author failed
      to note that the original code in the wrapper tested whether the caller
      could sleep, and set the flags argument to kzalloc() appropriately.
      After the patch, GFP_KERNEL is used unconditionally. Unfortunately, several
      of the routines may be entered from an interrupt routine and generate
      a BUG splat for every such call. Routine rtw_sitesurvey_cmd() is used in the
      example below:
      
      BUG: sleeping function called from invalid context at mm/slub.c:1240
      in_atomic(): 1, irqs_disabled(): 0, pid: 756, name: wpa_supplicant
      INFO: lockdep is turned off.
      CPU: 2 PID: 756 Comm: wpa_supplicant Tainted: G        WC O   3.18.0-rc4+ #34
      Hardware name: TOSHIBA TECRA A50-A/TECRA A50-A, BIOS Version 4.20   04/17/2014
      ffffc90005557000 ffff880216fafaa8 ffffffff816b0bbf 0000000000000000
      ffff8800c3b58000 ffff880216fafac8 ffffffff8107af77 0000000000000001
      0000000000000010 ffff880216fafb18 ffffffff811b06ce 0000000000000000
      Call Trace:
       [<ffffffff816b0bbf>] dump_stack+0x4e/0x71
       [<ffffffff8107af77>] __might_sleep+0xf7/0x120
       [<ffffffff811b06ce>] kmem_cache_alloc_trace+0x4e/0x1f0
       [<ffffffffa0888226>] ? rtw_sitesurvey_cmd+0x56/0x2a0 [r8188eu]
       [<ffffffffa0888226>] rtw_sitesurvey_cmd+0x56/0x2a0 [r8188eu]
       [<ffffffffa088f00d>] rtw_do_join+0x22d/0x370 [r8188eu]
       [<ffffffffa088f6e8>] rtw_set_802_11_ssid+0x218/0x3d0 [r8188eu]
       [<ffffffffa08c3ca5>] rtw_wx_set_essid+0x1e5/0x410 [r8188eu]
       [<ffffffffa08c3ac0>] ? rtw_wx_get_rate+0x50/0x50 [r8188eu]
       [<ffffffff816938f1>] ioctl_standard_iw_point+0x151/0x3f0
       [<ffffffff81693d52>] ioctl_standard_call+0xb2/0xe0
       [<ffffffff81597df7>] ? rtnl_lock+0x17/0x20
       [<ffffffff816945a0>] ? iw_handler_get_private+0x70/0x70
       [<ffffffff81693ca0>] ? call_commit_handler+0x40/0x40
       [<ffffffff81693256>] wireless_process_ioctl+0x176/0x1c0
       [<ffffffff81693e79>] wext_handle_ioctl+0x69/0xc0
       [<ffffffff8159fe79>] dev_ioctl+0x309/0x5e0
       [<ffffffff810be9c7>] ? call_rcu+0x17/0x20
       [<ffffffff8156a472>] sock_ioctl+0x142/0x2e0
       [<ffffffff811e0c70>] do_vfs_ioctl+0x300/0x520
       [<ffffffff81101514>] ? __audit_syscall_entry+0xb4/0x110
       [<ffffffff81101514>] ? __audit_syscall_entry+0xb4/0x110
       [<ffffffff810102bc>] ? do_audit_syscall_entry+0x6c/0x70
       [<ffffffff811e0f11>] SyS_ioctl+0x81/0xa0
       [<ffffffff816ba1d2>] system_call_fastpath+0x12/0x17
      
      Additional routines that generate this BUG are rtw_joinbss_cmd(),
      rtw_dynamic_chk_wk_cmd(), rtw_lps_ctrl_wk_cmd(), rtw_rpt_timer_cfg_cmd(),
      rtw_ps_cmd(), report_survey_event(), report_join_res(), survey_timer_hdl(),
      and rtw_check_bcn_info().
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: navin patidar <navin.patidar@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      33dc85c3
    • D
      Merge tag 'master-2014-11-25' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · d1c637c5
      David S. Miller 提交于
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-11-26
      
      Please pull this little batch of fixes intended for the 3.18 stream...
      
      For the iwlwifi one, Emmanuel says:
      
      "Not all the firmware know how to handle the HOT_SPOT_CMD.
      Make sure that the firmware will know this command before
      sending it. This avoids a firmware crash."
      
      Along with that, Larry sends a pair of rtlwifi fixes to address some
      discrepancies from moving drivers out of staging.  Larry says:
      
      "These two patches are needed to fix a regression introduced when
      driver rtl8821ae was moved from staging to the regular wireless tree."
      
      Please let me know if there are problems!
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d1c637c5
    • D
      sparc: Add NOP dma_cache_sync() implementation. · 0d1d9092
      David S. Miller 提交于
      This can be a NOP because we forward dma_{alloc,free}_noncoherent to
      dma_{alloc,free}_coherent.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0d1d9092
    • W
      net-timestamp: make tcp_recvmsg call ipv6_recv_error for AF_INET6 socks · f4713a3d
      Willem de Bruijn 提交于
      TCP timestamping introduced MSG_ERRQUEUE handling for TCP sockets.
      If the socket is of family AF_INET6, call ipv6_recv_error instead
      of ip_recv_error.
      
      This change is more complex than a single branch due to the loadable
      ipv6 module. It reuses a pre-existing indirect function call from
      ping. The ping code is safe to call, because it is part of the core
      ipv6 module and always present when AF_INET6 sockets are active.
      
      Fixes: 4ed2d765 (net-timestamp: TCP timestamping)
      Signed-off-by: NWillem de Bruijn <willemb@google.com>
      
      ----
      
      It may also be worthwhile to add WARN_ON_ONCE(sk->family == AF_INET6)
      to ip_recv_error.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4713a3d
    • D
      Merge branch 'bridge_nl_validation' · a7650238
      David S. Miller 提交于
      Thomas Graf says:
      
      ====================
      bridge: Fix missing Netlink message validations
      
      Adds various missing length checks in the bridging code for Netlink
      messages and corresponding attributes provided by user space.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a7650238
    • T
      bridge: Sanitize IFLA_EXT_MASK for AF_BRIDGE:RTM_GETLINK · aa68c20f
      Thomas Graf 提交于
      Only search for IFLA_EXT_MASK if the message actually carries a
      ifinfomsg header and validate minimal length requirements for
      IFLA_EXT_MASK.
      
      Fixes: 6cbdceeb ("bridge: Dump vlan information from a bridge port")
      Cc: Vlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aa68c20f