<div dir="auto">Ooops, please ignore this patch. It was just for local testing.<div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Andres </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Apr 18, 2017 10:36 PM, "Andres Rodriguez" <<a href="mailto:andresx7@gmail.com">andresx7@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">---<br>
 drivers/gpu/drm/drm_property.c | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/drivers/gpu/drm/drm_<wbr>property.c b/drivers/gpu/drm/drm_<wbr>property.c<br>
index 3feef06..3e88fa2 100644<br>
--- a/drivers/gpu/drm/drm_<wbr>property.c<br>
+++ b/drivers/gpu/drm/drm_<wbr>property.c<br>
@@ -459,41 +459,41 @@ int drm_mode_getproperty_ioctl(<wbr>struct drm_device *dev,<br>
        out_resp->flags = property->flags;<br>
<br>
        value_count = property->num_values;<br>
        values_ptr = u64_to_user_ptr(out_resp-><wbr>values_ptr);<br>
<br>
        for (i = 0; i < value_count; i++) {<br>
                if (i < out_resp->count_values &&<br>
                    put_user(property->values[i], values_ptr + i)) {<br>
                        return -EFAULT;<br>
                }<br>
        }<br>
        out_resp->count_values = value_count;<br>
<br>
        copied = 0;<br>
        enum_ptr = u64_to_user_ptr(out_resp-><wbr>enum_blob_ptr);<br>
<br>
        if (drm_property_type_is(<wbr>property, DRM_MODE_PROP_ENUM) ||<br>
            drm_property_type_is(property, DRM_MODE_PROP_BITMASK)) {<br>
                list_for_each_entry(prop_enum, &property->enum_list, head) {<br>
                        enum_count++;<br>
-                       if (out_resp->count_enum_blobs <= enum_count)<br>
+                       if (out_resp->count_enum_blobs < enum_count)<br>
                                continue;<br>
<br>
                        if (copy_to_user(&enum_ptr[<wbr>copied].value,<br>
                                         &prop_enum->value, sizeof(uint64_t)))<br>
                                return -EFAULT;<br>
<br>
                        if (copy_to_user(&enum_ptr[<wbr>copied].name,<br>
                                         &prop_enum->name, DRM_PROP_NAME_LEN))<br>
                                return -EFAULT;<br>
                        copied++;<br>
                }<br>
                out_resp->count_enum_blobs = enum_count;<br>
        }<br>
<br>
        /*<br>
         * NOTE: The idea seems to have been to use this to read all the blob<br>
         * property values. But nothing ever added them to the corresponding<br>
         * list, userspace always used the special-purpose get_blob ioctl to<br>
         * read the value for a blob property. It also doesn't make a lot of<br>
         * sense to return values here when everything else is just metadata for<br>
--<br>
2.9.3<br>
<br>
</blockquote></div></div>