net/smc: retain old name for diag_mode field
authorEugene Syromiatnikov <esyr@redhat.com>
Sun, 7 Oct 2018 14:57:37 +0000 (16:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 8 Oct 2018 04:06:28 +0000 (21:06 -0700)
Commit c601171d7a60 ("net/smc: provide smc mode in smc_diag.c") changed
the name of diag_fallback field of struct smc_diag_msg structure
to diag_mode.  However, this structure is a part of UAPI, and this change
breaks user space applications that use it ([1], for example).  Since
the new name is more suitable, convert the field to a union that provides
access to the data via both the new and the old name.

[1] https://gitlab.com/strace/strace/blob/v4.24/netlink_smc_diag.c#L165

Fixes: c601171d7a60 ("net/smc: provide smc mode in smc_diag.c")
Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/smc_diag.h

index 6180c6d95309a95747c96d4816d47e50cb85fa22..8cb3a6fef55301e8432ea99421b60b7d96ecad45 100644 (file)
@@ -20,7 +20,10 @@ struct smc_diag_req {
 struct smc_diag_msg {
        __u8            diag_family;
        __u8            diag_state;
-       __u8            diag_mode;
+       union {
+               __u8    diag_mode;
+               __u8    diag_fallback; /* the old name of the field */
+       };
        __u8            diag_shutdown;
        struct inet_diag_sockid id;