1. 06 Feb, 2015 1 commit
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · dbf3b7dd
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "The pending MIPS fixes for 3.19.  All across the field and nothing
        particularly severe or dramatic"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (23 commits)
        IRQCHIP: mips-gic: Avoid rerouting timer IRQs for smp-cmp
        MIPS: Fix syscall_get_nr for the syscall exit tracing.
        MIPS: elf2ecoff: Ignore PT_MIPS_ABIFLAGS program headers.
        MIPS: elf2ecoff: Rewrite main processing loop to switch.
        MIPS: fork: Fix MSA/FPU/DSP context duplication race
        MIPS: Fix C0_Pagegrain[IEC] support.
        MIPS: traps: Fix inline asm ctc1 missing .set hardfloat
        MIPS: mipsregs.h: Add write_32bit_cp1_register()
        MIPS: Fix kernel lockup or crash after CPU offline/online
        MIPS: OCTEON: fix kernel crash when offlining a CPU
        MIPS: ARC: Fix build error.
        MIPS: IRQ: Fix disable_irq on CPU IRQs
        MIPS: smp-mt,smp-cmp: Enable all HW IRQs on secondary CPUs
        MIPS: Fix restart of indirect syscalls
        MIPS: ELF: fix loading o32 binaries on 64-bit kernels
        MIPS: mips-cm: Fix sparse warnings
        MIPS: Kconfig: Fix recursive dependency.
        MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.
        MIPS: JZ4740: Fixup #include's (sparse)
        MIPS: Wire up execveat(2).
        ...
      dbf3b7dd
  2. 05 Feb, 2015 19 commits
    • Linus Torvalds's avatar
      MMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 9d82f5eb
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Stretch ACKs can kill performance with Reno and CUBIC congestion
          control, largely due to LRO and GRO.  Fix from Neal Cardwell.
      
       2) Fix userland breakage because we accidently emit zero length netlink
          messages from the bridging code.  From Roopa Prabhu.
      
       3) Carry handling in generic csum_tcpudp_nofold is broken, fix from
          Karl Beldan.
      
       4) Remove bogus dev_set_net() calls from CAIF driver, from Nicolas
          Dichtel.
      
       5) Make sure PPP deflation never returns a length greater then the
          output buffer, otherwise we overflow and trigger skb_over_panic().
          Fix from Florian Westphal.
      
       6) COSA driver needs VIRT_TO_BUS Kconfig dependencies, from Arnd
          Bergmann.
      
       7) Don't increase route cached MTU on datagram too big ICMPs.  From Li
          Wei.
      
       8) Fix error path leaks in nf_tables, from Pablo Neira Ayuso.
      
       9) Fix bitmask handling regression in netlink that broke things like
          acpi userland tools.  From Pablo Neira Ayuso.
      
      10) Wrong header pointer passed to param_type2af() in SCTP code, from
          Saran Maruti Ramanara.
      
      11) Stacked vlans not handled correctly by vlan_get_protocol(), from
          Toshiaki Makita.
      
      12) Add missing DMA memory barrier to xgene driver, from Iyappan
          Subramanian.
      
      13) Fix crash in rate estimators, from Eric Dumazet.
      
      14) We've been adding various workarounds, one after another, for the
          change which added the per-net tcp_sock.  It was meant to reduce
          socket contention but added lots of problems.
      
          Reduce this instead to a proper per-cpu socket and that rids us of
          all the daemons.
      
          From Eric Dumazet.
      
      15) Fix memory corruption and OOPS in mlx4 driver, from Jack
          Morgenstein.
      
      16) When we disabled UFO in the virtio_net device, it introduces some
          serious performance regressions.  The orignal problem was IPV6
          fragment ID generation, so fix that properly instead.  From Vlad
          Yasevich.
      
      17) sr9700 driver build breaks on xtensa because it defines macros with
          the same name as those used by the arch code.  Use more unique
          names.  From Chen Gang.
      
      18) Fix endianness in new virio 1.0 mode of the vhost net driver, from
          Michael S Tsirkin.
      
      19) Several sysctls were setting the maxlen attribute incorrectly, from
          Sasha Levin.
      
      20) Don't accept an FQ scheduler quantum of zero, that leads to crashes.
          From Kenneth Klette Jonassen.
      
      21) Fix dumping of non-existing actions in the packet scheduler
          classifier.  From Ignacy Gawędzki.
      
      22) Return the write work_done value when doing TX work in the qlcnic
          driver.
      
      23) ip6gre_err accesses the info field with the wrong endianness, from
          Sabrina Dubroca.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (54 commits)
        sit: fix some __be16/u16 mismatches
        ipv6: fix sparse errors in ip6_make_flowlabel()
        net: remove some sparse warnings
        flow_keys: n_proto type should be __be16
        ip6_gre: fix endianness errors in ip6gre_err
        qlcnic: Fix NAPI poll routine for Tx completion
        amd-xgbe: Set RSS enablement based on hardware features
        amd-xgbe: Adjust for zero-based traffic class count
        cls_api.c: Fix dumping of non-existing actions' stats.
        pkt_sched: fq: avoid hang when quantum 0
        net: rds: use correct size for max unacked packets and bytes
        vhost/net: fix up num_buffers endian-ness
        gianfar: correct the bad expression while writing bit-pattern
        net: usb: sr9700: Use 'SR_' prefix for the common register macros
        Revert "drivers/net: Disable UFO through virtio"
        Revert "drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO packets"
        ipv6: Select fragment id during UFO segmentation if not set.
        xen-netback: stop the guest rx thread after a fatal error
        net/mlx4_core: Fix kernel Oops (mem corruption) when working with more than 80 VFs
        isdn: off by one in connect_res()
        ...
      9d82f5eb
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 14365ea2
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This patch set is fixing two serious problems which have turned up
        late in the release cycle.
      
        The first fixes a problem with 4k sector disks where the transfer
        length (amount of data sent to the disk) was getting increased every
        time the disk was revalidated leading to potential for overflows.
      
        The other is a regression oops fix for some of our last merge window
        code"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        sd: Fix max transfer length for 4k disks
        scsi: fix device handler detach oops
      14365ea2
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 42345d63
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Radeon and amdkfd fixes.
      
        Radeon ones mostly for oops in some test/benchmark functions since
        fencing changes, and one regression fix for old GPUs,
      
        There is one cirrus regression fix, the 32bpp broke userspace, so this
        hides it behind a module option for the few users who care.
      
        I'm off for a few days, so this is probably the final pull I have, if
        I see fixes from Intel I'll forward the pull as I should have email"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/cirrus: Limit modes depending on bpp option
        drm/radeon: fix the crash in test functions
        drm/radeon: fix the crash in benchmark functions
        drm/radeon: properly set vm fragment size for TN/RL
        drm/radeon: don't init gpuvm if accel is disabled (v3)
        drm/radeon: fix PLLs on RS880 and older v2
        drm/amdkfd: Don't create BUG due to incorrect user parameter
        drm/amdkfd: max num of queues can't be 0
        drm/amdkfd: Fix bug in accounting of queues
      42345d63
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · d445d46d
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A couple of driver specific fixes:
      
         - Disable DMA mode for i.MX6DL chips due to a hardware bug.
      
         - Don't use devm_kzalloc() outside of bind/unbind paths in the
           fsl-dspi driver, fixing memory leaks"
      
      * tag 'spi-v3.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: imx: use pio mode for i.mx6dl
        spi: spi-fsl-dspi: Remove usage of devm_kzalloc
      d445d46d
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.19-fin' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e7394c77
      Linus Torvalds authored
      Pull ACPI power management fix from Rafael  Wysocki:
       "This is a revert of an ACPI Low-power Subsystem (LPSS) driver change
        that was supposed to improve power management of the LPSS DMA
        controller, but introduced more serious problems.
      
        Since fixing them turns out to be non-trivial, it is better to revert
        the commit in question at this point and try to fix the original issue
        differently in the next cycle"
      
      * tag 'pm+acpi-3.19-fin' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "ACPI / LPSS: introduce a 'proxy' device to power on LPSS for DMA"
      e7394c77
    • Linus Torvalds's avatar
      Merge tag 'pci-v3.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · f3c2352d
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
       "Enumeration
          - Scan all device numbers on NEC as well as Stratus (Charlotte Richardson)
      
        Resource management
          - Handle read-only BARs on AMD CS553x devices (Myron Stowe)
      
        Synopsys DesignWare
          - Reject MSI-X IRQs (Lucas Stach)"
      
      * tag 'pci-v3.19-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: Handle read-only BARs on AMD CS553x devices
        PCI: Add NEC variants to Stratus ftServer PCIe DMI check
        PCI: designware: Reject MSI-X IRQs
      f3c2352d
    • James Hogan's avatar
      IRQCHIP: mips-gic: Avoid rerouting timer IRQs for smp-cmp · 1b6af71a
      James Hogan authored
      Commit e9de688d ("irqchip: mips-gic: Support local interrupts")
      changed the GIC irqchip driver so that all local interrupts were routed
      to the same CPU pin used for external interrupts. Unfortunately this
      causes a regression when smp-cmp is used. The CPUs are started by the
      bootloader and put in a timer based waiting poll loop, but when their
      timer interrupts are rerouted to a different IRQ pin which is not
      unmasked they never wake up.
      
      Since smp-cmp support is deprecated and everybody who was using it
      should be switching to smp-cps which brings up the secondary CPUs
      without bootloader assistance, I've gone for the simple fix which can be
      easily removed once smp-cmp is removed, rather than a fully generic fix.
      
      In __gic_init() the local GIC_VPE_TIMER_MAP register is read to find the
      boot-time routing of the local timer interrupt, and a chained handler is
      added to that CPU pin as well as the normal one.
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Fixes: e9de688d ("irqchip: mips-gic: Support local interrupts")
      Cc: Andrew Bresticker <abrestic@chromium.org>
      Cc: Qais Yousef <qais.yousef@imgtec.com>
      Cc: Paul Burton <paul.burton@imgtec.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-mips@linux-mips.org
      Reviewed-by: default avatarAndrew Bresticker <abrestic@chromium.org>
      Patchwork: https://patchwork.linux-mips.org/patch/9081/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      1b6af71a
    • Eric Dumazet's avatar
      sit: fix some __be16/u16 mismatches · a409caec
      Eric Dumazet authored
      Fixes following sparse warnings :
      
      net/ipv6/sit.c:1509:32: warning: incorrect type in assignment (different base types)
      net/ipv6/sit.c:1509:32:    expected restricted __be16 [usertype] sport
      net/ipv6/sit.c:1509:32:    got unsigned short
      net/ipv6/sit.c:1514:32: warning: incorrect type in assignment (different base types)
      net/ipv6/sit.c:1514:32:    expected restricted __be16 [usertype] dport
      net/ipv6/sit.c:1514:32:    got unsigned short
      net/ipv6/sit.c:1711:38: warning: incorrect type in argument 3 (different base types)
      net/ipv6/sit.c:1711:38:    expected unsigned short [unsigned] [usertype] value
      net/ipv6/sit.c:1711:38:    got restricted __be16 [usertype] sport
      net/ipv6/sit.c:1713:38: warning: incorrect type in argument 3 (different base types)
      net/ipv6/sit.c:1713:38:    expected unsigned short [unsigned] [usertype] value
      net/ipv6/sit.c:1713:38:    got restricted __be16 [usertype] dport
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a409caec
    • Eric Dumazet's avatar
      ipv6: fix sparse errors in ip6_make_flowlabel() · 67765146
      Eric Dumazet authored
      include/net/ipv6.h:713:22: warning: incorrect type in assignment (different base types)
      include/net/ipv6.h:713:22:    expected restricted __be32 [usertype] hash
      include/net/ipv6.h:713:22:    got unsigned int
      include/net/ipv6.h:719:25: warning: restricted __be32 degrades to integer
      include/net/ipv6.h:719:22: warning: invalid assignment: ^=
      include/net/ipv6.h:719:22:    left side has type restricted __be32
      include/net/ipv6.h:719:22:    right side has type unsigned int
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      67765146
    • Eric Dumazet's avatar
      net: remove some sparse warnings · 2ce1ee17
      Eric Dumazet authored
      netdev_adjacent_add_links() and netdev_adjacent_del_links()
      are static.
      
      queue->qdisc has __rcu annotation, need to use RCU_INIT_POINTER()
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2ce1ee17
    • Eric Dumazet's avatar
      flow_keys: n_proto type should be __be16 · f4575d35
      Eric Dumazet authored
      (struct flow_keys)->n_proto is in network order, use
      proper type for this.
      
      Fixes following sparse errors :
      
      net/core/flow_dissector.c:139:39: warning: incorrect type in assignment (different base types)
      net/core/flow_dissector.c:139:39:    expected unsigned short [unsigned] [usertype] n_proto
      net/core/flow_dissector.c:139:39:    got restricted __be16 [assigned] [usertype] proto
      net/core/flow_dissector.c:237:23: warning: incorrect type in assignment (different base types)
      net/core/flow_dissector.c:237:23:    expected unsigned short [unsigned] [usertype] n_proto
      net/core/flow_dissector.c:237:23:    got restricted __be16 [assigned] [usertype] proto
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Fixes: e0f31d84 ("flow_keys: Record IP layer protocol in skb_flow_dissect()")
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f4575d35
    • Sabrina Dubroca's avatar
      ip6_gre: fix endianness errors in ip6gre_err · d1e158e2
      Sabrina Dubroca authored
      info is in network byte order, change it back to host byte order
      before use. In particular, the current code sets the MTU of the tunnel
      to a wrong (too big) value.
      
      Fixes: c12b395a ("gre: Support GRE over IPv6")
      Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d1e158e2
    • Shahed Shaikh's avatar
      qlcnic: Fix NAPI poll routine for Tx completion · f31ec95f
      Shahed Shaikh authored
      After d75b1ade ("net: less interrupt masking in NAPI")
      driver's NAPI poll routine is expected to return
      exact budget value if it wants to be re-called.
      Signed-off-by: default avatarShahed Shaikh <shahed.shaikh@qlogic.com>
      Fixes: d75b1ade ("net: less interrupt masking in NAPI")
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f31ec95f
    • Lendacky, Thomas's avatar
      amd-xgbe: Set RSS enablement based on hardware features · cf180b8a
      Lendacky, Thomas authored
      The RSS support requires enablement based on the features reported by
      the hardware. The setting of this flag is missing. Add support to
      set the RSS enablement flag based on the reported hardware features.
      Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cf180b8a
    • Lendacky, Thomas's avatar
      amd-xgbe: Adjust for zero-based traffic class count · 211fcf6d
      Lendacky, Thomas authored
      The number of traffic classes reported by the hardware is zero-based
      so increment the value returned to get an actual count.
      Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      211fcf6d
    • Ignacy Gawędzki's avatar
      cls_api.c: Fix dumping of non-existing actions' stats. · b057df24
      Ignacy Gawędzki authored
      In tcf_exts_dump_stats(), ensure that exts->actions is not empty before
      accessing the first element of that list and calling tcf_action_copy_stats()
      on it.  This fixes some random segvs when adding filters of type "basic" with
      no particular action.
      
      This also fixes the dumping of those "no-action" filters, which more often
      than not made calls to tcf_action_copy_stats() fail and consequently netlink
      attributes added by the caller to be removed by a call to nla_nest_cancel().
      
      Fixes: 33be6271 ("net_sched: act: use standard struct list_head")
      Signed-off-by: default avatarIgnacy Gawędzki <ignacy.gawedzki@green-communications.fr>
      Acked-by: default avatarCong Wang <cwang@twopensource.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b057df24
    • Kenneth Klette Jonassen's avatar
      pkt_sched: fq: avoid hang when quantum 0 · 3725a269
      Kenneth Klette Jonassen authored
      Configuring fq with quantum 0 hangs the system, presumably because of a
      non-interruptible infinite loop. Either way quantum 0 does not make sense.
      
      Reproduce with:
      sudo tc qdisc add dev lo root fq quantum 0 initial_quantum 0
      ping 127.0.0.1
      Signed-off-by: default avatarKenneth Klette Jonassen <kennetkl@ifi.uio.no>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3725a269
    • Takashi Iwai's avatar
      drm/cirrus: Limit modes depending on bpp option · 7f551b1e
      Takashi Iwai authored
      The commit [8975626e: drm/cirrus: allow 32bpp framebuffers for
      cirrus drm] broke X modesetting driver because cirrus driver still
      provides the full list of modes up to 1280x1024 while the 32bpp can
      support only up to 800x600.
      
      We might be able to filter out the invalid modes in mode_valid
      callback, but unfortunately the bpp in question can't be referred
      there for now (let me know if there is a better way to retrieve the
      bpp for the probed fb).
      
      So, instead, this patch adds the bpp module option to specify the
      maximal bpp explicitly and limits the resolutions in get_modes
      depending on its value.
      
      The default value is set to 24 so that the existing stuff keeps
      working.  If you need a new 32bpp feature, specify cirrus.bpp=32
      option explicitly.
      
      Fixes: 8975626e ('drm/cirrus: allow 32bpp framebuffers for cirrus drm')
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      7f551b1e
    • Sasha Levin's avatar
      net: rds: use correct size for max unacked packets and bytes · db27ebb1
      Sasha Levin authored
      Max unacked packets/bytes is an int while sizeof(long) was used in the
      sysctl table.
      
      This means that when they were getting read we'd also leak kernel memory
      to userspace along with the timeout values.
      Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      db27ebb1
  3. 04 Feb, 2015 16 commits
  4. 03 Feb, 2015 4 commits