Merge branch 'net-smc-userspace-breakage-fixes'
authorDavid S. Miller <davem@davemloft.net>
Mon, 8 Oct 2018 04:06:28 +0000 (21:06 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Oct 2018 04:06:28 +0000 (21:06 -0700)
Eugene Syromiatnikov says:

====================
net/smc: userspace breakage fixes

These two patches correct some userspace-affecting issues introduced
during 4.19 development cycle, specifically:
 * New structure "struct smcd_diag_dmbinfo" has been defined in a way
   that would lead to different layout of the structure on most 32-bit
   ABIs in comparison with layout on 64-bit ABIs;
 * One of the commits renamed an UAPI-exposed field name.

Changes since v1:
 * Managed not to forget to add --cover-letter.
 * Commit ID format in commit message has been changed in accordance
   with Sergei Shtylyov's recommendations.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/smc_diag.h

index ac9e8c96d9bd01ad09bd70fab9654ef70cc40a81..8cb3a6fef55301e8432ea99421b60b7d96ecad45 100644 (file)
@@ -18,14 +18,17 @@ struct smc_diag_req {
  * on the internal clcsock, and more SMC-related socket data
  */
 struct smc_diag_msg {
-       __u8    diag_family;
-       __u8    diag_state;
-       __u8    diag_mode;
-       __u8    diag_shutdown;
+       __u8            diag_family;
+       __u8            diag_state;
+       union {
+               __u8    diag_mode;
+               __u8    diag_fallback; /* the old name of the field */
+       };
+       __u8            diag_shutdown;
        struct inet_diag_sockid id;
 
-       __u32   diag_uid;
-       __u64   diag_inode;
+       __u32           diag_uid;
+       __aligned_u64   diag_inode;
 };
 
 /* Mode of a connection */
@@ -99,11 +102,11 @@ struct smc_diag_fallback {
 };
 
 struct smcd_diag_dmbinfo {             /* SMC-D Socket internals */
-       __u32 linkid;                   /* Link identifier */
-       __u64 peer_gid;                 /* Peer GID */
-       __u64 my_gid;                   /* My GID */
-       __u64 token;                    /* Token of DMB */
-       __u64 peer_token;               /* Token of remote DMBE */
+       __u32           linkid;         /* Link identifier */
+       __aligned_u64   peer_gid;       /* Peer GID */
+       __aligned_u64   my_gid;         /* My GID */
+       __aligned_u64   token;          /* Token of DMB */
+       __aligned_u64   peer_token;     /* Token of remote DMBE */
 };
 
 #endif /* _UAPI_SMC_DIAG_H_ */