[SRU][N:linux-bluefield][PATCH v1 3/3] UBUNTU: SAUCE: ipv4: Add __must_check to nexthop removal functions
Stav Aviram
saviram at nvidia.com
Thu May 7 11:20:18 UTC 2026
From: Cosmin Ratiu <cratiu at nvidia.com>
BugLink: https://bugs.launchpad.net/bugs/2151772
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 at nvidia.com>
Signed-off-by: Stav Aviram <saviram at nvidia.com>
---
net/ipv4/nexthop.c | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c
index 7fe0af313423..5957094919d6 100644
--- a/net/ipv4/nexthop.c
+++ b/net/ipv4/nexthop.c
@@ -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)
@@ -1754,8 +1754,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)
+static bool __must_check
+remove_nh_grp_entry(struct net *net, struct nh_grp_entry *nhge,
+ struct nl_info *nlinfo)
{
struct nh_grp_entry *nhges, *new_nhges;
struct nexthop *nhp = nhge->nh_parent;
@@ -1830,8 +1831,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;
bool need_flush = false;
@@ -1873,7 +1875,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, *tmp;
@@ -1892,8 +1895,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);
@@ -1912,8 +1915,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;
--
2.38.1
More information about the kernel-team
mailing list