[PATCH] drm: Shift wrap bug in create_in_format_blob()
Sean Paul
seanpaul at chromium.org
Wed Aug 9 14:36:50 UTC 2017
On Wed, Aug 09, 2017 at 02:19:06PM +0300, Dan Carpenter wrote:
> "plane->format_count" can go up to 64. (It's capped in
> drm_universal_plane_init().) So we should be using ULL type instead of
> int here to prevent shift wrapping.
>
> Fixes: db1689aa61bd ("drm: Create a format/modifier blob")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Thank you for the fix, Dan.
I've applied it to drm-misc-next.
Sean
>
> diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
> index 5c14beee52ff..85ab1eec73e5 100644
> --- a/drivers/gpu/drm/drm_plane.c
> +++ b/drivers/gpu/drm/drm_plane.c
> @@ -126,7 +126,7 @@ static int create_in_format_blob(struct drm_device *dev, struct drm_plane *plane
> plane->format_types[j],
> plane->modifiers[i])) {
>
> - mod->formats |= 1 << j;
> + mod->formats |= 1ULL << j;
> }
> }
>
--
Sean Paul, Software Engineer, Google / Chromium OS
More information about the dri-devel
mailing list