1. 06 Apr, 2020 5 commits
  2. 03 Apr, 2020 10 commits
  3. 02 Apr, 2020 12 commits
  4. 01 Apr, 2020 13 commits
    • Rob Herring's avatar
      dt-bindings: net: mvusb: Fix example errors · d61f4d61
      Rob Herring authored
      The example for Marvell USB to MDIO Controller doesn't build:
      
      Error: Documentation/devicetree/bindings/net/marvell,mvusb.example.dts:18.9-14 syntax error
      FATAL ERROR: Unable to parse input tree
      
      This is due to label refs being used which can't be resolved.
      
      Fixes: 61e0150c ("dt-bindings: net: add marvell usb to mdio bindings")
      Cc: Tobias Waldekranz <tobias@waldekranz.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d61f4d61
    • Jose Abreu's avatar
      net: stmmac: Fix VLAN filtering when HW does not support it · dd6a4998
      Jose Abreu authored
      If we don't have any filters available we can't rely upon the return
      code of stmmac_add_hw_vlan_rx_fltr() / stmmac_del_hw_vlan_rx_fltr(). Add
      a check for this.
      
      Fixes: ed64639b ("net: stmmac: Add support for VLAN Rx filtering")
      Signed-off-by: default avatarJose Abreu <Jose.Abreu@synopsys.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd6a4998
    • Hu Haowen's avatar
      bnx2x: correct a comment mistake in grammar · cc213f8c
      Hu Haowen authored
      It is not right in grammar to spell "Its not". The right one is "It's
      not".
      
      And this line is also over 80 characters. So I broke it into two lines
      as well in order to make that line not be more than 80 characters.
      Signed-off-by: default avatarHu Haowen <xianfengting221@163.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cc213f8c
    • Hu Haowen's avatar
      net/faraday: fix grammar in function ftgmac100_setup_clk() in ftgmac100.c · e6b45ee7
      Hu Haowen authored
      "its not" is wrong. The words should be "it's not".
      Signed-off-by: default avatarHu Haowen <xianfengting221@163.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e6b45ee7
    • Richard Palethorpe's avatar
      slcan: Don't transmit uninitialized stack data in padding · b9258a2c
      Richard Palethorpe authored
      struct can_frame contains some padding which is not explicitly zeroed in
      slc_bump. This uninitialized data will then be transmitted if the stack
      initialization hardening feature is not enabled (CONFIG_INIT_STACK_ALL).
      
      This commit just zeroes the whole struct including the padding.
      Signed-off-by: default avatarRichard Palethorpe <rpalethorpe@suse.com>
      Fixes: a1044e36 ("can: add slcan driver for serial/USB-serial CAN adapters")
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      Cc: linux-can@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: security@kernel.org
      Cc: wg@grandegger.com
      Cc: mkl@pengutronix.de
      Cc: davem@davemloft.net
      Acked-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b9258a2c
    • Oleksij Rempel's avatar
      net: phy: at803x: fix clock sink configuration on ATH8030 and ATH8035 · b1f4c209
      Oleksij Rempel authored
      The masks in priv->clk_25m_reg and priv->clk_25m_mask are one-bits-set
      for the values that comprise the fields, not zero-bits-set.
      
      This patch fixes the clock frequency configuration for ATH8030 and
      ATH8035 Atheros PHYs by removing the erroneous "~".
      
      To reproduce this bug, configure the PHY  with the device tree binding
      "qca,clk-out-frequency" and remove the machine specific PHY fixups.
      
      Fixes: 2f664823 ("net: phy: at803x: add device tree binding")
      Signed-off-by: default avatarOleksij Rempel <o.rempel@pengutronix.de>
      Reported-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      Reviewed-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      Tested-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b1f4c209
    • Rahul Lakkireddy's avatar
      cxgb4: free MQPRIO resources in shutdown path · cef8dac9
      Rahul Lakkireddy authored
      Perform missing MQPRIO resource cleanup in PCI shutdown path. Also,
      fix MQPRIO MSIX bitmap leak in resource cleanup.
      
      Fixes: b1396c2b ("cxgb4: parse and configure TC-MQPRIO offload")
      Signed-off-by: default avatarRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cef8dac9
    • Herat Ramani's avatar
      cxgb4: fix MPS index overwrite when setting MAC address · 41aa8561
      Herat Ramani authored
      cxgb4_update_mac_filt() earlier requests firmware to add a new MAC
      address into MPS TCAM. The MPS TCAM index returned by firmware is
      stored in pi->xact_addr_filt. However, the saved MPS TCAM index gets
      overwritten again with the return value of cxgb4_update_mac_filt(),
      which is wrong.
      
      When trying to update to another MAC address later, the wrong MPS TCAM
      index is sent to firmware, which causes firmware to return error,
      because it's not the same MPS TCAM index that firmware had sent
      earlier to driver.
      
      So, fix by removing the wrong overwrite being done after call to
      cxgb4_update_mac_filt().
      
      Fixes: 3f8cfd0d ("cxgb4/cxgb4vf: Program hash region for {t4/t4vf}_change_mac()")
      Signed-off-by: default avatarHerat Ramani <herat@chelsio.com>
      Signed-off-by: default avatarRahul Lakkireddy <rahul.lakkireddy@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      41aa8561
    • Jarod Wilson's avatar
      ipv6: don't auto-add link-local address to lag ports · 744fdc82
      Jarod Wilson authored
      Bonding slave and team port devices should not have link-local addresses
      automatically added to them, as it can interfere with openvswitch being
      able to properly add tc ingress.
      
      Basic reproducer, courtesy of Marcelo:
      
      $ ip link add name bond0 type bond
      $ ip link set dev ens2f0np0 master bond0
      $ ip link set dev ens2f1np2 master bond0
      $ ip link set dev bond0 up
      $ ip a s
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
      group default qlen 1000
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host
             valid_lft forever preferred_lft forever
      2: ens2f0np0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc
      mq master bond0 state UP group default qlen 1000
          link/ether 00:0f:53:2f:ea:40 brd ff:ff:ff:ff:ff:ff
      5: ens2f1np2: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc
      mq master bond0 state DOWN group default qlen 1000
          link/ether 00:0f:53:2f:ea:40 brd ff:ff:ff:ff:ff:ff
      11: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc
      noqueue state UP group default qlen 1000
          link/ether 00:0f:53:2f:ea:40 brd ff:ff:ff:ff:ff:ff
          inet6 fe80::20f:53ff:fe2f:ea40/64 scope link
             valid_lft forever preferred_lft forever
      
      (above trimmed to relevant entries, obviously)
      
      $ sysctl net.ipv6.conf.ens2f0np0.addr_gen_mode=0
      net.ipv6.conf.ens2f0np0.addr_gen_mode = 0
      $ sysctl net.ipv6.conf.ens2f1np2.addr_gen_mode=0
      net.ipv6.conf.ens2f1np2.addr_gen_mode = 0
      
      $ ip a l ens2f0np0
      2: ens2f0np0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc
      mq master bond0 state UP group default qlen 1000
          link/ether 00:0f:53:2f:ea:40 brd ff:ff:ff:ff:ff:ff
          inet6 fe80::20f:53ff:fe2f:ea40/64 scope link tentative
             valid_lft forever preferred_lft forever
      $ ip a l ens2f1np2
      5: ens2f1np2: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc
      mq master bond0 state DOWN group default qlen 1000
          link/ether 00:0f:53:2f:ea:40 brd ff:ff:ff:ff:ff:ff
          inet6 fe80::20f:53ff:fe2f:ea40/64 scope link tentative
             valid_lft forever preferred_lft forever
      
      Looks like addrconf_sysctl_addr_gen_mode() bypasses the original "is
      this a slave interface?" check added by commit c2edacf8, and
      results in an address getting added, while w/the proposed patch added,
      no address gets added. This simply adds the same gating check to another
      code path, and thus should prevent the same devices from erroneously
      obtaining an ipv6 link-local address.
      
      Fixes: d35a00b8 ("net/ipv6: allow sysctl to change link-local address generation mode")
      Reported-by: default avatarMoshe Levi <moshele@mellanox.com>
      CC: Stephen Hemminger <stephen@networkplumber.org>
      CC: Marcelo Ricardo Leitner <mleitner@redhat.com>
      CC: netdev@vger.kernel.org
      Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      744fdc82
    • Cong Wang's avatar
      net_sched: add a temporary refcnt for struct tcindex_data · 304e0242
      Cong Wang authored
      Although we intentionally use an ordered workqueue for all tc
      filter works, the ordering is not guaranteed by RCU work,
      given that tcf_queue_work() is esstenially a call_rcu().
      
      This problem is demostrated by Thomas:
      
        CPU 0:
          tcf_queue_work()
            tcf_queue_work(&r->rwork, tcindex_destroy_rexts_work);
      
        -> Migration to CPU 1
      
        CPU 1:
           tcf_queue_work(&p->rwork, tcindex_destroy_work);
      
      so the 2nd work could be queued before the 1st one, which leads
      to a free-after-free.
      
      Enforcing this order in RCU work is hard as it requires to change
      RCU code too. Fortunately we can workaround this problem in tcindex
      filter by taking a temporary refcnt, we only refcnt it right before
      we begin to destroy it. This simplifies the code a lot as a full
      refcnt requires much more changes in tcindex_set_parms().
      
      Reported-by: syzbot+46f513c3033d592409d2@syzkaller.appspotmail.com
      Fixes: 3d210534 ("net_sched: fix a race condition in tcindex_destroy()")
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Paul E. McKenney <paulmck@kernel.org>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Cc: Jiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Reviewed-by: default avatarPaul E. McKenney <paulmck@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      304e0242
    • Linus Torvalds's avatar
      x86: get rid of 'errret' argument to __get_user_xyz() macross · 1a323ea5
      Linus Torvalds authored
      Every remaining user just has the error case returning -EFAULT.
      
      In fact, the exception was __get_user_asm_nozero(), which was removed in
      commit 4b842e4e ("x86: get rid of small constant size cases in
      raw_copy_{to,from}_user()"), and the other __get_user_xyz() macros just
      followed suit for consistency.
      
      Fix up some macro whitespace while at it.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1a323ea5
    • Linus Torvalds's avatar
      x86: remove __put_user_asm() infrastructure · ab33eb49
      Linus Torvalds authored
      The last user was removed by commit 4b842e4e ("x86: get rid of small
      constant size cases in raw_copy_{to,from}_user()").  Get rid of the
      left-overs before somebody tries to use it again.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ab33eb49
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · 29d9f30d
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Highlights:
      
         1) Fix the iwlwifi regression, from Johannes Berg.
      
         2) Support BSS coloring and 802.11 encapsulation offloading in
            hardware, from John Crispin.
      
         3) Fix some potential Spectre issues in qtnfmac, from Sergey
            Matyukevich.
      
         4) Add TTL decrement action to openvswitch, from Matteo Croce.
      
         5) Allow paralleization through flow_action setup by not taking the
            RTNL mutex, from Vlad Buslov.
      
         6) A lot of zero-length array to flexible-array conversions, from
            Gustavo A. R. Silva.
      
         7) Align XDP statistics names across several drivers for consistency,
            from Lorenzo Bianconi.
      
         8) Add various pieces of infrastructure for offloading conntrack, and
            make use of it in mlx5 driver, from Paul Blakey.
      
         9) Allow using listening sockets in BPF sockmap, from Jakub Sitnicki.
      
        10) Lots of parallelization improvements during configuration changes
            in mlxsw driver, from Ido Schimmel.
      
        11) Add support to devlink for generic packet traps, which report
            packets dropped during ACL processing. And use them in mlxsw
            driver. From Jiri Pirko.
      
        12) Support bcmgenet on ACPI, from Jeremy Linton.
      
        13) Make BPF compatible with RT, from Thomas Gleixnet, Alexei
            Starovoitov, and your's truly.
      
        14) Support XDP meta-data in virtio_net, from Yuya Kusakabe.
      
        15) Fix sysfs permissions when network devices change namespaces, from
            Christian Brauner.
      
        16) Add a flags element to ethtool_ops so that drivers can more simply
            indicate which coalescing parameters they actually support, and
            therefore the generic layer can validate the user's ethtool
            request. Use this in all drivers, from Jakub Kicinski.
      
        17) Offload FIFO qdisc in mlxsw, from Petr Machata.
      
        18) Support UDP sockets in sockmap, from Lorenz Bauer.
      
        19) Fix stretch ACK bugs in several TCP congestion control modules,
            from Pengcheng Yang.
      
        20) Support virtual functiosn in octeontx2 driver, from Tomasz
            Duszynski.
      
        21) Add region operations for devlink and use it in ice driver to dump
            NVM contents, from Jacob Keller.
      
        22) Add support for hw offload of MACSEC, from Antoine Tenart.
      
        23) Add support for BPF programs that can be attached to LSM hooks,
            from KP Singh.
      
        24) Support for multiple paths, path managers, and counters in MPTCP.
            From Peter Krystad, Paolo Abeni, Florian Westphal, Davide Caratti,
            and others.
      
        25) More progress on adding the netlink interface to ethtool, from
            Michal Kubecek"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2121 commits)
        net: ipv6: rpl_iptunnel: Fix potential memory leak in rpl_do_srh_inline
        cxgb4/chcr: nic-tls stats in ethtool
        net: dsa: fix oops while probing Marvell DSA switches
        net/bpfilter: remove superfluous testing message
        net: macb: Fix handling of fixed-link node
        net: dsa: ksz: Select KSZ protocol tag
        netdevsim: dev: Fix memory leak in nsim_dev_take_snapshot_write
        net: stmmac: add EHL 2.5Gbps PCI info and PCI ID
        net: stmmac: add EHL PSE0 & PSE1 1Gbps PCI info and PCI ID
        net: stmmac: create dwmac-intel.c to contain all Intel platform
        net: dsa: bcm_sf2: Support specifying VLAN tag egress rule
        net: dsa: bcm_sf2: Add support for matching VLAN TCI
        net: dsa: bcm_sf2: Move writing of CFP_DATA(5) into slicing functions
        net: dsa: bcm_sf2: Check earlier for FLOW_EXT and FLOW_MAC_EXT
        net: dsa: bcm_sf2: Disable learning for ASP port
        net: dsa: b53: Deny enslaving port 7 for 7278 into a bridge
        net: dsa: b53: Prevent tagged VLAN on port 7 for 7278
        net: dsa: b53: Restore VLAN entries upon (re)configuration
        net: dsa: bcm_sf2: Fix overflow checks
        hv_netvsc: Remove unnecessary round_up for recv_completion_cnt
        ...
      29d9f30d