Commit 8005aba6 authored by David S. Miller's avatar David S. Miller

[SPARC64]: Fix cmsg length checks in Solaris emulation layer.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1d345dac
...@@ -317,8 +317,10 @@ asmlinkage int solaris_sendmsg(int fd, struct sol_nmsghdr __user *user_msg, unsi ...@@ -317,8 +317,10 @@ asmlinkage int solaris_sendmsg(int fd, struct sol_nmsghdr __user *user_msg, unsi
unsigned long *kcmsg; unsigned long *kcmsg;
compat_size_t cmlen; compat_size_t cmlen;
if(kern_msg.msg_controllen > sizeof(ctl) && if (kern_msg.msg_controllen <= sizeof(compat_size_t))
kern_msg.msg_controllen <= 256) { return -EINVAL;
if(kern_msg.msg_controllen > sizeof(ctl)) {
err = -ENOBUFS; err = -ENOBUFS;
ctl_buf = kmalloc(kern_msg.msg_controllen, GFP_KERNEL); ctl_buf = kmalloc(kern_msg.msg_controllen, GFP_KERNEL);
if(!ctl_buf) if(!ctl_buf)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment