summaryrefslogtreecommitdiff
path: root/net/mctp/test/utils.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@codeconstruct.com.au>2025-07-10 16:55:57 +0800
committerPaolo Abeni <pabeni@redhat.com>2025-07-15 12:08:39 +0200
commit4ec4b7fc04a7217a6a581ac132bd0fb6abc2f4d5 (patch)
tree481a43913fd8a54caa669584b28bfcd862cf1a4c /net/mctp/test/utils.c
parent5000268c298219396cc01b8c3363a578cd168085 (diff)
net: mctp: Add test for conflicting bind()s
Test pairwise combinations of bind addresses and types. Signed-off-by: Matt Johnston <matt@codeconstruct.com.au> Link: https://patch.msgid.link/20250710-mctp-bind-v4-4-8ec2f6460c56@codeconstruct.com.au Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/mctp/test/utils.c')
-rw-r--r--net/mctp/test/utils.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/net/mctp/test/utils.c b/net/mctp/test/utils.c
index 01f5af416b81..c971e2c326f3 100644
--- a/net/mctp/test/utils.c
+++ b/net/mctp/test/utils.c
@@ -258,3 +258,25 @@ struct sk_buff *__mctp_test_create_skb_data(const struct mctp_hdr *hdr,
return skb;
}
+
+void mctp_test_bind_run(struct kunit *test,
+ const struct mctp_test_bind_setup *setup,
+ int *ret_bind_errno, struct socket **sock)
+{
+ struct sockaddr_mctp addr;
+ int rc;
+
+ *ret_bind_errno = -EIO;
+
+ rc = sock_create_kern(&init_net, AF_MCTP, SOCK_DGRAM, 0, sock);
+ KUNIT_ASSERT_EQ(test, rc, 0);
+
+ memset(&addr, 0x0, sizeof(addr));
+ addr.smctp_family = AF_MCTP;
+ addr.smctp_network = setup->bind_net;
+ addr.smctp_addr.s_addr = setup->bind_addr;
+ addr.smctp_type = setup->bind_type;
+
+ *ret_bind_errno =
+ kernel_bind(*sock, (struct sockaddr *)&addr, sizeof(addr));
+}