diff options
author | Hangbin Liu <liuhangbin@gmail.com> | 2023-05-09 11:11:57 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-05-10 09:27:20 +0100 |
commit | 9949e2efb54eb3001cb2f6512ff3166dddbfb75d (patch) | |
tree | 4a57bfca499cf21036359f26a619c0d13447cbc6 /include | |
parent | 7c83e28f10830aa5105c25eaabe890e3adac36aa (diff) | |
download | lwn-9949e2efb54eb3001cb2f6512ff3166dddbfb75d.tar.gz lwn-9949e2efb54eb3001cb2f6512ff3166dddbfb75d.zip |
bonding: fix send_peer_notif overflow
Bonding send_peer_notif was defined as u8. Since commit 07a4ddec3ce9
("bonding: add an option to specify a delay between peer notifications").
the bond->send_peer_notif will be num_peer_notif multiplied by
peer_notif_delay, which is u8 * u32. This would cause the send_peer_notif
overflow easily. e.g.
ip link add bond0 type bond mode 1 miimon 100 num_grat_arp 30 peer_notify_delay 1000
To fix the overflow, let's set the send_peer_notif to u32 and limit
peer_notif_delay to 300s.
Reported-by: Liang Li <liali@redhat.com>
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2090053
Fixes: 07a4ddec3ce9 ("bonding: add an option to specify a delay between peer notifications")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/bonding.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/bonding.h b/include/net/bonding.h index a60a24923b55..0efef2a952b7 100644 --- a/include/net/bonding.h +++ b/include/net/bonding.h @@ -233,7 +233,7 @@ struct bonding { */ spinlock_t mode_lock; spinlock_t stats_lock; - u8 send_peer_notif; + u32 send_peer_notif; u8 igmp_retrans; #ifdef CONFIG_PROC_FS struct proc_dir_entry *proc_entry; |