u32 handle;
        int err;
 
-       if (XE_IOCTL_DBG(xe, args->extensions) || XE_IOCTL_DBG(xe, args->pad) ||
+       if (XE_IOCTL_DBG(xe, args->extensions) ||
+           XE_IOCTL_DBG(xe, args->pad[0] || args->pad[1] || args->pad[2]) ||
            XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
                return -EINVAL;
 
 
                return -ENOMEM;
 
        gt_list->num_gt = xe->info.gt_count;
+
        for_each_gt(gt, xe, id) {
                if (xe_gt_is_media_type(gt))
                        gt_list->gt_list[id].type = DRM_XE_QUERY_GT_TYPE_MEDIA;
 
        int err;
        int i;
 
+       if (XE_IOCTL_DBG(xe, args->pad || args->pad2) ||
+           XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
+               return -EINVAL;
+
        if (XE_IOCTL_DBG(xe, args->extensions) ||
            XE_IOCTL_DBG(xe, !args->num_binds) ||
            XE_IOCTL_DBG(xe, args->num_binds > MAX_BINDS))
        if (err)
                return err;
 
+       if (XE_IOCTL_DBG(xe, args->pad || args->pad2) ||
+           XE_IOCTL_DBG(xe, args->reserved[0] || args->reserved[1]))
+               return -EINVAL;
+
        if (args->exec_queue_id) {
                q = xe_exec_queue_lookup(xef, args->exec_queue_id);
                if (XE_IOCTL_DBG(xe, !q)) {
 
         * a unique pair.
         */
        __u16 instance;
-       /** @pad: MBZ */
-       __u32 pad;
        /**
         * @min_page_size: Min page-size in bytes for this region.
         *
        __u16 tile_id;
        /** @gt_id: Unique ID of this GT within the PCI Device */
        __u16 gt_id;
+       /** @pad: MBZ */
+       __u16 pad[3];
        /** @reference_clock: A clock frequency for timestamp */
        __u32 reference_clock;
        /**
 #define DRM_XE_GEM_CPU_CACHING_WC                      2
        __u16 cpu_caching;
        /** @pad: MBZ */
-       __u16 pad;
+       __u16 pad[3];
 
        /** @reserved: Reserved */
        __u64 reserved[2];
         */
        __u32 prefetch_mem_region_instance;
 
+       /** @pad: MBZ */
+       __u32 pad2;
+
        /** @reserved: Reserved */
        __u64 reserved[3];
 };
         */
        __u32 exec_queue_id;
 
-       /** @num_binds: number of binds in this IOCTL */
-       __u32 num_binds;
-
        /** @pad: MBZ */
        __u32 pad;
 
+       /** @num_binds: number of binds in this IOCTL */
+       __u32 num_binds;
+
        union {
                /** @bind: used if num_binds == 1 */
                struct drm_xe_vm_bind_op bind;
                __u64 vector_of_binds;
        };
 
+       /** @pad: MBZ */
+       __u32 pad2;
+
        /** @num_syncs: amount of syncs to wait on */
        __u32 num_syncs;
 
-       /** @pad2: MBZ */
-       __u32 pad2;
-
        /** @syncs: pointer to struct drm_xe_sync array */
        __u64 syncs;