linux/drivers/net/bonding
Eric Dumazet b47ff80f28 bonding: annotate data-races arcound churn variables
These fields are updated asynchronously by the bonding state machine
in ad_churn_machine() while holding bond->mode_lock.

bond_info_show_slave() and bond_fill_slave_info() read them without
bond->mode_lock being held, we need to add READ_ONCE() and
WRITE_ONCE() annotations.

Note that AD_CHURN_MONITOR, AD_CHURN, and AD_NO_CHURN are defined
exclusively in (kernel private) include/net/bond_3ad.h header.

They should be moved to include/uapi/linux/if_bonding.h or userspace
tools will have to hardcode their values.

Fixes: 4916f2e2f3 ("bonding: print churn state via netlink")
Fixes: 14c9551a32 ("bonding: Implement port churn-machine (AD standard 43.4.17).")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260603123514.388226-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-04 08:58:18 -07:00
..
bond_3ad.c bonding: annotate data-races arcound churn variables 2026-06-04 08:58:18 -07:00
bond_alb.c net: core: Convert dev_set_mac_address() to struct sockaddr_storage 2025-05-27 08:25:43 +02:00
bond_debugfs.c net: bonding: fix NULL deref in bond_debug_rlb_hash_show 2026-03-18 18:05:40 -07:00
bond_main.c net: bonding: fix NULL pointer dereference in bond_do_ioctl() 2026-06-04 11:38:51 +02:00
bond_netlink.c bonding: annotate data-races arcound churn variables 2026-06-04 08:58:18 -07:00
bond_options.c bpf/bonding: reject vlan+srcmac xmit_hash_policy change when XDP is loaded 2026-03-03 10:47:37 +01:00
bond_procfs.c bonding: annotate data-races arcound churn variables 2026-06-04 08:58:18 -07:00
bond_sysfs_slave.c bonding: 3ad: implement proper RCU rules for port->aggregator 2026-04-29 18:32:02 -07:00
bond_sysfs.c kernfs: pass struct ns_common instead of const void * for namespace tags 2026-04-09 14:36:52 +02:00
Makefile