diff options
| -rw-r--r-- | net/batman-adv/netlink.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/batman-adv/netlink.c b/net/batman-adv/netlink.c index e5463003a3bd..1ba206e40273 100644 --- a/net/batman-adv/netlink.c +++ b/net/batman-adv/netlink.c @@ -919,9 +919,15 @@ static int batadv_netlink_set_hardif(struct sk_buff *skb, #ifdef CONFIG_BATMAN_ADV_BATMAN_V if (info->attrs[BATADV_ATTR_ELP_INTERVAL]) { + u32 elp_interval; + attr = info->attrs[BATADV_ATTR_ELP_INTERVAL]; + elp_interval = nla_get_u32(attr); + + elp_interval = min_t(u32, elp_interval, INT_MAX); + elp_interval = max_t(u32, elp_interval, BATADV_JITTER); - WRITE_ONCE(hard_iface->bat_v.elp_interval, nla_get_u32(attr)); + WRITE_ONCE(hard_iface->bat_v.elp_interval, elp_interval); } if (info->attrs[BATADV_ATTR_THROUGHPUT_OVERRIDE]) { |
