net/packet: fix overflow in check for tp_reserve
[pandora-kernel.git] / net / packet / af_packet.c
index 92d57aa..e961773 100644 (file)
@@ -3136,6 +3136,8 @@ packet_setsockopt(struct socket *sock, int level, int optname, char __user *optv
                        return -EBUSY;
                if (copy_from_user(&val, optval, sizeof(val)))
                        return -EFAULT;
+               if (val > INT_MAX)
+                       return -EINVAL;
                po->tp_reserve = val;
                return 0;
        }