Permalink
Commits on May 13, 2015
  1. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    torvalds committed May 13, 2015
    Pull networking fixes from David Miller:
    
     1) Handle max TX power properly wrt VIFs and the MAC in iwlwifi, from
        Avri Altman.
    
     2) Use the correct FW API for scan completions in iwlwifi, from Avraham
        Stern.
    
     3) FW monitor in iwlwifi accidently uses unmapped memory, fix from Liad
        Kaufman.
    
     4) rhashtable conversion of mac80211 station table was buggy, the
        virtual interface was not taken into account.  Fix from Johannes
        Berg.
    
     5) Fix deadlock in rtlwifi by not using a zero timeout for
        usb_control_msg(), from Larry Finger.
    
     6) Update reordering state before calculating loss detection, from
        Yuchung Cheng.
    
     7) Fix off by one in bluetooth firmward parsing, from Dan Carpenter.
    
     8) Fix extended frame handling in xiling_can driver, from Jeppe
        Ledet-Pedersen.
    
     9) Fix CODEL packet scheduler behavior in the presence of TSO packets,
        from Eric Dumazet.
    
    10) Fix NAPI budget testing in fm10k driver, from Alexander Duyck.
    
    11) macvlan needs to propagate promisc settings down the the lower
        device, from Vlad Yasevich.
    
    12) igb driver can oops when changing number of rings, from Toshiaki
        Makita.
    
    13) Source specific default routes not handled properly in ipv6, from
        Markus Stenberg.
    
    14) Use after free in tc_ctl_tfilter(), from WANG Cong.
    
    15) Use softirq spinlocking in netxen driver, from Tony Camuso.
    
    16) Two ARM bpf JIT fixes from Nicolas Schichan.
    
    17) Handle MSG_DONTWAIT properly in ring based AF_PACKET sends, from
        Mathias Kretschmer.
    
    18) Fix x86 bpf JIT implementation of FROM_{BE16,LE16,LE32}, from Alexei
        Starovoitov.
    
    19) ll_temac driver DMA maps TX packet header with incorrect length, fix
        from Michal Simek.
    
    20) We removed pm_qos bits from netdevice.h, but some indirect
        references remained.  Kill them.  From David Ahern.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (90 commits)
      net: Remove remaining remnants of pm_qos from netdevice.h
      e1000e: Add pm_qos header
      net: phy: micrel: Fix regression in kszphy_probe
      net: ll_temac: Fix DMA map size bug
      x86: bpf_jit: fix FROM_BE16 and FROM_LE16/32 instructions
      netns: return RTM_NEWNSID instead of RTM_GETNSID on a get
      Update be2net maintainers' email addresses
      net_sched: gred: use correct backlog value in WRED mode
      pppoe: drop pppoe device in pppoe_unbind_sock_work
      net: qca_spi: Fix possible race during probe
      net: mdio-gpio: Allow for unspecified bus id
      af_packet / TX_RING not fully non-blocking (w/ MSG_DONTWAIT).
      bnx2x: limit fw delay in kdump to 5s after boot
      ARM: net: delegate filter to kernel interpreter when imm_offset() return value can't fit into 12bits.
      ARM: net fix emit_udiv() for BPF_ALU | BPF_DIV | BPF_K intruction.
      mpls: Change reserved label names to be consistent with netbsd
      usbnet: avoid integer overflow in start_xmit
      netxen_nic: use spin_[un]lock_bh around tx_clean_lock (2)
      net: xgene_enet: Set hardware dependency
      net: amd-xgbe: Add hardware dependency
      ...
  2. net: Remove remaining remnants of pm_qos from netdevice.h

    dsahern authored and davem330 committed May 12, 2015
    Commit e2c6544 removed pm_qos from struct net_device but left the
    comment and header file. Remove those.
    
    Signed-off-by: David Ahern <dsahern@gmail.com>
    Cc: Thomas Graf <tgraf@suug.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  3. e1000e: Add pm_qos header

    dsahern authored and davem330 committed May 12, 2015
    Commit e2c6544 moved pm_qos_req to e1000_adapter. Add the header file
    that defines the struct.
    
    Signed-off-by: David Ahern <dsahern@gmail.com>
    Cc: Thomas Graf <tgraf@suug.ch>
    Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  4. net: phy: micrel: Fix regression in kszphy_probe

    Niklas Cassel authored and davem330 committed May 12, 2015
    Don't do clock-mode-select if clk == NULL,
    since when building without CONFIG_HAVE_CLK,
    clk_get returns NULL and clk_get_rate returns 0.
    
    Doing clock-mode-select in this cause causes kszphy_probe to
    return -EINVAL and thus prevents the device from being probed.
    
    The original code (before regression) would return 0
    when building without CONFIG_HAVE_CLK.
    
    Cc: stable <stable@vger.kernel.org> # 3.18+
    Fixes: 1fadee0 ("net/phy: micrel: Add clock support for
    KSZ8021/KSZ8031")
    Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
    Reviewed-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Niklas Cassel <niklass@axis.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  5. net: ll_temac: Fix DMA map size bug

    michalsimek authored and davem330 committed May 12, 2015
    DMA allocates skb->len instead of headlen
    which is used for DMA.
    
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  6. x86: bpf_jit: fix FROM_BE16 and FROM_LE16/32 instructions

    Alexei Starovoitov authored and davem330 committed May 12, 2015
    FROM_BE16:
    'ror %reg, 8' doesn't clear upper bits of the register,
    so use additional 'movzwl' insn to zero extend 16 bits into 64
    
    FROM_LE16:
    should zero extend lower 16 bits into 64 bit
    
    FROM_LE32:
    should zero extend lower 32 bits into 64 bit
    
    Fixes: 89aa075 ("net: sock: allow eBPF programs to be attached to sockets")
    Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
Commits on May 12, 2015
  1. Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…

    torvalds committed May 12, 2015
    …ream-linus
    
    Pull MIPS fixes from Ralf Baechle:
     "One build fix for build breakage of all MIPS SMP kernels caused by
      Rusty's fix of obsolete use of cpu mask helpers, another to fix the FP
      ABI selection when loading an ELF binary"
    
    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
      MIPS: fix FP mode selection in lieu of .MIPS.abiflags data
      MIPS: SMP: Fix build error.
  2. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    torvalds committed May 12, 2015
    …t/dledford/rdma
    
    Pull rdma fixes from Doug Ledford:
     - update MAINTAINERS git repo pointer
     - printk garbage fix
     - fix for qib and iw_cxgb4 bugs introduced in 4.1 window
     - fix for an older iWARP netlink bug
     - fix a memcpy issue in ehca driver
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
      infiniband: Remove duplicated KERN_<LEVEL> from pr_<level> uses
      IB/qib: fix test of unsigned variable
      RDMA/core: Fix for parsing netlink string attribute
      MAINTAINERS: update the official rdma git repo
      iw_cxgb4: use wildcard mapping for getting remote addr info
      IB/ehca: use correct destination for memcpy
  3. netns: return RTM_NEWNSID instead of RTM_GETNSID on a get

    NicolasDichtel authored and davem330 committed May 11, 2015
    Usually, RTM_NEWxxx is returned on a get (same as a dump).
    
    Fixes: 0c7aecd ("netns: add rtnl cmd to add and get peer netns ids")
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  4. Merge tag 'for-v4.1-rc' of git://git.infradead.org/battery-2.6

    torvalds committed May 12, 2015
    Pull power supply and reset fixes from Sebastian Reichel:
     "misc fixes"
    
    * tag 'for-v4.1-rc' of git://git.infradead.org/battery-2.6:
      power: bq27x00_battery: Add missing MODULE_ALIAS
      power: reset: Add MFD_SYSCON depends for brcmstb
      power: reset: ltc2952: Remove bogus hrtimer_start() return value checks
      power_supply: fix oops in collie_battery driver
      power/reset: at91: fix return value check in at91_reset_platform_probe()
      MAINTAINERS: Add me as maintainer of Nokia N900 power supply drivers
      axp288_fuel_gauge: Add original author details
  5. infiniband: Remove duplicated KERN_<LEVEL> from pr_<level> uses

    JoePerches authored and dledford committed May 8, 2015
    These KERN_<LEVEL> uses are unnecessary with pr_<level> and cause
    bad logging output so remove them.
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Acked-by: Steve Wise <swise@opengridcomputing.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
  6. IB/qib: fix test of unsigned variable

    mmarcini authored and dledford committed May 12, 2015
    Commit d498862 ("IB/qib: use arch_phys_wc_add()")
    adjusted mtrr inititialization to use the new interface.
    
    Unfortunately, the new interface returns a signed
    value and the patch tested the unsigned wc_cookie.
    
    Fix the issue by changing the type of wc_cookie to int.  For
    the success case the ret left at zero to avoid
    a warning from the caller.  For failure wc_cookie
    is used as the ret.
    
    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
  7. RDMA/core: Fix for parsing netlink string attribute

    tatyana-en authored and dledford committed May 8, 2015
    The string iwpm_ulib_name is recorded in a nlmsg as a netlink attribute.
    Without this fix parsing of the nlmsg by the userspace port mapper service fails
    because of unknown attribute length, causing the port mapper service not to
    register the client, which has sent the nlmsg.
    
    Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
    Cc: <stable@vger.kernel.org> #v3.16
    Reviewed-By: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
  8. MIPS: fix FP mode selection in lieu of .MIPS.abiflags data

    paulburton authored and ralfbaechle committed May 6, 2015
    Commit 46490b5 ("MIPS: kernel: elf: Improve the overall ABI and FPU
    mode checks") reworked the ELF FP ABI mode selection logic, but when
    CONFIG_MIPS_O32_FP64_SUPPORT is enabled it breaks the use of binaries
    which have no PT_MIPS_ABIFLAGS program header & associated
    .MIPS.abiflags section.
    
    A default mode is selected based upon whether the ELF contains MIPS32 or
    MIPS64 code, but that selection is made in arch_elf_pt_proc.
    arch_elf_pt_proc only executes when a PT_MIPS_ABIFLAGS program header is
    found. If one is not found then arch_elf_pt_proc is never called, and no
    default overall_fp_mode value is selected. When arch_check_elf is
    called, both abi0 & abi1 are MIPS_ABI_FP_UNKNOWN which leads to both
    prog_req & interp_req being set to none_req. none_req matches none of
    the conditions for mode selection at the end of arch_check_elf, so
    overall_fp_mode is left untouched. Finally once mips_set_personality_fp
    is called the BUG() in the default case is then hit & the kernel likely
    panics.
    
    Fix this by moving the selection of a default overall mode to the start
    of arch_check_elf, which runs once per ELF executed regardless of
    whether it has a PT_MIPS_ABIFLAGS program header.
    
    Signed-off-by: Paul Burton <paul.burton@imgtec.com>
    Cc: Markos Chandras <markos.chandras@imgtec.com>
    Cc: Matthew Fortune <matthew.fortune@imgtec.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: stable@vger.kernel.org # v4.0+
    Patchwork: http://patchwork.linux-mips.org/patch/9978/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  9. Update be2net maintainers' email addresses

    Sathya Perla authored and davem330 committed May 12, 2015
    Emulex developers' email addresses are now "@avagotech" instead of
    "@emulex". I'm also replacing Subbu with Padmanabh and Sriharsha in the
    maintainers list. The driver's heading was outdated and did not include
    some of the chip types (BE3, Lancer and Skyhawk) that the driver has
    been supporting for a longtime. I've updated this too.
    
    Signed-off-by: Sathya Perla <sathya.perla@avagotech.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  10. MIPS: SMP: Fix build error.

    ralfbaechle committed May 12, 2015
      CC      arch/mips/kernel/smp.o
    arch/mips/kernel/smp.c: In function ‘start_secondary’:
    arch/mips/kernel/smp.c:149:2: error: passing argument 2 of ‘cpumask_set_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror]
      cpumask_set_cpu(cpu, &cpu_callin_map);
      ^
    In file included from ./arch/mips/include/asm/processor.h:14:0,
                     from ./arch/mips/include/asm/thread_info.h:15,
                     from include/linux/thread_info.h:54,
                     from include/asm-generic/preempt.h:4,
                     from arch/mips/include/generated/asm/preempt.h:1,
                     from include/linux/preempt.h:18,
                     from include/linux/interrupt.h:8,
                     from arch/mips/kernel/smp.c:24:
    include/linux/cpumask.h:272:91: note: expected ‘struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’
     static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp)
                                                                                               ^
    arch/mips/kernel/smp.c: In function ‘smp_prepare_boot_cpu’:
    arch/mips/kernel/smp.c:211:2: error: passing argument 2 of ‘cpumask_set_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror]
      cpumask_set_cpu(0, &cpu_callin_map);
      ^
    In file included from ./arch/mips/include/asm/processor.h:14:0,
                     from ./arch/mips/include/asm/thread_info.h:15,
                     from include/linux/thread_info.h:54,
                     from include/asm-generic/preempt.h:4,
                     from arch/mips/include/generated/asm/preempt.h:1,
                     from include/linux/preempt.h:18,
                     from include/linux/interrupt.h:8,
                     from arch/mips/kernel/smp.c:24:
    include/linux/cpumask.h:272:91: note: expected ‘struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’
     static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp)
                                                                                               ^
    arch/mips/kernel/smp.c: In function ‘__cpu_up’:
    arch/mips/kernel/smp.c:221:10: error: passing argument 2 of ‘cpumask_test_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror]
      while (!cpumask_test_cpu(cpu, &cpu_callin_map))
              ^
    In file included from ./arch/mips/include/asm/processor.h:14:0,
                     from ./arch/mips/include/asm/thread_info.h:15,
                     from include/linux/thread_info.h:54,
                     from include/asm-generic/preempt.h:4,
                     from arch/mips/include/generated/asm/preempt.h:1,
                     from include/linux/preempt.h:18,
                     from include/linux/interrupt.h:8,
                     from arch/mips/kernel/smp.c:24:
    include/linux/cpumask.h:294:90: note: expected ‘const struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’
     static inline int cpumask_test_cpu(int cpu, const struct cpumask *cpumask)
                                                                                              ^
    cc1: all warnings being treated as errors
    make[2]: *** [arch/mips/kernel/smp.o] Error 1
    make[1]: *** [arch/mips/kernel] Error 2
    make: *** [arch/mips] Error 2
    
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  11. MAINTAINERS: update the official rdma git repo

    dledford committed May 12, 2015
    Linus prefers kernel.org repos to github repos for security.
    
    Signed-off-by: Doug Ledford <dledford@redhat.com>
