On 01/11/2018 11:59, andrey simiklit wrote:
Hello,

Please find my comments below:

On Thu, Nov 1, 2018 at 12:24 PM Eric Engestrom <[email protected] <mailto:[email protected]>> wrote:

      warning: field 'base' with variable sized type 'struct
    drm_i915_query_topology_info'
      not at the end of a struct or class is a GNU extension
    [-Wgnu-variable-sized-type-not-at-end]

    Signed-off-by: Eric Engestrom <[email protected]
    <mailto:[email protected]>>
    ---
     src/intel/dev/gen_device_info.c | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/src/intel/dev/gen_device_info.c
    b/src/intel/dev/gen_device_info.c
    index 5dbd06075722f8cc644e..242fe163447a4265acfb 100644
    --- a/src/intel/dev/gen_device_info.c
    +++ b/src/intel/dev/gen_device_info.c
    @@ -991,8 +991,8 @@ gen_device_info_update_from_masks(struct
    gen_device_info *devinfo,
                                       uint32_t n_eus)
     {
        struct {
    -      struct drm_i915_query_topology_info base;
           uint8_t data[100];
    +      struct drm_i915_query_topology_info base;
        } topology;


I can be wrong, but it seems like here the 'data[100]' field should rather be placed after the 'base' field
because it was done as far as I understood to allocate memory on the stack
for the 'drm_i915_query_topology_info::data[]' field. I guess that this patch
may introduce the stack corruption on the following line:
   for (int b = 0; b < topology.base.subslice_offset; b++)
      topology.base.data[b] = (slice_mask >> (b * 8)) & 0xff;


Andrey's right, the base field needs to be first and data following.

nack :(



        assert((slice_mask & 0xff) == slice_mask);
-- Cheers,
      Eric

    _______________________________________________
    mesa-dev mailing list
    [email protected] <mailto:[email protected]>
    https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Regards,
Andrii.

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to