1. 05 10月, 2018 17 次提交
    • D
      rxrpc: Fix some missed refs to init_net · 5e33a23b
      David Howells 提交于
      Fix some refs to init_net that should've been changed to the appropriate
      network namespace.
      
      Fixes: 2baec2c3 ("rxrpc: Support network namespacing")
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Acked-by: NPaolo Abeni <pabeni@redhat.com>
      5e33a23b
    • B
      net: phy: phylink: fix SFP interface autodetection · 7e418375
      Baruch Siach 提交于
      When connecting SFP PHY to phylink use the detected interface.
      Otherwise, the link fails to come up when the configured 'phy-mode'
      differs from the SFP detected mode.
      
      Move most of phylink_connect_phy() into __phylink_connect_phy(), and
      leave phylink_connect_phy() as a wrapper. phylink_sfp_connect_phy() can
      now pass the SFP detected PHY interface to __phylink_connect_phy().
      
      This fixes 1GB SFP module link up on eth3 of the Macchiatobin board that
      is configured in the DT to "2500base-x" phy-mode.
      
      Fixes: 9525ae83 ("phylink: add phylink infrastructure")
      Suggested-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NBaruch Siach <baruch@tkos.co.il>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7e418375
    • D
      be2net: don't flip hw_features when VXLANs are added/deleted · 2d52527e
      Davide Caratti 提交于
      the be2net implementation of .ndo_tunnel_{add,del}() changes the value of
      NETIF_F_GSO_UDP_TUNNEL bit in 'features' and 'hw_features', but it forgets
      to call netdev_features_change(). Moreover, ethtool setting for that bit
      can potentially be reverted after a tunnel is added or removed.
      
      GSO already does software segmentation when 'hw_enc_features' is 0, even
      if VXLAN offload is turned on. In addition, commit 096de2f8 ("benet:
      stricter vxlan offloading check in be_features_check") avoids hardware
      segmentation of non-VXLAN tunneled packets, or VXLAN packets having wrong
      destination port. So, it's safe to avoid flipping the above feature on
      addition/deletion of VXLAN tunnels.
      
      Fixes: 630f4b70 ("be2net: Export tunnel offloads only when a VxLAN tunnel is created")
      Signed-off-by: NDavide Caratti <dcaratti@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2d52527e
    • J
      net/packet: fix packet drop as of virtio gso · 9d2f67e4
      Jianfeng Tan 提交于
      When we use raw socket as the vhost backend, a packet from virito with
      gso offloading information, cannot be sent out in later validaton at
      xmit path, as we did not set correct skb->protocol which is further used
      for looking up the gso function.
      
      To fix this, we set this field according to virito hdr information.
      
      Fixes: e858fae2 ("virtio_net: use common code for virtio_net_hdr and skb GSO conversion")
      Signed-off-by: NJianfeng Tan <jianfeng.tan@linux.alibaba.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9d2f67e4
    • F
      net: dsa: b53: Keep CPU port as tagged in all VLANs · ca893194
      Florian Fainelli 提交于
      Commit c499696e ("net: dsa: b53: Stop using dev->cpu_port
      incorrectly") was a bit too trigger happy in removing the CPU port from
      the VLAN membership because we rely on DSA to program the CPU port VLAN,
      which it does, except it does not bother itself with tagged/untagged and
      just usese untagged.
      
      Having the CPU port "follow" the user ports tagged/untagged is not great
      and does not allow for properly differentiating, so keep the CPU port
      tagged in all VLANs.
      Reported-by: NGerhard Wiesinger <lists@wiesinger.com>
      Fixes: c499696e ("net: dsa: b53: Stop using dev->cpu_port incorrectly")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ca893194
    • F
      openvswitch: load NAT helper · 17c357ef
      Flavio Leitner 提交于
      Load the respective NAT helper module if the flow uses it.
      Signed-off-by: NFlavio Leitner <fbl@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      17c357ef
    • D
      Merge branch 'bnxt_en-fixes' · 508646aa
      David S. Miller 提交于
      Michael Chan says:
      
      ====================
      bnxt_en: Misc. bug fixes.
      
      4 small bug fixes related to setting firmware message enables bits, possible
      memory leak when probe fails, and ring accouting when RDMA driver is loaded.
      
      Please queue these for -stable as well.  Thanks.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      508646aa
    • V
      bnxt_en: get the reduced max_irqs by the ones used by RDMA · c78fe058
      Vasundhara Volam 提交于
      When getting the max rings supported, get the reduced max_irqs
      by the ones used by RDMA.
      
      If the number MSIX is the limiting factor, this bug may cause the
      max ring count to be higher than it should be when RDMA driver is
      loaded and may result in ring allocation failures.
      
      Fixes: 30f52947 ("bnxt_en: Do not modify max IRQ count after RDMA driver requests/frees IRQs.")
      Signed-off-by: NVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: NMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c78fe058
    • V
      bnxt_en: free hwrm resources, if driver probe fails. · a2bf74f4
      Venkat Duvvuru 提交于
      When the driver probe fails, all the resources that were allocated prior
      to the failure must be freed. However, hwrm dma response memory is not
      getting freed.
      
      This patch fixes the problem described above.
      
      Fixes: c0c050c5 ("bnxt_en: New Broadcom ethernet driver.")
      Signed-off-by: NVenkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
      Signed-off-by: NMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a2bf74f4
    • V
      bnxt_en: Fix enables field in HWRM_QUEUE_COS2BW_CFG request · 5db0e096
      Vasundhara Volam 提交于
      In HWRM_QUEUE_COS2BW_CFG request, enables field should have the bits
      set only for the queue ids which are having the valid parameters.
      
      This causes firmware to return error when the TC to hardware CoS queue
      mapping is not 1:1 during DCBNL ETS setup.
      
      Fixes: 2e8ef77e ("bnxt_en: Add TC to hardware QoS queue mapping logic.")
      Signed-off-by: NVasundhara Volam <vasundhara-v.volam@broadcom.com>
      Signed-off-by: NMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5db0e096
    • M
      bnxt_en: Fix VNIC reservations on the PF. · dbe80d44
      Michael Chan 提交于
      The enables bit for VNIC was set wrong when calling the HWRM_FUNC_CFG
      firmware call to reserve VNICs.  This has the effect that the firmware
      will keep a large number of VNICs for the PF, and having very few for
      VFs.  DPDK driver running on the VFs, which requires more VNICs, may not
      work properly as a result.
      
      Fixes: 674f50a5 ("bnxt_en: Implement new method to reserve rings.")
      Signed-off-by: NMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dbe80d44
    • I
      team: Forbid enslaving team device to itself · 471b83bd
      Ido Schimmel 提交于
      team's ndo_add_slave() acquires 'team->lock' and later tries to open the
      newly enslaved device via dev_open(). This emits a 'NETDEV_UP' event
      that causes the VLAN driver to add VLAN 0 on the team device. team's
      ndo_vlan_rx_add_vid() will also try to acquire 'team->lock' and
      deadlock.
      
      Fix this by checking early at the enslavement function that a team
      device is not being enslaved to itself.
      
      A similar check was added to the bond driver in commit 09a89c21
      ("bonding: disallow enslaving a bond to itself").
      
      WARNING: possible recursive locking detected
      4.18.0-rc7+ #176 Not tainted
      --------------------------------------------
      syz-executor4/6391 is trying to acquire lock:
      (____ptrval____) (&team->lock){+.+.}, at: team_vlan_rx_add_vid+0x3b/0x1e0 drivers/net/team/team.c:1868
      
      but task is already holding lock:
      (____ptrval____) (&team->lock){+.+.}, at: team_add_slave+0xdb/0x1c30 drivers/net/team/team.c:1947
      
      other info that might help us debug this:
       Possible unsafe locking scenario:
      
             CPU0
             ----
        lock(&team->lock);
        lock(&team->lock);
      
       *** DEADLOCK ***
      
       May be due to missing lock nesting notation
      
      2 locks held by syz-executor4/6391:
       #0: (____ptrval____) (rtnl_mutex){+.+.}, at: rtnl_lock net/core/rtnetlink.c:77 [inline]
       #0: (____ptrval____) (rtnl_mutex){+.+.}, at: rtnetlink_rcv_msg+0x412/0xc30 net/core/rtnetlink.c:4662
       #1: (____ptrval____) (&team->lock){+.+.}, at: team_add_slave+0xdb/0x1c30 drivers/net/team/team.c:1947
      
      stack backtrace:
      CPU: 1 PID: 6391 Comm: syz-executor4 Not tainted 4.18.0-rc7+ #176
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      Call Trace:
       __dump_stack lib/dump_stack.c:77 [inline]
       dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
       print_deadlock_bug kernel/locking/lockdep.c:1765 [inline]
       check_deadlock kernel/locking/lockdep.c:1809 [inline]
       validate_chain kernel/locking/lockdep.c:2405 [inline]
       __lock_acquire.cold.64+0x1fb/0x486 kernel/locking/lockdep.c:3435
       lock_acquire+0x1e4/0x540 kernel/locking/lockdep.c:3924
       __mutex_lock_common kernel/locking/mutex.c:757 [inline]
       __mutex_lock+0x176/0x1820 kernel/locking/mutex.c:894
       mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:909
       team_vlan_rx_add_vid+0x3b/0x1e0 drivers/net/team/team.c:1868
       vlan_add_rx_filter_info+0x14a/0x1d0 net/8021q/vlan_core.c:210
       __vlan_vid_add net/8021q/vlan_core.c:278 [inline]
       vlan_vid_add+0x63e/0x9d0 net/8021q/vlan_core.c:308
       vlan_device_event.cold.12+0x2a/0x2f net/8021q/vlan.c:381
       notifier_call_chain+0x180/0x390 kernel/notifier.c:93
       __raw_notifier_call_chain kernel/notifier.c:394 [inline]
       raw_notifier_call_chain+0x2d/0x40 kernel/notifier.c:401
       call_netdevice_notifiers_info+0x3f/0x90 net/core/dev.c:1735
       call_netdevice_notifiers net/core/dev.c:1753 [inline]
       dev_open+0x173/0x1b0 net/core/dev.c:1433
       team_port_add drivers/net/team/team.c:1219 [inline]
       team_add_slave+0xa8b/0x1c30 drivers/net/team/team.c:1948
       do_set_master+0x1c9/0x220 net/core/rtnetlink.c:2248
       do_setlink+0xba4/0x3e10 net/core/rtnetlink.c:2382
       rtnl_setlink+0x2a9/0x400 net/core/rtnetlink.c:2636
       rtnetlink_rcv_msg+0x46e/0xc30 net/core/rtnetlink.c:4665
       netlink_rcv_skb+0x172/0x440 net/netlink/af_netlink.c:2455
       rtnetlink_rcv+0x1c/0x20 net/core/rtnetlink.c:4683
       netlink_unicast_kernel net/netlink/af_netlink.c:1317 [inline]
       netlink_unicast+0x5a0/0x760 net/netlink/af_netlink.c:1343
       netlink_sendmsg+0xa18/0xfd0 net/netlink/af_netlink.c:1908
       sock_sendmsg_nosec net/socket.c:642 [inline]
       sock_sendmsg+0xd5/0x120 net/socket.c:652
       ___sys_sendmsg+0x7fd/0x930 net/socket.c:2126
       __sys_sendmsg+0x11d/0x290 net/socket.c:2164
       __do_sys_sendmsg net/socket.c:2173 [inline]
       __se_sys_sendmsg net/socket.c:2171 [inline]
       __x64_sys_sendmsg+0x78/0xb0 net/socket.c:2171
       do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
       entry_SYSCALL_64_after_hwframe+0x49/0xbe
      RIP: 0033:0x456b29
      Code: fd b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 cb b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00
      RSP: 002b:00007f9706bf8c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
      RAX: ffffffffffffffda RBX: 00007f9706bf96d4 RCX: 0000000000456b29
      RDX: 0000000000000000 RSI: 0000000020000240 RDI: 0000000000000004
      RBP: 00000000009300a0 R08: 0000000000000000 R09: 0000000000000000
      R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
      R13: 00000000004d3548 R14: 00000000004c8227 R15: 0000000000000000
      
      Fixes: 87002b03 ("net: introduce vlan_vid_[add/del] and use them instead of direct [add/kill]_vid ndo calls")
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Reported-and-tested-by: syzbot+bd051aba086537515cdb@syzkaller.appspotmail.com
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      471b83bd
    • Y
      net/usb: cancel pending work when unbinding smsc75xx · f7b2a56e
      Yu Zhao 提交于
      Cancel pending work before freeing smsc75xx private data structure
      during binding. This fixes the following crash in the driver:
      
      BUG: unable to handle kernel NULL pointer dereference at 0000000000000050
      IP: mutex_lock+0x2b/0x3f
      <snipped>
      Workqueue: events smsc75xx_deferred_multicast_write [smsc75xx]
      task: ffff8caa83e85700 task.stack: ffff948b80518000
      RIP: 0010:mutex_lock+0x2b/0x3f
      <snipped>
      Call Trace:
       smsc75xx_deferred_multicast_write+0x40/0x1af [smsc75xx]
       process_one_work+0x18d/0x2fc
       worker_thread+0x1a2/0x269
       ? pr_cont_work+0x58/0x58
       kthread+0xfa/0x10a
       ? pr_cont_work+0x58/0x58
       ? rcu_read_unlock_sched_notrace+0x48/0x48
       ret_from_fork+0x22/0x40
      Signed-off-by: NYu Zhao <yuzhao@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f7b2a56e
    • D
      Merge tag 'mac80211-for-davem-2018-10-04' of... · 9e15ff7b
      David S. Miller 提交于
      Merge tag 'mac80211-for-davem-2018-10-04' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
      
      Johannes Berg says:
      
      ====================
      Just three small fixes:
       * fix use-after-free in regulatory code
       * fix rx-mgmt key flag in AP mode (mac80211)
       * fix wireless extensions compat code memory leak
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9e15ff7b
    • D
      Merge branch 'mlxsw-fixes' · b576eddb
      David S. Miller 提交于
      Ido Schimmel says:
      
      ====================
      mlxsw: Couple of fixes
      
      First patch works around an hardware issue in Spectrum-2 where a field
      indicating the event type is always set to the same value. Since there
      are only two event types and they are reported using different queues,
      we can use the queue number to derive the event type.
      
      Second patch prevents a router interface (RIF) leakage when a VLAN
      device is deleted from on top a bridge device.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b576eddb
    • I
      mlxsw: spectrum: Delete RIF when VLAN device is removed · c360867e
      Ido Schimmel 提交于
      In commit 602b74ed ("mlxsw: spectrum_switchdev: Do not leak RIFs
      when removing bridge") I handled the case where RIFs created for VLAN
      devices were not properly cleaned up when their real device (a bridge)
      was removed.
      
      However, I forgot to handle the case of the VLAN device itself being
      removed. Do so now when the VLAN device is being unlinked from its real
      device.
      
      Fixes: 99f44bb3 ("mlxsw: spectrum: Enable L3 interfaces on top of bridge devices")
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Reviewed-by: NJiri Pirko <jiri@mellanox.com>
      Reported-by: NArtem Shvorin <art@qrator.net>
      Tested-by: NArtem Shvorin <art@qrator.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c360867e
    • N
      mlxsw: pci: Derive event type from event queue number · f3c84a8e
      Nir Dotan 提交于
      Due to a hardware issue in Spectrum-2, the field event_type of the event
      queue element (EQE) has become reserved. It was used to distinguish between
      command interface completion events and completion events.
      
      Use queue number to determine event type, as command interface completion
      events are always received on EQ0 and mlxsw driver maps completion events
      to EQ1.
      
      Fixes: c3ab4354 ("mlxsw: spectrum: Extend to support Spectrum-2 ASIC")
      Signed-off-by: NNir Dotan <nird@mellanox.com>
      Reviewed-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f3c84a8e
  2. 04 10月, 2018 4 次提交
    • G
      Merge gitolite.kernel.org:/pub/scm/linux/kernel/git/davem/net · cec4de30
      Greg Kroah-Hartman 提交于
      David writes:
        "Networking fixes:
         1) Prefix length validation in xfrm layer, from Steffen Klassert.
      
         2) TX status reporting fix in mac80211, from Andrei Otcheretianski.
      
         3) Fix hangs due to TX_DROP in mac80211, from Bob Copeland.
      
         4) Fix DMA error regression in b43, from Larry Finger.
      
         5) Add input validation to xenvif_set_hash_mapping(), from Jan Beulich.
      
         6) SMMU unmapping fix in hns driver, from Yunsheng Lin.
      
         7) Bluetooh crash in unpairing on SMP, from Matias Karhumaa.
      
         8) WoL handling fixes in the phy layer, from Heiner Kallweit.
      
         9) Fix deadlock in bonding, from Mahesh Bandewar.
      
         10) Fill ttl inherit infor in vxlan driver, from Hangbin Liu.
      
         11) Fix TX timeouts during netpoll, from Michael Chan.
      
         12) RXRPC layer fixes from David Howells.
      
         13) Another batch of ndo_poll_controller() removals to deal with
             excessive resource consumption during load.  From Eric Dumazet.
      
         14) Fix a specific TIPC failure secnario, from LUU Duc Canh.
      
         15) Really disable clocks in r8169 during suspend so that low
             power states can actually be reached.
      
         16) Fix SYN backlog lockdep issue in tcp and dccp, from Eric Dumazet.
      
         17) Fix RCU locking in netpoll SKB send, which shows up in bonding,
             from Dave Jones.
      
         18) Fix TX stalls in r8169, from Heiner Kallweit.
      
         19) Fix locksup in nfp due to control message storms, from Jakub
             Kicinski.
      
         20) Various rmnet bug fixes from Subash Abhinov Kasiviswanathan and
             Sean Tranchetti.
      
         21) Fix use after free in ip_cmsg_recv_dstaddr(), from Eric Dumazet."
      
      * gitolite.kernel.org:/pub/scm/linux/kernel/git/davem/net: (122 commits)
        ixgbe: check return value of napi_complete_done()
        sctp: fix fall-through annotation
        r8169: always autoneg on resume
        ipv4: fix use-after-free in ip_cmsg_recv_dstaddr()
        net: qualcomm: rmnet: Fix incorrect allocation flag in receive path
        net: qualcomm: rmnet: Fix incorrect allocation flag in transmit
        net: qualcomm: rmnet: Skip processing loopback packets
        net: systemport: Fix wake-up interrupt race during resume
        rtnl: limit IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUES to 4096
        bonding: fix warning message
        inet: make sure to grab rcu_read_lock before using ireq->ireq_opt
        nfp: avoid soft lockups under control message storm
        declance: Fix continuation with the adapter identification message
        net: fec: fix rare tx timeout
        r8169: fix network stalls due to missing bit TXCFG_AUTO_FIFO
        tun: napi flags belong to tfile
        tun: initialize napi_mutex unconditionally
        tun: remove unused parameters
        bond: take rcu lock in netpoll_send_skb_on_dev
        rtnetlink: Fail dump if target netnsid is invalid
        ...
      cec4de30
    • S
      ixgbe: check return value of napi_complete_done() · 4233cfe6
      Song Liu 提交于
      The NIC driver should only enable interrupts when napi_complete_done()
      returns true. This patch adds the check for ixgbe.
      
      Cc: stable@vger.kernel.org # 4.10+
      Suggested-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NSong Liu <songliubraving@fb.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4233cfe6
    • G
      Merge tag 'linux-kselftest-4.19-rc7' of... · 95773dc0
      Greg Kroah-Hartman 提交于
      Merge tag 'linux-kselftest-4.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Shuah writes:
        "kselftest fixes for 4.19-rc7
      
         This fixes update for 4.19-rc7 consists one fix to rseq test to
         prevent it from seg-faulting when compiled with -fpie."
      
      * tag 'linux-kselftest-4.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        rseq/selftests: fix parametrized test with -fpie
      95773dc0
    • G
      sctp: fix fall-through annotation · 2cc543f5
      Gustavo A. R. Silva 提交于
      Replace "fallthru" with a proper "fall through" annotation.
      
      This fix is part of the ongoing efforts to enabling
      -Wimplicit-fallthrough
      Signed-off-by: NGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2cc543f5
  3. 03 10月, 2018 19 次提交