<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>