FPII-2235 Elevation of privilege vulnerability in kernel networking
component CVE-2015-2686 ANDROID-28759139

Change-Id: I2deb5c3e3f6b1258b0a86f9deb07f132734613b0
net: validate the range we feed to iov_iter_init() in sys_sendto/sys_recvfrom
diff --git a/net/socket.c b/net/socket.c
index 3548af3..e176e19 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -1723,6 +1723,8 @@
 
 	if (len > INT_MAX)
 		len = INT_MAX;
+    if (unlikely(!access_ok(VERIFY_READ, buff, len)))
+        return -EFAULT;
 	sock = sockfd_lookup_light(fd, &err, &fput_needed);
 	if (!sock)
 		goto out;
@@ -1782,6 +1784,8 @@
 
 	if (size > INT_MAX)
 		size = INT_MAX;
+    if (unlikely(!access_ok(VERIFY_WRITE, ubuf, size)))
+        return -EFAULT;
 	sock = sockfd_lookup_light(fd, &err, &fput_needed);
 	if (!sock)
 		goto out;