Commits on May 11, 2015
  1. Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux

    torvalds committed May 11, 2015
    Pull nfsd bugfixes from Bruce Fields:
     "Mainly pnfs fixes (and for problems with generic callback code made
      more obvious by pnfs)"
    
    * 'for-4.1' of git://linux-nfs.org/~bfields/linux:
      nfsd: skip CB_NULL probes for 4.1 or later
      nfsd: fix callback restarts
      nfsd: split transport vs operation errors for callbacks
      svcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures
      nfsd: fix pNFS return on close semantics
      nfsd: fix the check for confirmed openowner in nfs4_preprocess_stateid_op
      nfsd/blocklayout: pretend we can send deviceid notifications
  2. iw_cxgb4: use wildcard mapping for getting remote addr info

    larrystevenwise authored and dledford committed May 7, 2015
    For listening endpoints bound to the wildcard address, we need to pass
    the wildcard address mapping to iwpm_get_remote_info() instead of the
    mapped address of the new child connection.
    
    Without this fix, and with iwarp port mapping enabled, each iw_cxgb4
    connection that is spawned from a listening endpoint bound to the wildcard
    address, will generate an annoying dmesg entry about failing to find
    the remote address mapping info, and the connection state displayed in
    debugfs under /sys/kernel/debug/iw_cxgb4/<pci-slot-no>/eps  will not have
    the peer's address/port mapping info.  The connection still works though.
    
    Fixes: 5b6b8fe ("RDMA/cxgb4: Report the actual address of the remote connecting peer")
    
    Signed-off-by: Steve Wise <swise@opengridcomputing.com>
    Reviewed-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
    Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
  3. IB/ehca: use correct destination for memcpy

    Nicholas Mc Guire authored and dledford committed May 11, 2015
    Using an element of a struct as the address for the memcpy of the whole
    struct may introduce a buffer overflow and does not help readability either
    simply pass the real thing as first argument to memcpy.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
  4. Merge tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/ke…

    torvalds committed May 11, 2015
    …rnel/git/broonie/spi
    
    Pull spi fixes from Mark Brown:
     "A number of driver specific fixes (including several missing
      dependencies for randconfig type cases) plus two core fixes.
    
      One makes the setup_transfer() callback optional which unbreaks some
      drivers which had been merged with it omitted due to local versions of
      this patch and another ensures that we don't corrupt data by leaking
      internal dummy buffers to callers, causing the callers to think they
      allocated those buffers"
    
    * tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
      spi: fsl-espi: fix behaviour for full-duplex xfers
      spi: fsl-spi: fix devm_ioremap_resource() error case
      spi: Kconfig: Add SOC_LS1021A to SPI_FSL_DSPI dependence
      spi/omap2-mcpsi: Always call spi_finalize_current_message()
      spi: fsl-spi: use devm_ioremap_resource() to map parameter ram on CPM1
      spi: bitbang: Make setup_transfer() callback optional
      spi: check tx_buf and rx_buf in spi_unmap_msg
      spi: bcm2835: change timeout of polling driver to 1s
      spi: bcm2835: Add GPIOLIB dependency
  5. Merge tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linu…

    torvalds committed May 11, 2015
    …x/kernel/git/joro/iommu
    
    Pull iommu fixes from Joerg Roedel:
     "Three fixes have queued up:
    
       - reference count fix in the AMD IOMMUv2 driver
    
       - sign extension fix in the ARM-SMMU driver
    
       - build fix for rockchip driver with device tree"
    
    * tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
      iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1
      iommu/rockchip: Fix build without CONFIG_OF
      iommu/amd: Fix bug in put_pasid_state_wait
  6. Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

    torvalds committed May 11, 2015
    Pull crypto fixes from Herbert Xu:
     "This fixes a the implementation of CRC32 on arm64 where it incorrectly
      applied negation on the result.
    
      It also fixes the arm64 implementations of SHA/SHA256 where in some
      cases it may end up finalising the result twice"
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: arm64/sha2-ce - prevent asm code finalization in final() path
      crypto: arm64/sha1-ce - prevent asm code finalization in final() path
      crypto: arm64/crc32 - bring in line with generic CRC32
  7. Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/ke…

    torvalds committed May 11, 2015
    …rnel/git/tj/libata
    
    Pull libata fixes from Tejun Heo:
     "Rather big for fixes pull.
    
       - SCC controllers never lived to see the light of the day.  Both
         libata and ide drivers removed.
    
       - In some configurations, link power management policy changes
         sometimes cause delayed spurious PHY events which can develop into
         noticeable failures.  This has been reported several times over the
         years.  Gabriele's patches suppress PHY events for a while after
         LPM policy changes which should help most of these failures without
         causing too much problem for hotplug use cases.
    
       - A few controller specific fixes"
    
    [ Hmm.  I don't think removing SSC support is really a "fix", but hey, it
      removes a lot of lines of code.  Which I like.  So ...  good riddance ]
    
    * 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
      ahci: avoton port-disable reset-quirk
      ata: select DW_DMAC in case of SATA_DWC
      libata: Blacklist queued TRIM on all Samsung 800-series
      libata: Ignore spurious PHY event on LPM policy change
      libata: Add helper to determine when PHY events should be ignored
      ata: ahci_st: fixup layering violations / drvdata errors
      Remove celleb-only SCC PATA drivers
  8. Merge tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md

    torvalds committed May 11, 2015
    Pull md bugfixes from Neil Brown:
     "A few fixes for md.
    
      Most of these are related to the new "batched stripe writeout", but
      there are a few others"
    
    * tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md:
      md/raid5: fix handling of degraded stripes in batches.
      md/raid5: fix allocation of 'scribble' array.
      md/raid5: don't record new size if resize_stripes fails.
      md/raid5: avoid reading parity blocks for full-stripe write to degraded array
      md/raid5: more incorrect BUG_ON in handle_stripe_fill.
      md/raid5: new alloc_stripe() to allocate an initialize a stripe.
      md-raid0: conditional mddev->queue access to suit dm-raid
  9. net_sched: gred: use correct backlog value in WRED mode

    dpward authored and davem330 committed May 10, 2015
    In WRED mode, the backlog for a single virtual queue (VQ) should not be
    used to determine queue behavior; instead the backlog is summed across
    all VQs. This sum is currently used when calculating the average queue
    lengths. It also needs to be used when determining if the queue's hard
    limit has been reached, or when reporting each VQ's backlog via netlink.
    q->backlog will only be used if the queue switches out of WRED mode.
    
    Signed-off-by: David Ward <david.ward@ll.mit.edu>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  10. pppoe: drop pppoe device in pppoe_unbind_sock_work

    Felix Fietkau authored and davem330 committed May 9, 2015
    After receiving a PADT and the socket is closed, user space will no
    longer drop the reference to the pppoe device.
    This leads to errors like this:
    
    [  488.570000] unregister_netdevice: waiting for eth0.2 to become free. Usage count = 2
    
    Fixes: 287f3a9 ("pppoe: Use workqueue to die properly when a PADT is received")
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  11. iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1

    wildea01 authored and joergroedel committed May 8, 2015
    Stage 1 translation is controlled by two sets of page tables (TTBR0 and
    TTBR1) which grow up and down from zero respectively in the ARMv8
    translation regime. For the SMMU, we only care about TTBR0 and, in the
    case of a 48-bit virtual space, we expect to map virtual addresses 0x0
    through to 0xffff_ffff_ffff.
    
    Given that some masters may be incapable of emitting virtual addresses
    targetting TTBR1 (e.g. because they sit on a 48-bit bus), the SMMU
    architecture allows bit 47 to be sign-extended, halving the virtual
    range of TTBR0 but allowing TTBR1 to be used. This is controlled by the
    SEP field in TTBCR2.
    
    The SMMU driver incorrectly enables this sign-extension feature, which
    causes problems when userspace addresses are programmed into a master
    device with the SMMU expecting to map the incoming transactions via
    TTBR0; if the top bit of address is set, we will instead get a
    translation fault since TTBR1 walks are disabled in the TTBCR.
    
    This patch fixes the issue by disabling sign-extension of a fixed
    virtual address bit and instead basing the behaviour on the upstream bus
    size: the incoming address is zero extended unless the upstream bus is
    only 49 bits wide, in which case bit 48 is used as the sign bit and is
    replicated to the upper bits.
    
    Cc: <stable@vger.kernel.org> # v4.0+
    Reported-by: Varun Sethi <varun.sethi@freescale.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
  12. Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' …

    broonie committed May 11, 2015
    …and 'spi/fix/fsl-espi' into spi-linus
  13. Merge tag 'spi-v4.1-rc1' into spi-linus

    broonie committed May 11, 2015
    spi: Fixes for v4.1
    
    A few driver fixes plus two changes for the core, one to make the
    setup_transfer() callback optional which fixes crashes in some drivers
    which were updated to use new interfaces without apparent testing and
    one to ensure we don't expose the data buffers we use for dummy
    transfers to drivers which avoids potential issues with multiple
    accesses to them or reuse.
    
    # gpg: Signature made Sat 25 Apr 2015 10:59:47 BST using RSA key ID 5D5487D0
    # gpg: key CD7BEEBC: no public key for trusted key - skipped
    # gpg: key CD7BEEBC marked as ultimately trusted
    # gpg: key AF88CD16: no public key for trusted key - skipped
    # gpg: key AF88CD16 marked as ultimately trusted
    # gpg: key 16005C11: no public key for trusted key - skipped
    # gpg: key 16005C11 marked as ultimately trusted
    # gpg: key 5621E907: no public key for trusted key - skipped
    # gpg: key 5621E907 marked as ultimately trusted
    # gpg: key 5C6153AD: no public key for trusted key - skipped
    # gpg: key 5C6153AD marked as ultimately trusted
    # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>"
    # gpg:                 aka "Mark Brown <broonie@debian.org>"
    # gpg:                 aka "Mark Brown <broonie@kernel.org>"
    # gpg:                 aka "Mark Brown <broonie@tardis.ed.ac.uk>"
    # gpg:                 aka "Mark Brown <broonie@linaro.org>"
    # gpg:                 aka "Mark Brown <Mark.Brown@linaro.org>"
  14. net: qca_spi: Fix possible race during probe

    lategoodbye authored and davem330 committed May 9, 2015
    Registering the netdev before setting the priv data is unsafe.
    So fix this possible race by setting the priv data first.
    
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Cc: <stable@vger.kernel.org> # v3.18+
    Fixes: 291ab06 (net: qualcomm: new Ethernet over SPI driver for QCA7000)
    Signed-off-by: David S. Miller <davem@davemloft.net>
Commits on May 10, 2015
  1. net: mdio-gpio: Allow for unspecified bus id

    biot authored and davem330 committed May 8, 2015
    When the bus id was supplied via a struct platform_device, the driver wasn't
    handling -1 to mean an unspecified id of the only instance of this driver,
    as the platform spec requires.
    
    Signed-off-by: Bert Vermeulen <bert@biot.com>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  2. af_packet / TX_RING not fully non-blocking (w/ MSG_DONTWAIT).

    Kretschmer, Mathias authored and davem330 committed May 8, 2015
    This patch fixes an issue where the send(MSG_DONTWAIT) call
    on a TX_RING is not fully non-blocking in cases where the device's sndBuf is
    full. We pass nonblock=true to sock_alloc_send_skb() and return any possibly
    occuring error code (most likely EGAIN) to the caller. As the fast-path stays
    as it is, we keep the unlikely() around skb == NULL.
    
    Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  3. bnx2x: limit fw delay in kdump to 5s after boot

    michich authored and davem330 committed May 7, 2015
    Commit 12a8541 "bnx2x: Delay during kdump load" added a 5 seconds
    delay to bnx2x's probe function in the kdump case to let the firmware
    realize the old driver is gone.
    
    The problem with the delay is that it is per-device, so if you have
    several bnx2x NICs in NPAR mode, the delays can accumulate to minutes.
    
    Fix it by adjusting the delay so that we do not wait more than
    necessary, i.e. no more delaying after 5 seconds of kernel boot time.
    
    Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  4. ARM: net: delegate filter to kernel interpreter when imm_offset() ret…

    nschichan authored and davem330 committed May 7, 2015
    …urn value can't fit into 12bits.
    
    The ARM JIT code emits "ldr rX, [pc, #offset]" to access the literal
    pool. #offset maximum value is 4095 and if the generated code is too
    large, the #offset value can overflow and not point to the expected
    slot in the literal pool. Additionally, when overflow occurs, bits of
    the overflow can end up changing the destination register of the ldr
    instruction.
    
    Fix that by detecting the overflow in imm_offset() and setting a flag
    that is checked for each BPF instructions converted in
    build_body(). As of now it can only be detected in the second pass. As
    a result the second build_body() call can now fail, so add the
    corresponding cleanup code in that case.
    
    Using multiple literal pools in the JITed code is going to require
    lots of intrusive changes to the JIT code (which would better be done
    as a feature instead of fix), just delegating to the kernel BPF
    interpreter in that case is a more straight forward, minimal fix and
    easy to backport.
    
    Fixes: ddecdfc ("ARM: 7259/3: net: JIT compiler for packet filters")
    Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
    Acked-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>