[PATCH] drm: Fix uabi regression by allowing garbage mode->type from userspace

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Fri Mar 23 11:04:43 UTC 2018


Op 22-03-18 om 08:42 schreef Thomas Hellstrom:
> On 03/21/2018 10:12 PM, Ville Syrjala wrote:
>> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>>
>> Apparently xf86-video-vmware leaves the mode->type uninitialized
>> when feeding the mode to the kernel. Thus we have no choice but
>> to accept the garbage in. We'll just ignore any of the bits we
>> don't want. The mode type is just a hint anyway, and more
>> useful for the kernel->userspace direction.
>>
>> Reported-by: Thomas Hellstrom <thomas at shipmail.org>
>> CC: Thomas Hellstrom <thomas at shipmail.org>
>> Cc: Adam Jackson <ajax at redhat.com>
>> Cc: Alex Deucher <alexander.deucher at amd.com>
>> Fixes: c6ed6dad5cfb ("drm/uapi: Validate the mode flags/type")
>> References: https://lists.freedesktop.org/archives/dri-devel/2018-March/170213.html
>> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
>> ---
>>   drivers/gpu/drm/drm_modes.c | 8 +++++++-
>>   1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
>> index f6b7c0e36a1a..e82b61e08f8c 100644
>> --- a/drivers/gpu/drm/drm_modes.c
>> +++ b/drivers/gpu/drm/drm_modes.c
>> @@ -1611,7 +1611,13 @@ int drm_mode_convert_umode(struct drm_device *dev,
>>       out->vscan = in->vscan;
>>       out->vrefresh = in->vrefresh;
>>       out->flags = in->flags;
>> -    out->type = in->type;
>> +    /*
>> +     * Old xf86-video-vmware (possibly others too) used to
>> +     * leave 'type' unititialized. Just ignore any bits we
>> +     * don't like. It's a just hint after all, and more
>> +     * useful for the kernel->userspace direction anyway.
>> +     */
>> +    out->type = in->type & DRM_MODE_TYPE_ALL;
>>       strncpy(out->name, in->name, DRM_DISPLAY_MODE_LEN);
>>       out->name[DRM_DISPLAY_MODE_LEN-1] = 0;
>>   
>
> Tested-by: Thomas Hellstrom <thellstrom at vmware.com>
>
> Thanks,
>
> Thomas
>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reviewed-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>



More information about the dri-devel mailing list