Ubuntu-focal-kernel/net
Jonas Gorski 286fcc73a7 net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN
BugLink: https://bugs.launchpad.net/bugs/2081278

[ Upstream commit bee2ef946d3184e99077be526567d791c473036f ]

When userspace wants to take over a fdb entry by setting it as
EXTERN_LEARNED, we set both flags BR_FDB_ADDED_BY_EXT_LEARN and
BR_FDB_ADDED_BY_USER in br_fdb_external_learn_add().

If the bridge updates the entry later because its port changed, we clear
the BR_FDB_ADDED_BY_EXT_LEARN flag, but leave the BR_FDB_ADDED_BY_USER
flag set.

If userspace then wants to take over the entry again,
br_fdb_external_learn_add() sees that BR_FDB_ADDED_BY_USER and skips
setting the BR_FDB_ADDED_BY_EXT_LEARN flags, thus silently ignores the
update.

Fix this by always allowing to set BR_FDB_ADDED_BY_EXT_LEARN regardless
if this was a user fdb entry or not.

Fixes: 710ae72877 ("net: bridge: Mark FDB entries that were added by user as such")
Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20240903081958.29951-1-jonas.gorski@bisdn.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Koichiro Den <koichiro.den@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
2024-09-27 10:50:32 +02:00
..
6lowpan
9p net/9p: fix uninit-value in p9_client_rpc() 2024-07-05 10:52:03 +02:00
802
8021q vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING 2024-03-28 15:18:31 +01:00
appletalk appletalk: Fix Use-After-Free in atalk_ioctl 2024-02-02 14:13:17 +01:00
atm atm: Fix Use-After-Free in do_vcc_ioctl 2024-02-02 14:13:21 +01:00
ax25 ax25: Fix reference count leak issues of ax25_dev 2024-09-27 10:50:29 +02:00
batman-adv batman-adv: Don't accept TT entries for out-of-spec VIDs 2024-08-02 16:16:23 +02:00
bluetooth Bluetooth: MGMT: Add error handling to pair_device() 2024-09-27 10:50:26 +02:00
bpf
bpfilter
bridge net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN 2024-09-27 10:50:32 +02:00
caif
can can: bcm: Remove proc entry when dev is unregistered. 2024-09-27 10:50:31 +02:00
ceph libceph: fix race between delayed_work() and ceph_monc_stop() 2024-08-02 16:16:34 +02:00
core ethtool: check device is present when getting link settings 2024-09-27 10:50:27 +02:00
dcb net: dcb: choose correct policy to parse DCB_ATTR_BCN 2023-10-30 11:41:49 +01:00
dccp dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses. 2024-02-02 14:13:06 +01:00
decnet Remove DECnet support from kernel 2023-09-01 14:48:44 +02:00
dns_resolver
dsa net: dsa: tag_sja1105: fix MAC DA patching from meta frames 2023-10-02 12:12:08 +02:00
ethernet ethernet: Add helper for assigning packet type when dest address does not match device address 2024-06-07 15:01:47 +02:00
hsr hsr: Handle failures in module init 2024-06-07 15:01:31 +02:00
ieee802154
ife net: sched: ife: fix potential use-after-free 2024-02-12 09:10:24 +01:00
ipv4 tcp_bpf: fix return value of tcp_bpf_sendmsg() 2024-09-27 10:50:32 +02:00
ipv6 ila: call nf_unregister_net_hooks() sooner 2024-09-27 10:50:31 +02:00
iucv s390/iucv: fix receive buffer virtual vs physical address confusion 2024-09-27 10:50:25 +02:00
kcm kcm: Serialise kcm_sendmsg() for the same socket. 2024-09-27 10:50:26 +02:00
key net: af_key: fix sadb_x_filter validation 2023-10-30 11:41:58 +01:00
l2tp net l2tp: drop flow hash on forward 2024-07-05 10:51:51 +02:00
l3mdev
lapb
llc llc: call sock_orphan() at release time 2024-03-28 15:18:39 +01:00
mac80211 wifi: mac80211: Avoid address calculations via out of bounds array indexing 2024-09-27 10:50:29 +02:00
mac802154 net: mac802154: Fix racy device stats updates by DEV_STATS_INC() and DEV_STATS_ADD() 2024-09-27 10:50:09 +02:00
mpls
ncsi net/ncsi: Fix netlink major/minor version numbers 2024-02-29 15:23:36 +01:00
netfilter netfilter: nf_conncount: fix wrong variable type 2024-09-27 10:50:31 +02:00
netlabel calipso: fix memory leak in netlbl_calipso_add_pass() 2024-02-29 15:23:34 +01:00
netlink netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter 2024-04-26 10:54:10 +02:00
netrom netrom: Fix a memory leak in nr_heartbeat_expiry() 2024-08-02 16:16:18 +02:00
nfc nfc: nci: Fix handling of zero-length payload packets in nci_rx_work() 2024-07-05 10:52:01 +02:00
nsh nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment(). 2024-07-05 10:51:51 +02:00
openvswitch openvswitch: Set the skbuff pkt_type for proper pmtud support. 2024-07-05 10:52:01 +02:00
packet af_packet: Handle outgoing VLAN packets without hardware offloading 2024-09-27 10:50:14 +02:00
phonet phonet: fix rtm_phonet_notify() skb allocation 2024-07-05 10:51:53 +02:00
psample psample: Require 'CAP_NET_ADMIN' when joining "packets" group 2024-02-02 14:13:20 +01:00
qrtr
rds net:rds: Fix possible deadlock in rds_message_put 2024-09-27 10:50:27 +02:00
rfkill net: rfkill: gpio: set GPIO direction 2024-02-12 09:10:26 +01:00
rose net/rose: fix races in rose_kill_by_device() 2024-02-12 09:10:25 +01:00
rxrpc rxrpc: Fix delayed ACKs to not set the reference serial number 2024-08-28 12:09:02 +02:00
sched sched: sch_cake: fix bulk flow accounting logic for host fairness 2024-09-27 10:50:31 +02:00
sctp sctp: Fix null-ptr-deref in reuseport_add_sock(). 2024-09-27 10:50:18 +02:00
smc net/smc: set rmb's SG_MAX_SINGLE_ALLOC limitation only when CONFIG_ARCH_NO_SG_CHAIN is defined 2024-09-27 10:50:11 +02:00
strparser
sunrpc SUNRPC: Fix a race to wake a sync task 2024-09-27 10:50:19 +02:00
switchdev
tipc tipc: Return non-zero value from tipc_udp_addr2str() on error 2024-09-27 10:50:16 +02:00
tls tls: fix race between tx work scheduling and socket close 2024-07-05 10:51:50 +02:00
unix af_unix: Remove put_pid()/put_cred() in copy_peercred(). 2024-09-27 10:50:31 +02:00
vmw_vsock virtio/vsock: fix logic which reduces credit update messages 2024-02-29 15:23:36 +01:00
wimax
wireless wifi: cfg80211: make hash table duplicates more survivable 2024-09-27 10:50:30 +02:00
x25 net/x25: fix incorrect parameter validation in the x25_getsockopt() function 2024-06-07 15:01:27 +02:00
xdp xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING 2024-07-05 10:52:03 +02:00
xfrm net: fix __dst_negative_advice() race 2024-07-05 10:52:03 +02:00
Kconfig Remove DECnet support from kernel 2023-09-01 14:48:44 +02:00
Makefile Remove DECnet support from kernel 2023-09-01 14:48:44 +02:00
compat.c
socket.c net: Save and restore msg_namelen in sock_sendmsg 2024-02-23 13:48:04 +01:00
sysctl_net.c