scm: remove use CMSG{_COMPAT}_ALIGN(sizeof(struct {compat_}cmsghdr))
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>
This commit is contained in:

committed by
David S. Miller

parent
ec2507d2a3
commit
1ff8cebf49
14
net/compat.c
14
net/compat.c
@@ -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. */
|
||||
|
Reference in New Issue
Block a user