On Thu, Feb 4, 2016 at 1:17 PM, Robert Bragg <robert@sixbynine.org> wrote:

On Thu, Feb 4, 2016 at 1:42 AM, Emil Velikov <emil.l.velikov@gmail.com> wrote:
On 3 February 2016 at 18:39, Robert Bragg <robert@sixbynine.org> wrote:

> +};
> +
> +struct drm_i915_perf_open_param {
> +       /** CLOEXEC, NONBLOCK... */

> +       __u32 flags;
> +
And ... we broke 32 bit userspare on 64 bit kernels. Please check for
holes and other issues as described in Daniel Vetter's
article/documentation [1]

[1] https://www.kernel.org/doc/Documentation/ioctl/botching-up-ioctls.txt

Ah yeah, don't think this would break 32bit userspace, but still would be good to remove that hole, this has been through a few iterations and there used to be a __u32 type here, well spotted thanks.

I think I'll bump the flags to be 64bit.
 

Actually, just noticed that since the structure has a u32 hole at the end too I can move the trailing u32 num_properties up into here instead.

Am also renaming properties to properties_ptr which seems the norm in i915_drm.h.

- Robert