<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 01/11/2018 11:59, andrey simiklit
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAHfu=gJmtM6K-Q7AdhZFw-DgFhU6YdBYN6xY=GQ=ffdBq+G51A@mail.gmail.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<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"
moz-do-not-send="true">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" moz-do-not-send="true">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_<a class="moz-txt-link-freetext" href="info::data">info::data</a>[]'
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>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<p><br>
</p>
<p>Andrey's right, the base field needs to be first and data
following.</p>
<p>nack :(</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:CAHfu=gJmtM6K-Q7AdhZFw-DgFhU6YdBYN6xY=GQ=ffdBq+G51A@mail.gmail.com">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<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" moz-do-not-send="true">mesa-dev@lists.freedesktop.org</a><br>
<a
href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev"
rel="noreferrer" target="_blank"
moz-do-not-send="true">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>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
mesa-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a>
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>