]> err.no Git - linux-2.6/blobdiff - net/ipv6/datagram.c
net: use software GSO for SG+CSUM capable netdevices
[linux-2.6] / net / ipv6 / datagram.c
index 8cdb6b65ee96bb499a7231c2f2972d2e16db4312..410046a8cc915f5ea2f56a4c7b6c105f58d1903d 100644 (file)
@@ -703,6 +703,11 @@ int datagram_send_ctl(struct net *net,
                        }
 
                        *hlimit = *(int *)CMSG_DATA(cmsg);
+                       if (*hlimit < -1 || *hlimit > 0xff) {
+                               err = -EINVAL;
+                               goto exit_f;
+                       }
+
                        break;
 
                case IPV6_TCLASS:
@@ -727,7 +732,7 @@ int datagram_send_ctl(struct net *net,
                        LIMIT_NETDEBUG(KERN_DEBUG "invalid cmsg type: %d\n",
                                       cmsg->cmsg_type);
                        err = -EINVAL;
-                       break;
+                       goto exit_f;
                }
        }