summaryrefslogtreecommitdiff
path: root/net/handshake/netlink.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2023-04-17 10:32:39 -0400
committerJakub Kicinski <kuba@kernel.org>2023-04-19 18:48:48 -0700
commit88232ec1ec5ecf4aa5de439cff3d5e2b7adcac93 (patch)
tree3b7255875d4f657e0cf0e3087ecab918f3d01ba3 /net/handshake/netlink.c
parent2fd5532044a89d2403b543520b4902e196f7d165 (diff)
net/handshake: Add Kunit tests for the handshake consumer API
These verify the API contracts and help exercise lifetime rules for consumer sockets and handshake_req structures. One way to run these tests: ./tools/testing/kunit/kunit.py run --kunitconfig ./net/handshake/.kunitconfig Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/handshake/netlink.c')
-rw-r--r--net/handshake/netlink.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/handshake/netlink.c b/net/handshake/netlink.c
index 7264cac04047..8ea0ff993f9f 100644
--- a/net/handshake/netlink.c
+++ b/net/handshake/netlink.c
@@ -18,6 +18,8 @@
#include <net/genetlink.h>
#include <net/netns/generic.h>
+#include <kunit/visibility.h>
+
#include <uapi/linux/handshake.h>
#include "handshake.h"
#include "genl.h"
@@ -38,6 +40,10 @@ int handshake_genl_notify(struct net *net, const struct handshake_proto *proto,
struct sk_buff *msg;
void *hdr;
+ /* Disable notifications during unit testing */
+ if (!test_bit(HANDSHAKE_F_PROTO_NOTIFY, &proto->hp_flags))
+ return 0;
+
if (!genl_has_listeners(&handshake_nl_family, net,
proto->hp_handler_class))
return -ESRCH;
@@ -262,6 +268,7 @@ struct handshake_net *handshake_pernet(struct net *net)
return handshake_net_id ?
net_generic(net, handshake_net_id) : NULL;
}
+EXPORT_SYMBOL_IF_KUNIT(handshake_pernet);
static int __init handshake_init(void)
{