1. 06 Apr, 2020 8 commits
  2. 03 Apr, 2020 10 commits
  3. 02 Apr, 2020 12 commits
  4. 01 Apr, 2020 10 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