scm: remove use CMSG{_COMPAT}_ALIGN(sizeof(struct {compat_}cmsghdr))
authoryuan linyu <Linyu.Yuan@alcatel-sbell.com.cn>
Tue, 3 Jan 2017 12:42:17 +0000 (20:42 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Jan 2017 18:04:37 +0000 (13:04 -0500)
sizeof(struct cmsghdr) and sizeof(struct compat_cmsghdr) already aligned.
remove use CMSG_ALIGN(sizeof(struct cmsghdr)) and
CMSG_COMPAT_ALIGN(sizeof(struct compat_cmsghdr)) keep code consistent.

Signed-off-by: yuan linyu <Linyu.Yuan@alcatel-sbell.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/socket.h
net/compat.c
net/core/scm.c
net/ipv4/ip_sockglue.c
net/rxrpc/sendmsg.c

index b5cc5a6d7011a06e0310d5bf0136dd42569bda03..c06438023d79bbb66bc88c7933fc184587915479 100644 (file)
@@ -92,9 +92,9 @@ struct cmsghdr {
 
 #define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) )
 
-#define CMSG_DATA(cmsg)        ((void *)((char *)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr))))
-#define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len))
-#define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len))
+#define CMSG_DATA(cmsg)        ((void *)((char *)(cmsg) + sizeof(struct cmsghdr)))
+#define CMSG_SPACE(len) (sizeof(struct cmsghdr) + CMSG_ALIGN(len))
+#define CMSG_LEN(len) (sizeof(struct cmsghdr) + (len))
 
 #define __CMSG_FIRSTHDR(ctl,len) ((len) >= sizeof(struct cmsghdr) ? \
                                  (struct cmsghdr *)(ctl) : \
index 96c544b05b15e3287cff8905b4b6007af69322af..4e27dd1cd3a66ee03ab81c00f834c171f2729f86 100644 (file)
@@ -90,11 +90,11 @@ int get_compat_msghdr(struct msghdr *kmsg,
 #define CMSG_COMPAT_ALIGN(len) ALIGN((len), sizeof(s32))
 
 #define CMSG_COMPAT_DATA(cmsg)                         \
-       ((void __user *)((char __user *)(cmsg) + CMSG_COMPAT_ALIGN(sizeof(struct compat_cmsghdr))))
+       ((void __user *)((char __user *)(cmsg) + sizeof(struct compat_cmsghdr)))
 #define CMSG_COMPAT_SPACE(len)                         \
-       (CMSG_COMPAT_ALIGN(sizeof(struct compat_cmsghdr)) + CMSG_COMPAT_ALIGN(len))
+       (sizeof(struct compat_cmsghdr) + CMSG_COMPAT_ALIGN(len))
 #define CMSG_COMPAT_LEN(len)                           \
-       (CMSG_COMPAT_ALIGN(sizeof(struct compat_cmsghdr)) + (len))
+       (sizeof(struct compat_cmsghdr) + (len))
 
 #define CMSG_COMPAT_FIRSTHDR(msg)                      \
        (((msg)->msg_controllen) >= sizeof(struct compat_cmsghdr) ?     \
@@ -141,8 +141,7 @@ int cmsghdr_from_user_compat_to_kern(struct msghdr *kmsg, struct sock *sk,
                if (!CMSG_COMPAT_OK(ucmlen, ucmsg, kmsg))
                        return -EINVAL;
 
-               tmp = ((ucmlen - CMSG_COMPAT_ALIGN(sizeof(*ucmsg))) +
-                      CMSG_ALIGN(sizeof(struct cmsghdr)));
+               tmp = ((ucmlen - sizeof(*ucmsg)) + sizeof(struct cmsghdr));
                tmp = CMSG_ALIGN(tmp);
                kcmlen += tmp;
                ucmsg = cmsg_compat_nxthdr(kmsg, ucmsg, ucmlen);
@@ -168,8 +167,7 @@ int cmsghdr_from_user_compat_to_kern(struct msghdr *kmsg, struct sock *sk,
                        goto Efault;
                if (!CMSG_COMPAT_OK(ucmlen, ucmsg, kmsg))
                        goto Einval;
-               tmp = ((ucmlen - CMSG_COMPAT_ALIGN(sizeof(*ucmsg))) +
-                      CMSG_ALIGN(sizeof(struct cmsghdr)));
+               tmp = ((ucmlen - sizeof(*ucmsg)) + sizeof(struct cmsghdr));
                if ((char *)kcmsg_base + kcmlen - (char *)kcmsg < CMSG_ALIGN(tmp))
                        goto Einval;
                kcmsg->cmsg_len = tmp;
@@ -178,7 +176,7 @@ int cmsghdr_from_user_compat_to_kern(struct msghdr *kmsg, struct sock *sk,
                    __get_user(kcmsg->cmsg_type, &ucmsg->cmsg_type) ||
                    copy_from_user(CMSG_DATA(kcmsg),
                                   CMSG_COMPAT_DATA(ucmsg),
-                                  (ucmlen - CMSG_COMPAT_ALIGN(sizeof(*ucmsg)))))
+                                  (ucmlen - sizeof(*ucmsg))))
                        goto Efault;
 
                /* Advance. */
index d8820438ba374be7e723512635b40695853e4807..b6d83686e1496d945ce5362908e7699fb98ea10e 100644 (file)
@@ -71,7 +71,7 @@ static int scm_fp_copy(struct cmsghdr *cmsg, struct scm_fp_list **fplp)
        struct file **fpp;
        int i, num;
 
-       num = (cmsg->cmsg_len - CMSG_ALIGN(sizeof(struct cmsghdr)))/sizeof(int);
+       num = (cmsg->cmsg_len - sizeof(struct cmsghdr))/sizeof(int);
 
        if (num <= 0)
                return 0;
index cf9b43de469024bb2e6c3fd0d1e0055dfd5d7e03..1caa38d8a9c92399e05bde5ade8445534defb90b 100644 (file)
@@ -272,7 +272,7 @@ int ip_cmsg_send(struct sock *sk, struct msghdr *msg, struct ipcm_cookie *ipc,
                        continue;
                switch (cmsg->cmsg_type) {
                case IP_RETOPTS:
-                       err = cmsg->cmsg_len - CMSG_ALIGN(sizeof(struct cmsghdr));
+                       err = cmsg->cmsg_len - sizeof(struct cmsghdr);
 
                        /* Our caller is responsible for freeing ipc->opt */
                        err = ip_options_get(net, &ipc->opt, CMSG_DATA(cmsg),
index b214a4d4a64137923d6736aec9b0f7ce45e92142..0a6ef217aa8ada693f570ae03e9bede1e261e687 100644 (file)
@@ -376,7 +376,7 @@ static int rxrpc_sendmsg_cmsg(struct msghdr *msg,
                if (!CMSG_OK(msg, cmsg))
                        return -EINVAL;
 
-               len = cmsg->cmsg_len - CMSG_ALIGN(sizeof(struct cmsghdr));
+               len = cmsg->cmsg_len - sizeof(struct cmsghdr);
                _debug("CMSG %d, %d, %d",
                       cmsg->cmsg_level, cmsg->cmsg_type, len);