]> git.ipfire.org Git - people/arne_f/kernel.git/commit
drm: Return -ENOTTY for non-drm ioctls
authorCharles Baylis <cb-kernel@fishzet.co.uk>
Fri, 16 Jul 2021 16:43:12 +0000 (17:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Jul 2021 12:35:47 +0000 (14:35 +0200)
commit69a603aa170e1c145b93d5d7efcca83a8b1268fe
tree0cfd0a1a63c8207fa92b6f042bc28c2a87d116eb
parent2831eeb7bc3d6b2b1ddcd488f7ccfc60ff21808e
drm: Return -ENOTTY for non-drm ioctls

commit 3abab27c322e0f2acf981595aa8040c9164dc9fb upstream.

drm: Return -ENOTTY for non-drm ioctls

Return -ENOTTY from drm_ioctl() when userspace passes in a cmd number
which doesn't relate to the drm subsystem.

Glibc uses the TCGETS ioctl to implement isatty(), and without this
change isatty() returns it incorrectly returns true for drm devices.

To test run this command:
$ if [ -t 0 ]; then echo is a tty; fi < /dev/dri/card0
which shows "is a tty" without this patch.

This may also modify memory which the userspace application is not
expecting.

Signed-off-by: Charles Baylis <cb-kernel@fishzet.co.uk>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/YPG3IBlzaMhfPqCr@stando.fishzet.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/drm_ioctl.c
include/drm/drm_ioctl.h