mirror of
https://github.com/torvalds/linux.git
synced 2026-09-11 20:13:02 +02:00
drm/gud: validate GUD_ROTATION_0 is present in supported rotations
The rotation argument to drm_plane_create_rotation_property() is set to
DRM_MODE_ROTATE_0, and the device reported rotation bitmask is used as
the supported_rotations argument. The driver never validates that
GUD_ROTATION_0 is present, so a device that omits it from its
GUD_PROPERTY_ROTATION triggers the
WARN_ON(rotation & ~supported_rotations) in
drm_plane_create_rotation_property()
Fix this by skipping the creation of rotation property if the device
doesn't have the GUD_ROTATION_0 bit
Fixes: 40e1a70b4a ("drm: Add GUD USB Display driver")
Reported-by: syzbot+efe2810681f1b065d3a8@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=efe2810681f1b065d3a8
Tested-by: syzbot+efe2810681f1b065d3a8@syzkaller.appspotmail.com
Signed-off-by: Sajal Gupta <sajal2005gupta@gmail.com>
Acked-by: Ruben Wauters <rubenru09@aol.com>
Signed-off-by: Ruben Wauters <rubenru09@aol.com>
Link: https://patch.msgid.link/20260821071812.16500-1-sajal2005gupta@gmail.com
This commit is contained in:
parent
da1ea35fea
commit
cb732d027a
|
|
@ -289,6 +289,8 @@ static int gud_plane_add_properties(struct gud_device *gdrm)
|
|||
* but mask out any additions on future devices.
|
||||
*/
|
||||
val &= GUD_ROTATION_MASK;
|
||||
if (!(val & GUD_ROTATION_0))
|
||||
continue;
|
||||
ret = drm_plane_create_rotation_property(&gdrm->plane,
|
||||
DRM_MODE_ROTATE_0, val);
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user