[PATCH net 1/2] mctp: unify sockaddr_mctp types

Subsystems: documentation, management component transport protocol (mctp), networking [general], the rest

STALE1762d

5 messages, 3 authors, 2021-10-18 · open the first message on its own page

[PATCH net 1/2] mctp: unify sockaddr_mctp types

From: Jeremy Kerr <jk@codeconstruct.com.au>
Date: 2021-10-18 03:30:23

Use the more precise __kernel_sa_family_t for smctp_family, to match
struct sockaddr.

Also, use an unsigned int for the network member; negative networks
don't make much sense. We're already using unsigned for mctp_dev and
mctp_skb_cb, but need to change mctp_sock to suit.

Fixes: 60fc63981693 ("mctp: Add sockaddr_mctp to uapi")
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
---
 Documentation/networking/mctp.rst | 10 +++++-----
 include/net/mctp.h                |  2 +-
 include/uapi/linux/mctp.h         |  5 +++--
 3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/Documentation/networking/mctp.rst b/Documentation/networking/mctp.rst
index 6100cdc220f6..fa7730dbf7b9 100644
--- a/Documentation/networking/mctp.rst
+++ b/Documentation/networking/mctp.rst
@@ -59,11 +59,11 @@ specified with a ``sockaddr`` type, with a single-byte endpoint address:
     };
 
     struct sockaddr_mctp {
-            unsigned short int	smctp_family;
-            int			smctp_network;
-            struct mctp_addr	smctp_addr;
-            __u8		smctp_type;
-            __u8		smctp_tag;
+            __kernel_sa_family_t smctp_family;
+            unsigned int         smctp_network;
+            struct mctp_addr     smctp_addr;
+            __u8                 smctp_type;
+            __u8                 smctp_tag;
     };
 
     #define MCTP_NET_ANY	0x0
diff --git a/include/net/mctp.h b/include/net/mctp.h
index a824d47c3c6d..ffd2c23bd76d 100644
--- a/include/net/mctp.h
+++ b/include/net/mctp.h
@@ -54,7 +54,7 @@ struct mctp_sock {
 	struct sock	sk;
 
 	/* bind() params */
-	int		bind_net;
+	unsigned int	bind_net;
 	mctp_eid_t	bind_addr;
 	__u8		bind_type;
 
diff --git a/include/uapi/linux/mctp.h b/include/uapi/linux/mctp.h
index 52b54d13f385..f384962d8ff2 100644
--- a/include/uapi/linux/mctp.h
+++ b/include/uapi/linux/mctp.h
@@ -10,6 +10,7 @@
 #define __UAPI_MCTP_H
 
 #include <linux/types.h>
+#include <linux/socket.h>
 
 typedef __u8			mctp_eid_t;
 
@@ -18,8 +19,8 @@ struct mctp_addr {
 };
 
 struct sockaddr_mctp {
-	unsigned short int	smctp_family;
-	int			smctp_network;
+	__kernel_sa_family_t	smctp_family;
+	unsigned int		smctp_network;
 	struct mctp_addr	smctp_addr;
 	__u8			smctp_type;
 	__u8			smctp_tag;
-- 
2.30.2

[PATCH net 2/2] mctp: Be explicit about struct sockaddr_mctp padding

From: Jeremy Kerr <jk@codeconstruct.com.au>
Date: 2021-10-18 03:30:14

We currently have some implicit padding in struct sockaddr_mctp. This
patch makes this padding explicit, and ensures we have consistent
layout on platforms with <32bit alignmnent.

Fixes: 60fc63981693 ("mctp: Add sockaddr_mctp to uapi")
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
---
 include/uapi/linux/mctp.h | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/include/uapi/linux/mctp.h b/include/uapi/linux/mctp.h
index f384962d8ff2..6acd4ccafbf7 100644
--- a/include/uapi/linux/mctp.h
+++ b/include/uapi/linux/mctp.h
@@ -20,10 +20,12 @@ struct mctp_addr {
 
 struct sockaddr_mctp {
 	__kernel_sa_family_t	smctp_family;
+	__u16			__smctp_pad0;
 	unsigned int		smctp_network;
 	struct mctp_addr	smctp_addr;
 	__u8			smctp_type;
 	__u8			smctp_tag;
+	__u8			__smctp_pad1;
 };
 
 #define MCTP_NET_ANY		0x0
-- 
2.30.2

Re: [PATCH net 1/2] mctp: unify sockaddr_mctp types

From: Eugene Syromiatnikov <hidden>
Date: 2021-10-18 12:00:30

On Mon, Oct 18, 2021 at 11:29:34AM +0800, Jeremy Kerr wrote:
Use the more precise __kernel_sa_family_t for smctp_family, to match
struct sockaddr.

Also, use an unsigned int for the network member; negative networks
don't make much sense. We're already using unsigned for mctp_dev and
mctp_skb_cb, but need to change mctp_sock to suit.

Fixes: 60fc63981693 ("mctp: Add sockaddr_mctp to uapi")
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Acked-by: Eugene Syromiatnikov <redacted>

Re: [PATCH net 2/2] mctp: Be explicit about struct sockaddr_mctp padding

From: Eugene Syromiatnikov <hidden>
Date: 2021-10-18 12:51:40

On Mon, Oct 18, 2021 at 11:29:35AM +0800, Jeremy Kerr wrote:
We currently have some implicit padding in struct sockaddr_mctp. This
patch makes this padding explicit, and ensures we have consistent
layout on platforms with <32bit alignmnent.

Fixes: 60fc63981693 ("mctp: Add sockaddr_mctp to uapi")
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Acked-by: Eugene Syromiatnikov <redacted>

Re: [PATCH net 1/2] mctp: unify sockaddr_mctp types

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-10-18 13:00:18

Hello:

This series was applied to netdev/net.git (master)
by David S. Miller [off-list ref]:

On Mon, 18 Oct 2021 11:29:34 +0800 you wrote:
Use the more precise __kernel_sa_family_t for smctp_family, to match
struct sockaddr.

Also, use an unsigned int for the network member; negative networks
don't make much sense. We're already using unsigned for mctp_dev and
mctp_skb_cb, but need to change mctp_sock to suit.

[...]
Here is the summary with links:
  - [net,1/2] mctp: unify sockaddr_mctp types
    https://git.kernel.org/netdev/net/c/b416beb25d93
  - [net,2/2] mctp: Be explicit about struct sockaddr_mctp padding
    https://git.kernel.org/netdev/net/c/5a20dd46b8b8

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help