aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPedro Tammela <pctammela@mojatatu.com>2023-12-08 16:28:43 -0300
committerJakub Kicinski <kuba@kernel.org>2023-12-11 18:52:57 -0800
commitddb6b284bdc32b6e218b3d90b5a745ea26620812 (patch)
treea1c5025b3d3cb5d7664e31e7d2c47535242133b8
parentrtnl: add helper to check if a notification is needed (diff)
downloadwireguard-linux-ddb6b284bdc32b6e218b3d90b5a745ea26620812.tar.xz
wireguard-linux-ddb6b284bdc32b6e218b3d90b5a745ea26620812.zip
rtnl: add helper to send if skb is not null
This is a convenience helper for routines handling conditional rtnl events, that is code that might send a notification depending on rtnl_has_listeners/rtnl_notify_needed. Instead of: if (skb) rtnetlink_send(...) Use: rtnetlink_maybe_send(...) Reviewed-by: Jiri Pirko <jiri@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> Link: https://lore.kernel.org/r/20231208192847.714940-4-pctammela@mojatatu.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--include/linux/rtnetlink.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index 0cbbbded0331..6a8543b34e2c 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -10,6 +10,13 @@
#include <uapi/linux/rtnetlink.h>
extern int rtnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, u32 group, int echo);
+
+static inline int rtnetlink_maybe_send(struct sk_buff *skb, struct net *net,
+ u32 pid, u32 group, int echo)
+{
+ return !skb ? 0 : rtnetlink_send(skb, net, pid, group, echo);
+}
+
extern int rtnl_unicast(struct sk_buff *skb, struct net *net, u32 pid);
extern void rtnl_notify(struct sk_buff *skb, struct net *net, u32 pid,
u32 group, const struct nlmsghdr *nlh, gfp_t flags);