1. 28 Apr, 2016 15 commits
  2. 27 Apr, 2016 10 commits
  3. 26 Apr, 2016 15 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · f28f20da
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Handle v4/v6 mixed sockets properly in soreuseport, from Craig
          Gallak.
      
       2) Bug fixes for the new macsec facility (missing kmalloc NULL checks,
          missing locking around netdev list traversal, etc.) from Sabrina
          Dubroca.
      
       3) Fix handling of host routes on ifdown in ipv6, from David Ahern.
      
       4) Fix double-fdput in bpf verifier.  From Jann Horn.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (31 commits)
        bpf: fix double-fdput in replace_map_fd_with_map_ptr()
        net: ipv6: Delete host routes on an ifdown
        Revert "ipv6: Revert optional address flusing on ifdown."
        net/mlx4_en: fix spurious timestamping callbacks
        net: dummy: remove note about being Y by default
        cxgbi: fix uninitialized flowi6
        ipv6: Revert optional address flusing on ifdown.
        ipv4/fib: don't warn when primary address is missing if in_dev is dead
        net/mlx5: Add pci shutdown callback
        net/mlx5_core: Remove static from local variable
        net/mlx5e: Use vport MTU rather than physical port MTU
        net/mlx5e: Fix minimum MTU
        net/mlx5e: Device's mtu field is u16 and not int
        net/mlx5_core: Add ConnectX-5 to list of supported devices
        net/mlx5e: Fix MLX5E_100BASE_T define
        net/mlx5_core: Fix soft lockup in steering error flow
        qlcnic: Update version to 5.3.64
        net: stmmac: socfpga: Remove re-registration of reset controller
        macsec: fix netlink attribute validation
        macsec: add missing macsec prefix in uapi
        ...
      f28f20da
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 91ea692f
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Here are the latest bug fixes for ARM SoCs, mostly addressing recent
        regressions.  Changes are across several platforms, so I'm listing
        every change separately here.
      
        Regressions since 4.5:
      
         - A correction of the psci firmware DT binding, to prevent users from
           relying on unintended semantics
      
         - Actually getting the newly merged clock driver for some OMAP
           platforms to work
      
         - A revert of patches for the Qualcomm BAM, these need to be reworked
           for 4.7 to avoid breaking boards other than the one they were
           intended for
      
         - A correction for the I2C device nodes on the Socionext Uniphier
           platform
      
         - i.MX SDHCI was broken for non-DT platforms due to a change with the
           setting of the DMA mask
      
         - A revert of a patch that accidentally added a nonexisting clock on
           the Rensas "Porter" board
      
         - A couple of OMAP fixes that are all related to suspend after the
           power domain changes for dra7
      
         - On Mediatek, revert part of the power domain initialization changes
           that broke mt8173-evb
      
        Fixes for older bugs:
      
         - Workaround for an "external abort" in the omap34xx suspend/resume
           code.
      
         - The USB1/eSATA should not be listed as an excon device on
           am57xx-beagle-x15 (broken since v4.0)
      
         - A v4.5 regression in the TI AM33xx and AM43XX DT specifying
           incorrect DMA request lines for the GPMC
      
         - The jiffies calibration on Renesas platforms was incorrect for some
           modern CPU cores.
      
         - A hardware errata woraround for clockdomains on TI DRA7"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        drivers: firmware: psci: unify enable-method binding on ARM {64,32}-bit systems
        arm64: dts: uniphier: fix I2C nodes of PH1-LD20
        ARM: shmobile: timer: Fix preset_lpj leading to too short delays
        Revert "ARM: dts: porter: Enable SCIF_CLK frequency and pins"
        ARM: dts: r8a7791: Don't disable referenced optional clocks
        Revert "ARM: OMAP: Catch callers of revision information prior to it being populated"
        ARM: OMAP3: Fix external abort on 36xx waking from off mode idle
        ARM: dts: am57xx-beagle-x15: remove extcon_usb1
        ARM: dts: am437x: Fix GPMC dma properties
        ARM: dts: am33xx: Fix GPMC dma properties
        Revert "soc: mediatek: SCPSYS: Fix double enabling of regulators"
        ARM: mach-imx: sdhci-esdhc-imx: initialize DMA mask
        ARM: DRA7: clockdomain: Implement timer workaround for errata i874
        ARM: OMAP: Catch callers of revision information prior to it being populated
        ARM: dts: dra7: Correct clock tree for sys_32k_ck
        ARM: OMAP: DRA7: Provide proper class to omap2_set_globals_tap
        ARM: OMAP: DRA7: wakeupgen: Skip SAR save for wakeupgen
        Revert "dts: msm8974: Add dma channels for blsp2_i2c1 node"
        Revert "dts: msm8974: Add blsp2_bam dma node"
        ARM: dts: Add clocks for dm814x ADPLL
      91ea692f
    • Linus Torvalds's avatar
      devpts: more pty driver interface cleanups · 8ead9dd5
      Linus Torvalds authored
      This is more prep-work for the upcoming pty changes.  Still just code
      cleanup with no actual semantic changes.
      
      This removes a bunch pointless complexity by just having the slave pty
      side remember the dentry associated with the devpts slave rather than
      the inode.  That allows us to remove all the "look up the dentry" code
      for when we want to remove it again.
      
      Together with moving the tty pointer from "inode->i_private" to
      "dentry->d_fsdata" and getting rid of pointless inode locking, this
      removes about 30 lines of code.  Not only is the end result smaller,
      it's simpler and easier to understand.
      
      The old code, for example, depended on the d_find_alias() to not just
      find the dentry, but also to check that it is still hashed, which in
      turn validated the tty pointer in the inode.
      
      That is a _very_ roundabout way to say "invalidate the cached tty
      pointer when the dentry is removed".
      
      The new code just does
      
      	dentry->d_fsdata = NULL;
      
      in devpts_pty_kill() instead, invalidating the tty pointer rather more
      directly and obviously.  Don't do something complex and subtle when the
      obvious straightforward approach will do.
      
      The rest of the patch (ie apart from code deletion and the above tty
      pointer clearing) is just switching the calling convention to pass the
      dentry or file pointer around instead of the inode.
      
      Cc: Eric Biederman <ebiederm@xmission.com>
      Cc: Peter Anvin <hpa@zytor.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Peter Hurley <peter@hurleysoftware.com>
      Cc: Serge Hallyn <serge.hallyn@ubuntu.com>
      Cc: Willy Tarreau <w@1wt.eu>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: Alan Cox <gnomes@lxorguk.ukuu.org.uk>
      Cc: Jann Horn <jann@thejh.net>
      Cc: Greg KH <greg@kroah.com>
      Cc: Jiri Slaby <jslaby@suse.com>
      Cc: Florian Weimer <fw@deneb.enyo.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8ead9dd5
    • Jann Horn's avatar
      bpf: fix double-fdput in replace_map_fd_with_map_ptr() · 8358b02b
      Jann Horn authored
      When bpf(BPF_PROG_LOAD, ...) was invoked with a BPF program whose bytecode
      references a non-map file descriptor as a map file descriptor, the error
      handling code called fdput() twice instead of once (in __bpf_map_get() and
      in replace_map_fd_with_map_ptr()). If the file descriptor table of the
      current task is shared, this causes f_count to be decremented too much,
      allowing the struct file to be freed while it is still in use
      (use-after-free). This can be exploited to gain root privileges by an
      unprivileged user.
      
      This bug was introduced in
      commit 0246e64d ("bpf: handle pseudo BPF_LD_IMM64 insn"), but is only
      exploitable since
      commit 1be7f75d ("bpf: enable non-root eBPF programs") because
      previously, CAP_SYS_ADMIN was required to reach the vulnerable code.
      
      (posted publicly according to request by maintainer)
      Signed-off-by: default avatarJann Horn <jannh@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8358b02b
    • Florian Westphal's avatar
      pch_gbe: fix bogus trylock conversion · 0e7dd0c9
      Florian Westphal authored
      Should have converted 'if (trylock)' to 'lock'.
      
      Fixes: a6086a89 ("drivers: net: remove NETDEV_TX_LOCKED")
      Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0e7dd0c9
    • David S. Miller's avatar
      Merge branch 'sh_eth-next' · 50d5d2bd
      David S. Miller authored
      Sergei Shtylyov says:
      
      ====================
      sh_eth: couple of software reset bit cleanups
      
         Here's a set of 2 patches against DaveM's 'net-next.git' repo. We clean up
      the use of the software reset bits...
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      50d5d2bd
    • Sergei Shtylyov's avatar
      sh_eth: rename ARSTR register bit · ec65cfce
      Sergei Shtylyov authored
      The Renesas RZ/A1H manual names the software reset bit in the software reset
      register (ARSTR) ARST which makes a bit more sense than the ARSTR_ARSTR name
      used now  by the driver -- rename the latter to ARSTR_ARST.
      Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Reviewed-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ec65cfce
    • Sergei Shtylyov's avatar
      sh_eth: use EDMR_SRST_GETHER in sh_eth_check_reset() · 97717edc
      Sergei Shtylyov authored
      sh_eth_check_reset() uses a bare number where EDMR_SRST_GETHER would fit,
      i.e. the receive/trasmit software reset bits that comprise EDMR_SRST_GETHER
      read as 1  while the corresponding reset is in progress and thus, when both
      are 0, the reset is complete.
      Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Reviewed-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      97717edc
    • David S. Miller's avatar
      Merge branch 'mlx5-next' · 3ccec4bd
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      Mellanox 100G extending mlx5 ethtool support
      
      Changes from V0:
      	- Dropped: net/mlx5e: Disable link up on INIT HCA command
      	  Due to Ido's and Or's requests we will submit this patch to net and will need it for -stable.
      	- Rebased to: 11afbff8 ("Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next")
      
      This series is centralized around extending and improving mlx5 ethernet driver ethtool
      support. We've done some code refactoring for ethtool statistics reporting, making it
      more scalable and robust, now each reported ethtool counter belongs to a group and has
      its own descriptor within that group, the descriptor holds the counter name and offset
      in memory in that group memory block.
      
      Added new counters:
      	- Reporting more error and drop counter in ifconig/ip tool.
      	- Per priority pause and traffic counter in ethtool.
      	- link down events counter in ethtool.
      
      Set features handling was also refactored a little bit to be more resilient and generic,
      now setting more than one feature will not stop on the first failed one, but instead
      it will try to continue setting others. We made it generic to make it simpler for adding
      more features support, it is now done easily by only introducing a handler function of
      the new supported netdev feature, and let the generic handler do the job.
      
      New netdev features and ethtool support:
      	- Netdev feature RXALL, set on/off FCS check offload.
      	- Netdev feature HW_VLAN_CTAG_RX, set on/off rx-vlan stripping offload.
      	- Ethtool interface identify.
      	- Ethtool dump module EEPROM.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3ccec4bd
    • Saeed Mahameed's avatar
      net/mlx5e: Fix checksum handling for non-stripped vlan packets · 1b223dd3
      Saeed Mahameed authored
      Now as rx-vlan offload can be disabled, packets can be received
      with vlan tag not stripped, which means is_first_ethertype_ip will
      return false, for that we need to check if the hardware reported
      csum OK so we will report CHECKSUM_UNNECESSARY for those packets.
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1b223dd3
    • Gal Pressman's avatar
      net/mlx5e: Add ethtool support for rxvlan-offload (vlan stripping) · 36350114
      Gal Pressman authored
      Use ethtool -K <interface> rxvlan <on/off> to enable/disable
      C-TAG vlan stripping by hardware.
      Signed-off-by: default avatarGal Pressman <galp@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      36350114
    • Gal Pressman's avatar
      net/mlx5e: Add ethtool support for dump module EEPROM · bb64143e
      Gal Pressman authored
      Add query MCIA, PMLP registers infrastructure and commands.
      Add ethtool support for get_module_info() and get_module_eeprom()
      callbacks.
      Signed-off-by: default avatarGal Pressman <galp@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bb64143e
    • Gal Pressman's avatar
      net/mlx5e: Add ethtool support for interface identify (LED blinking) · da54d24e
      Gal Pressman authored
      Add the needed hardware command and mlx5_ifc structs for managing LED
      control.
      Add set_phys_id ethtool callback to support ethtool -p flag.
      Signed-off-by: default avatarGal Pressman <galp@mellanox.com>
      Signed-off-by: default avatarEugenia Emantayev <eugenia@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      da54d24e
    • Eran Ben Elisha's avatar
      net/mlx5e: Add support for RXALL netdev feature · 94cb1ebb
      Eran Ben Elisha authored
      Introduce new access register named Ports Check Mask Register (PCMR) to
      control all HW checks on port. With this register, the driver can
      enable/disable Hardware FCS validation.
      
      When RXALL is enabled/disabled using ndo_set_features, enable/disable
      fcs check at HW.
      User can change HW configuration using rx-all flag at ethtool.
      Signed-off-by: default avatarEran Ben Elisha <eranbe@mellanox.com>
      Signed-off-by: default avatarGal Pressman <galp@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      94cb1ebb
    • Gal Pressman's avatar
      net/mlx5e: Improve set features ndo resiliency · 0e405443
      Gal Pressman authored
      In current mlx5e ndo_set_features implementation, setting some features
      can success while others can fail. Today, we return one error code which
      doesn't reflect the current features status of the netdev at the end of
      the ndo callback.
      
      Set netdev->features with features which were successfully set in order
      to keep the current status in case of failure. For this purpose, define
      new Macro to set/unset specific feature in netdev->features.
      
      This patch introduces a mechanism that uses feature handlers for each
      feature.
      Set features will call a generic handler, which will then call a specific
      handler in his turn and update netdev->features according to it's return
      value. Each specific handler is responsible to perform driver specific
      actions, and updating params if needed.
      Signed-off-by: default avatarGal Pressman <galp@mellanox.com>
      Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0e405443