summaryrefslogtreecommitdiff
path: root/net/compat.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-06-14 14:07:01 -0700
committerOlof Johansson <olof@lixom.net>2013-06-14 14:07:53 -0700
commit9d6dec733b3ebbd6f259d7defbb62f9c62ec2022 (patch)
treee33fd831b0caa242309943f7d7f5063fe36bcccb /net/compat.c
parent143b9d01211b883cc56343ca5df25b156bf193ff (diff)
parente41a5f88b374f7b1d87a72740d186be20cae4aa8 (diff)
Merge tag 'omap-for-v3.11/fixes-non-critical-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical
From Tony Lindgren: Non-critical fixes for omaps for v3.11 merge window. * tag 'omap-for-v3.11/fixes-non-critical-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: omap-usb-host: Fix memory leaks ARM: OMAP2+: Fix serial init for device tree based booting arm/omap: use const char properly ARM: OMAP2+: devices: Do not print error when dss_hdmi hwmod lookup fails ARM: OMAP2+: devices: Do not print error when DMIC hwmod lookup fails ARM: OMAP2+: devices: Do not print error when McPDM hwmod lookup fails ARM: OMAP: add vdds_sdi supply for omapdss_sdi.0 ARM: OMAP: add vdds_dsi supply for omapdss_dpi.0 ARM: OMAP: fix dsi regulator names + Linux 3.10-rc5 Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'net/compat.c')
-rw-r--r--net/compat.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/net/compat.c b/net/compat.c
index 79ae88485001..f0a1ba6c8086 100644
--- a/net/compat.c
+++ b/net/compat.c
@@ -734,19 +734,25 @@ static unsigned char nas[21] = {
asmlinkage long compat_sys_sendmsg(int fd, struct compat_msghdr __user *msg, unsigned int flags)
{
- return sys_sendmsg(fd, (struct msghdr __user *)msg, flags | MSG_CMSG_COMPAT);
+ if (flags & MSG_CMSG_COMPAT)
+ return -EINVAL;
+ return __sys_sendmsg(fd, (struct msghdr __user *)msg, flags | MSG_CMSG_COMPAT);
}
asmlinkage long compat_sys_sendmmsg(int fd, struct compat_mmsghdr __user *mmsg,
unsigned int vlen, unsigned int flags)
{
+ if (flags & MSG_CMSG_COMPAT)
+ return -EINVAL;
return __sys_sendmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
flags | MSG_CMSG_COMPAT);
}
asmlinkage long compat_sys_recvmsg(int fd, struct compat_msghdr __user *msg, unsigned int flags)
{
- return sys_recvmsg(fd, (struct msghdr __user *)msg, flags | MSG_CMSG_COMPAT);
+ if (flags & MSG_CMSG_COMPAT)
+ return -EINVAL;
+ return __sys_recvmsg(fd, (struct msghdr __user *)msg, flags | MSG_CMSG_COMPAT);
}
asmlinkage long compat_sys_recv(int fd, void __user *buf, size_t len, unsigned int flags)
@@ -768,6 +774,9 @@ asmlinkage long compat_sys_recvmmsg(int fd, struct compat_mmsghdr __user *mmsg,
int datagrams;
struct timespec ktspec;
+ if (flags & MSG_CMSG_COMPAT)
+ return -EINVAL;
+
if (COMPAT_USE_64BIT_TIME)
return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
flags | MSG_CMSG_COMPAT,