diff options
author | Matt Johnston <matt@codeconstruct.com.au> | 2025-07-10 16:55:57 +0800 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2025-07-15 12:08:39 +0200 |
commit | 4ec4b7fc04a7217a6a581ac132bd0fb6abc2f4d5 (patch) | |
tree | 481a43913fd8a54caa669584b28bfcd862cf1a4c /net/mctp/test/utils.c | |
parent | 5000268c298219396cc01b8c3363a578cd168085 (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.c | 22 |
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)); +} |