linux/drivers/net
Jian Shen 472a2ff63e net: hns3: fix add VLAN fail issue
The hclge_sync_vlan_filter is called in periodic task,
trying to remove VLAN from vlan_del_fail_bmap. It can
be concurrence with VLAN adding operation from user.
So once user failed to delete a VLAN id, and add it
again soon, it may be removed by the periodic task,
which may cause the software configuration being
inconsistent with hardware. So add mutex handling
to avoid this.

     user                        hns3 driver

                                           periodic task
                                                │
  add vlan 10 ───── hns3_vlan_rx_add_vid        │
       │             (suppose success)          │
       │                                        │
  del vlan 10 ─────  hns3_vlan_rx_kill_vid      │
       │           (suppose fail,add to         │
       │             vlan_del_fail_bmap)        │
       │                                        │
  add vlan 10 ───── hns3_vlan_rx_add_vid        │
                     (suppose success)          │
                                       foreach vlan_del_fail_bmp
                                            del vlan 10

Fixes: fe4144d47e ("net: hns3: sync VLAN filter entries when kill VLAN ID failed")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-11-13 09:06:58 +00:00
..
arcnet net: arcnet: Do not call kfree_skb() under local_irq_disable() 2023-08-25 10:10:52 +01:00
bonding netlink: make range pointers in policies const 2023-10-26 16:24:09 -07:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-12 17:07:34 -07:00
dsa net: dsa: lan9303: consequently nested-lock physical MDIO 2023-11-02 10:48:09 +01:00
ethernet net: hns3: fix add VLAN fail issue 2023-11-13 09:06:58 +00:00
fddi
fjes netdev: replace napi_reschedule with napi_schedule 2023-10-11 17:28:06 -07:00
hamradio hamradio: replace deprecated strncpy with strscpy_pad 2023-10-17 17:59:55 -07:00
hippi
hyperv hv_netvsc: fix netvsc_send_completion to avoid multiple message length checks 2023-10-11 09:19:01 +01:00
ieee802154 net: ieee802154: adf7242: Fix some potential buffer overflow in adf7242_stats_show() 2023-10-22 11:28:43 +01:00
ipa net: ipa: Annotate struct ipa_power with __counted_by 2023-10-02 11:24:54 -07:00
ipvlan ipvlan: add ipvlan_route_v6_outbound() helper 2023-11-10 10:59:22 +00:00
mctp mctp i3c: MCTP I3C driver 2023-10-17 12:45:03 +02:00
mdio net: mdio: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:57 -07:00
netdevsim net: fill in MODULE_DESCRIPTION()s in kuba@'s modules 2023-10-28 11:29:27 +01:00
pcs net: pcs: xpcs: Add 2500BASE-X case in get state for XPCS drivers 2023-10-27 15:59:44 -07:00
phy net: phylink: initialize carrier state at creation 2023-11-07 22:32:23 +00:00
plip
ppp tty: Fix uninit-value access in ppp_sync_receive() 2023-11-10 11:09:53 +00:00
pse-pd
slip
team team: fix null-ptr-deref when team device type is changed 2023-09-19 16:28:37 +02:00
thunderbolt net: thunderbolt: Fix TCPv6 GSO checksum calculation 2023-09-15 13:45:05 +01:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-26 13:46:28 -07:00
vmxnet3
vxlan vxlan: Cleanup IFLA_VXLAN_PORT_RANGE entry in vxlan_get_size() 2023-10-27 15:36:38 -07:00
wan netdev: replace napi_reschedule with napi_schedule 2023-10-11 17:28:06 -07:00
wireguard wireguard: do not include crypto/algapi.h 2023-09-15 18:29:44 +08:00
wireless net: fill in MODULE_DESCRIPTION()s in kuba@'s modules 2023-10-28 11:29:27 +01:00
wwan net: wwan: replace deprecated strncpy with strscpy 2023-10-20 18:15:05 -07:00
xen-netback As usual, lots of singleton and doubleton patches all over the tree and 2023-11-02 20:53:31 -10:00
amt.c net: fill in MODULE_DESCRIPTION()s under drivers/net/ 2023-10-28 11:29:28 +01:00
bareudp.c bareudp: use ports to lookup route 2023-10-26 15:21:09 +02:00
dummy.c net: fill in MODULE_DESCRIPTION()s under drivers/net/ 2023-10-28 11:29:28 +01:00
eql.c net: fill in MODULE_DESCRIPTION()s under drivers/net/ 2023-10-28 11:29:28 +01:00
geneve.c geneve: use generic function for tunnel IPv6 route lookup 2023-10-23 08:48:57 +01:00
gtp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-26 13:46:28 -07:00
ifb.c net: fill in MODULE_DESCRIPTION()s under drivers/net/ 2023-10-28 11:29:28 +01:00
Kconfig netkit, bpf: Add bpf programmable net device 2023-10-24 16:06:03 -07:00
LICENSE.SRC
loopback.c
macsec.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-12 17:07:34 -07:00
macvlan.c
macvtap.c net: fill in MODULE_DESCRIPTION()s under drivers/net/ 2023-10-28 11:29:28 +01:00
Makefile netkit, bpf: Add bpf programmable net device 2023-10-24 16:06:03 -07:00
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c netconsole: Attach cmdline target to dynamic target 2023-10-13 17:26:38 -07:00
netkit.c netkit: Remove explicit active/peer ptr initialization 2023-10-26 15:58:39 +02:00
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c net: appletalk: remove cops support 2023-10-04 11:49:20 -07:00
sungem_phy.c net: fill in MODULE_DESCRIPTION()s under drivers/net/ 2023-10-28 11:29:28 +01:00
tap.c net: fill in MODULE_DESCRIPTION()s under drivers/net/ 2023-10-28 11:29:28 +01:00
tun.c tun: prevent negative ifindex 2023-10-17 17:44:51 -07:00
veth.c net: veth: use newly added page pool API for veth with xdp 2023-10-23 19:14:49 -07:00
virtio_net.c virtio_net: use u64_stats_t infra to avoid data-races 2023-10-27 10:58:15 +01:00
vrf.c vrf: Remove the now superfluous sentinel element from ctl_table array 2023-10-11 12:16:13 -07:00
vsockmon.c
xen-netfront.c