On Wed, Nov 11, 2015 at 07:11:28PM +0200, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > We try to convert the old way of of specifying fb tiling (obj->tiling) > into the new fb modifiers. We store the result in the passed in mode_cmd > structure. But that structure comes directly from the addfb2 ioctl, and > gets copied back out to userspace, which means we're clobbering the > modifiers that the user provided (all 0 since the DRM_MODE_FB_MODIFIERS > flag wasn't even set by the user). Hence if the user reuses the struct > for another addfb2, the ioctl will be rejected since it's now asking for > some modifiers w/o the flag set. What do we actually pass back to userspace through the struct? Do we just want to -#define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, struct drm_mode_fb_cmd2) +#define DRM_IOCTL_MODE_ADDFB2 DRM_IOR(0xB8, struct drm_mode_fb_cmd2 instead? -Chris -- Chris Wilson, Intel Open Source Technology Centre -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html