ethtool: exit the loop when invalid index occurs
[firefly-linux-kernel-4.4.55.git] / net / core / ethtool.c
index 1d72786ef866cc6ae728a60cf90d1a74793b7a74..aa8978ac47d28b8588ff78e02e9607b1d616d6d1 100644 (file)
@@ -568,8 +568,10 @@ static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr,
 
        /* Validate ring indices */
        for (i = 0; i < size; i++) {
-               if (indir[i] >= rx_rings->data)
+               if (indir[i] >= rx_rings->data) {
                        ret = -EINVAL;
+                       break;
+               }
        }
        return ret;
 }