mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
ipv4: Add __must_check to nexthop removal functions
These functions return a signal whether FIB flushing is required which must not be ignored. Use the compiler to help with enforcing this requirement in the future. Signed-off-by: Cosmin Ratiu <cratiu@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Reviewed-by: David Ahern <dsahern@kernel.org> Link: https://patch.msgid.link/20260507075606.322405-4-cratiu@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
35ce55100c
commit
5dcbd64e66
@@ -20,8 +20,8 @@
|
||||
#define NH_RES_DEFAULT_IDLE_TIMER (120 * HZ)
|
||||
#define NH_RES_DEFAULT_UNBALANCED_TIMER 0 /* No forced rebalancing. */
|
||||
|
||||
static bool remove_nexthop(struct net *net, struct nexthop *nh,
|
||||
struct nl_info *nlinfo);
|
||||
static bool __must_check remove_nexthop(struct net *net, struct nexthop *nh,
|
||||
struct nl_info *nlinfo);
|
||||
|
||||
#define NH_DEV_HASHBITS 8
|
||||
#define NH_DEV_HASHSIZE (1U << NH_DEV_HASHBITS)
|
||||
@@ -2016,9 +2016,9 @@ static void nh_hthr_group_rebalance(struct nh_group *nhg)
|
||||
}
|
||||
}
|
||||
|
||||
static bool remove_nh_grp_entry(struct net *net, struct nh_grp_entry *nhge,
|
||||
struct nl_info *nlinfo,
|
||||
struct list_head *deferred_free)
|
||||
static bool __must_check
|
||||
remove_nh_grp_entry(struct net *net, struct nh_grp_entry *nhge,
|
||||
struct nl_info *nlinfo, struct list_head *deferred_free)
|
||||
{
|
||||
struct nh_grp_entry *nhges, *new_nhges;
|
||||
struct nexthop *nhp = nhge->nh_parent;
|
||||
@@ -2095,8 +2095,9 @@ static bool remove_nh_grp_entry(struct net *net, struct nh_grp_entry *nhge,
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool remove_nexthop_from_groups(struct net *net, struct nexthop *nh,
|
||||
struct nl_info *nlinfo)
|
||||
static bool __must_check
|
||||
remove_nexthop_from_groups(struct net *net, struct nexthop *nh,
|
||||
struct nl_info *nlinfo)
|
||||
{
|
||||
struct nh_grp_entry *nhge, *tmp;
|
||||
LIST_HEAD(deferred_free);
|
||||
@@ -2146,7 +2147,8 @@ static void remove_nexthop_group(struct nexthop *nh, struct nl_info *nlinfo)
|
||||
}
|
||||
|
||||
/* not called for nexthop replace */
|
||||
static bool __remove_nexthop_fib(struct net *net, struct nexthop *nh)
|
||||
static bool __must_check __remove_nexthop_fib(struct net *net,
|
||||
struct nexthop *nh)
|
||||
{
|
||||
bool need_flush = !list_empty(&nh->fi_list);
|
||||
struct fib6_info *f6i;
|
||||
@@ -2177,8 +2179,8 @@ static bool __remove_nexthop_fib(struct net *net, struct nexthop *nh)
|
||||
return need_flush;
|
||||
}
|
||||
|
||||
static bool __remove_nexthop(struct net *net, struct nexthop *nh,
|
||||
struct nl_info *nlinfo)
|
||||
static bool __must_check __remove_nexthop(struct net *net, struct nexthop *nh,
|
||||
struct nl_info *nlinfo)
|
||||
{
|
||||
bool need_flush = __remove_nexthop_fib(net, nh);
|
||||
|
||||
@@ -2197,8 +2199,8 @@ static bool __remove_nexthop(struct net *net, struct nexthop *nh,
|
||||
return need_flush;
|
||||
}
|
||||
|
||||
static bool remove_nexthop(struct net *net, struct nexthop *nh,
|
||||
struct nl_info *nlinfo)
|
||||
static bool __must_check remove_nexthop(struct net *net, struct nexthop *nh,
|
||||
struct nl_info *nlinfo)
|
||||
{
|
||||
bool need_flush;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user