<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hello,</div><div><br></div><div>Please find my comments below:<br></div><div><br><div class="gmail_quote"><div dir="ltr">On Thu, Nov 1, 2018 at 12:24 PM Eric Engestrom <<a href="mailto:eric.engestrom@intel.com">eric.engestrom@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">  warning: field 'base' with variable sized type 'struct drm_i915_query_topology_info'<br>
  not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]<br>
<br>
Signed-off-by: Eric Engestrom <<a href="mailto:eric.engestrom@intel.com" target="_blank">eric.engestrom@intel.com</a>><br>
---<br>
 src/intel/dev/gen_device_info.c | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c<br>
index 5dbd06075722f8cc644e..242fe163447a4265acfb 100644<br>
--- a/src/intel/dev/gen_device_info.c<br>
+++ b/src/intel/dev/gen_device_info.c<br>
@@ -991,8 +991,8 @@ gen_device_info_update_from_masks(struct gen_device_info *devinfo,<br>
                                   uint32_t n_eus)<br>
 {<br>
    struct {<br>
-      struct drm_i915_query_topology_info base;<br>
       uint8_t data[100];<br>
+      struct drm_i915_query_topology_info base;<br>
    } topology;<br></blockquote><br>I can be wrong, but it seems like here the 'data[100]' field should rather be placed after the 'base' field<br>because it was done as far as I understood to allocate memory on the stack<br>for the 'drm_i915_query_topology_info::data[]' field. I guess that this patch<br>may introduce the stack corruption on the following line:<br>   for (int b = 0; b < topology.base.subslice_offset; b++)<br>      topology.base.data[b] = (slice_mask >> (b * 8)) & 0xff;</div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
 </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
    assert((slice_mask & 0xff) == slice_mask);<br>
-- <br>
Cheers,<br>
  Eric<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br></blockquote><div><br></div><div>Regards,</div><div>Andrii.<br></div></div></div></div></div></div></div></div>