• Thierry Reding's avatar
    drm: Sanitize DRM_IOCTL_MODE_CREATE_DUMB input · f6085952
    Thierry Reding authored
    Some drivers treat the pitch and size fields as inputs and will use them
    as minima provided by userspace so that they are only overwritten if the
    minimal requirements of the driver exceed them.
    
    This can cause strange behaviour when applications don't zero out these
    fields, causing whatever was on the stack to be passed to the IOCTL. In
    a typical case this would become visible as a failed allocation if the
    pitch or size were unusually high. But this could also cause more subtle
    bugs like overallocating dumb framebuffers.
    
    To prevent drivers from misusing these values, make the DRM core zero
    out the pitch and size fields before passing the structure to the driver
    implementation.
    
    While at it, also set the output handle field to zero for good measure,
    even though it's less likely to be abused.
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    f6085952
drm_crtc.c 138 KB