From: Greg Kroah-Hartman Date: Mon, 26 Jul 2021 09:07:40 +0000 (+0200) Subject: 4.19-stable patches X-Git-Tag: v4.4.277~40 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b924fbc0283509d55e36aa391ff9bf9acc341e5;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: drm-return-enotty-for-non-drm-ioctls.patch nds32-fix-up-stack-guard-gap.patch --- diff --git a/queue-4.19/drm-return-enotty-for-non-drm-ioctls.patch b/queue-4.19/drm-return-enotty-for-non-drm-ioctls.patch new file mode 100644 index 00000000000..19210d078fa --- /dev/null +++ b/queue-4.19/drm-return-enotty-for-non-drm-ioctls.patch @@ -0,0 +1,56 @@ +From 3abab27c322e0f2acf981595aa8040c9164dc9fb Mon Sep 17 00:00:00 2001 +From: Charles Baylis +Date: Fri, 16 Jul 2021 17:43:12 +0100 +Subject: drm: Return -ENOTTY for non-drm ioctls + +From: Charles Baylis + +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 +Cc: stable@vger.kernel.org +Signed-off-by: Daniel Vetter +Link: https://patchwork.freedesktop.org/patch/msgid/YPG3IBlzaMhfPqCr@stando.fishzet.co.uk +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/drm_ioctl.c | 3 +++ + include/drm/drm_ioctl.h | 1 + + 2 files changed, 4 insertions(+) + +--- a/drivers/gpu/drm/drm_ioctl.c ++++ b/drivers/gpu/drm/drm_ioctl.c +@@ -797,6 +797,9 @@ long drm_ioctl(struct file *filp, + if (drm_dev_is_unplugged(dev)) + return -ENODEV; + ++ if (DRM_IOCTL_TYPE(cmd) != DRM_IOCTL_BASE) ++ return -ENOTTY; ++ + is_driver_ioctl = nr >= DRM_COMMAND_BASE && nr < DRM_COMMAND_END; + + if (is_driver_ioctl) { +--- a/include/drm/drm_ioctl.h ++++ b/include/drm/drm_ioctl.h +@@ -68,6 +68,7 @@ typedef int drm_ioctl_compat_t(struct fi + unsigned long arg); + + #define DRM_IOCTL_NR(n) _IOC_NR(n) ++#define DRM_IOCTL_TYPE(n) _IOC_TYPE(n) + #define DRM_MAJOR 226 + + /** diff --git a/queue-4.19/nds32-fix-up-stack-guard-gap.patch b/queue-4.19/nds32-fix-up-stack-guard-gap.patch new file mode 100644 index 00000000000..e373002b395 --- /dev/null +++ b/queue-4.19/nds32-fix-up-stack-guard-gap.patch @@ -0,0 +1,42 @@ +From c453db6cd96418c79702eaf38259002755ab23ff Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Tue, 29 Jun 2021 12:40:24 +0200 +Subject: nds32: fix up stack guard gap + +From: Greg Kroah-Hartman + +commit c453db6cd96418c79702eaf38259002755ab23ff upstream. + +Commit 1be7107fbe18 ("mm: larger stack guard gap, between vmas") fixed +up all architectures to deal with the stack guard gap. But when nds32 +was added to the tree, it forgot to do the same thing. + +Resolve this by properly fixing up the nsd32's version of +arch_get_unmapped_area() + +Cc: Nick Hu +Cc: Greentime Hu +Cc: Vincent Chen +Cc: Michal Hocko +Cc: Hugh Dickins +Cc: Qiang Liu +Cc: stable +Reported-by: iLifetruth +Acked-by: Hugh Dickins +Link: https://lore.kernel.org/r/20210629104024.2293615-1-gregkh@linuxfoundation.org +Signed-off-by: Greg Kroah-Hartman +--- + arch/nds32/mm/mmap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/nds32/mm/mmap.c ++++ b/arch/nds32/mm/mmap.c +@@ -59,7 +59,7 @@ arch_get_unmapped_area(struct file *filp + + vma = find_vma(mm, addr); + if (TASK_SIZE - len >= addr && +- (!vma || addr + len <= vma->vm_start)) ++ (!vma || addr + len <= vm_start_gap(vma))) + return addr; + } + diff --git a/queue-4.19/series b/queue-4.19/series index 7e3ae4fa92b..1d8f13d31e4 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -106,3 +106,5 @@ tracing-fix-bug-in-rb_per_cpu_empty-that-might-cause-deadloop.patch media-ngene-fix-out-of-bounds-bug-in-ngene_command_config_free_buf.patch ixgbe-fix-packet-corruption-due-to-missing-dma-sync.patch selftest-use-mmap-instead-of-posix_memalign-to-allocate-memory.patch +nds32-fix-up-stack-guard-gap.patch +drm-return-enotty-for-non-drm-ioctls.patch