From: Greg Kroah-Hartman Date: Mon, 3 Apr 2023 13:13:19 +0000 (+0200) Subject: 4.19-stable patches X-Git-Tag: v4.14.312~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7386e8c8d20f6f7d5c8e4d69698a061288bd5a15;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: s390-uaccess-add-missing-earlyclobber-annotations-to-__clear_user.patch usb-host-ohci-pxa27x-fix-and-vs-typo.patch --- diff --git a/queue-4.19/drm-meson-fix-error-handling-when-afbcd.ops-init-fai.patch b/queue-4.19/drm-meson-fix-error-handling-when-afbcd.ops-init-fai.patch deleted file mode 100644 index feb82e20bd5..00000000000 --- a/queue-4.19/drm-meson-fix-error-handling-when-afbcd.ops-init-fai.patch +++ /dev/null @@ -1,74 +0,0 @@ -From d0aeb51d4e4bf55ef4414ecc34457d0b3f35d0cf Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 31 Dec 2021 00:55:15 +0100 -Subject: drm/meson: Fix error handling when afbcd.ops->init fails - -From: Martin Blumenstingl - -[ Upstream commit fa747d75f65d1b1cbc3f4691fa67b695e8a399c8 ] - -When afbcd.ops->init fails we need to free the struct drm_device. Also -all errors which come after afbcd.ops->init was successful need to exit -the AFBCD, just like meson_drv_unbind() does. - -Fixes: d1b5e41e13a7e9 ("drm/meson: Add AFBCD module driver") -Signed-off-by: Martin Blumenstingl -Acked-by: Neil Armstrong -Signed-off-by: Neil Armstrong -Link: https://patchwork.freedesktop.org/patch/msgid/20211230235515.1627522-3-martin.blumenstingl@googlemail.com -Stable-dep-of: ba98413bf45e ("drm/meson: fix missing component unbind on bind errors") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/meson/meson_drv.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c -index 9959522ce802d..6da4a40e54565 100644 ---- a/drivers/gpu/drm/meson/meson_drv.c -+++ b/drivers/gpu/drm/meson/meson_drv.c -@@ -266,27 +266,27 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) - - ret = meson_venc_cvbs_create(priv); - if (ret) -- goto free_drm; -+ goto exit_afbcd; - - if (has_components) { - ret = component_bind_all(drm->dev, drm); - if (ret) { - dev_err(drm->dev, "Couldn't bind all components\n"); -- goto free_drm; -+ goto exit_afbcd; - } - } - - ret = meson_plane_create(priv); - if (ret) -- goto free_drm; -+ goto exit_afbcd; - - ret = meson_crtc_create(priv); - if (ret) -- goto free_drm; -+ goto exit_afbcd; - - ret = drm_irq_install(drm, priv->vsync_irq); - if (ret) -- goto free_drm; -+ goto exit_afbcd; - - drm_mode_config_reset(drm); - -@@ -309,6 +309,9 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) - - uninstall_irq: - drm_irq_uninstall(drm); -+exit_afbcd: -+ if (priv->afbcd.ops) -+ priv->afbcd.ops->exit(priv); - free_drm: - drm_dev_put(drm); - --- -2.39.2 - diff --git a/queue-4.19/drm-meson-fix-missing-component-unbind-on-bind-error.patch b/queue-4.19/drm-meson-fix-missing-component-unbind-on-bind-error.patch deleted file mode 100644 index f8d4a019dee..00000000000 --- a/queue-4.19/drm-meson-fix-missing-component-unbind-on-bind-error.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 8fe3dfb16320b692e84769c5f4972837f379427f Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 6 Mar 2023 11:35:33 +0100 -Subject: drm/meson: fix missing component unbind on bind errors - -From: Johan Hovold - -[ Upstream commit ba98413bf45edbf33672e2539e321b851b2cfbd1 ] - -Make sure to unbind all subcomponents when binding the aggregate device -fails. - -Fixes: a41e82e6c457 ("drm/meson: Add support for components") -Cc: stable@vger.kernel.org # 4.12 -Cc: Neil Armstrong -Signed-off-by: Johan Hovold -Acked-by: Neil Armstrong -Signed-off-by: Neil Armstrong -Link: https://patchwork.freedesktop.org/patch/msgid/20230306103533.4915-1-johan+linaro@kernel.org -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/meson/meson_drv.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c -index 6da4a40e54565..adb8ce6eac43e 100644 ---- a/drivers/gpu/drm/meson/meson_drv.c -+++ b/drivers/gpu/drm/meson/meson_drv.c -@@ -278,15 +278,15 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) - - ret = meson_plane_create(priv); - if (ret) -- goto exit_afbcd; -+ goto unbind_all; - - ret = meson_crtc_create(priv); - if (ret) -- goto exit_afbcd; -+ goto unbind_all; - - ret = drm_irq_install(drm, priv->vsync_irq); - if (ret) -- goto exit_afbcd; -+ goto unbind_all; - - drm_mode_config_reset(drm); - -@@ -309,6 +309,9 @@ static int meson_drv_bind_master(struct device *dev, bool has_components) - - uninstall_irq: - drm_irq_uninstall(drm); -+unbind_all: -+ if (has_components) -+ component_unbind_all(drm->dev, drm); - exit_afbcd: - if (priv->afbcd.ops) - priv->afbcd.ops->exit(priv); --- -2.39.2 - diff --git a/queue-4.19/s390-uaccess-add-missing-earlyclobber-annotations-to-__clear_user.patch b/queue-4.19/s390-uaccess-add-missing-earlyclobber-annotations-to-__clear_user.patch new file mode 100644 index 00000000000..09f104cb552 --- /dev/null +++ b/queue-4.19/s390-uaccess-add-missing-earlyclobber-annotations-to-__clear_user.patch @@ -0,0 +1,37 @@ +From 89aba4c26fae4e459f755a18912845c348ee48f3 Mon Sep 17 00:00:00 2001 +From: Heiko Carstens +Date: Thu, 23 Mar 2023 13:09:16 +0100 +Subject: s390/uaccess: add missing earlyclobber annotations to __clear_user() + +From: Heiko Carstens + +commit 89aba4c26fae4e459f755a18912845c348ee48f3 upstream. + +Add missing earlyclobber annotation to size, to, and tmp2 operands of the +__clear_user() inline assembly since they are modified or written to before +the last usage of all input operands. This can lead to incorrect register +allocation for the inline assembly. + +Fixes: 6c2a9e6df604 ("[S390] Use alternative user-copy operations for new hardware.") +Reported-by: Mark Rutland +Link: https://lore.kernel.org/all/20230321122514.1743889-3-mark.rutland@arm.com/ +Cc: stable@vger.kernel.org +Reviewed-by: Gerald Schaefer +Signed-off-by: Heiko Carstens +Signed-off-by: Vasily Gorbik +Signed-off-by: Greg Kroah-Hartman +--- + arch/s390/lib/uaccess.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/s390/lib/uaccess.c ++++ b/arch/s390/lib/uaccess.c +@@ -339,7 +339,7 @@ static inline unsigned long clear_user_m + "4: slgr %0,%0\n" + "5:\n" + EX_TABLE(0b,2b) EX_TABLE(3b,5b) +- : "+a" (size), "+a" (to), "+a" (tmp1), "=a" (tmp2) ++ : "+&a" (size), "+&a" (to), "+a" (tmp1), "=&a" (tmp2) + : "a" (empty_zero_page), "d" (reg0) : "cc", "memory"); + return size; + } diff --git a/queue-4.19/series b/queue-4.19/series index 372682b5830..0701ee9c78b 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -49,8 +49,6 @@ sched-fair-sanitize-vruntime-of-entity-being-migrated.patch tun-avoid-double-free-in-tun_free_netdev.patch ocfs2-fix-data-corruption-after-failed-write.patch bus-imx-weim-fix-branch-condition-evaluates-to-a-gar.patch -drm-meson-fix-error-handling-when-afbcd.ops-init-fai.patch -drm-meson-fix-missing-component-unbind-on-bind-error.patch md-avoid-signed-overflow-in-slot_store.patch alsa-asihpi-check-pao-in-control_message.patch alsa-hda-ca0132-fixup-buffer-overrun-at-tuning_ctl_s.patch @@ -75,3 +73,5 @@ pinctrl-at91-pio4-fix-domain-name-assignment.patch alsa-hda-conexant-partial-revert-of-a-quirk-for-lenovo.patch alsa-usb-audio-fix-regression-on-detection-of-roland-vs-100.patch drm-etnaviv-fix-reference-leak-when-mmaping-imported-buffer.patch +s390-uaccess-add-missing-earlyclobber-annotations-to-__clear_user.patch +usb-host-ohci-pxa27x-fix-and-vs-typo.patch diff --git a/queue-4.19/usb-host-ohci-pxa27x-fix-and-vs-typo.patch b/queue-4.19/usb-host-ohci-pxa27x-fix-and-vs-typo.patch new file mode 100644 index 00000000000..f48dac8114e --- /dev/null +++ b/queue-4.19/usb-host-ohci-pxa27x-fix-and-vs-typo.patch @@ -0,0 +1,34 @@ +From 0709831a50d31b3caf2237e8d7fe89e15b0d919d Mon Sep 17 00:00:00 2001 +From: Dan Carpenter +Date: Sat, 17 Aug 2019 09:55:20 +0300 +Subject: usb: host: ohci-pxa27x: Fix and & vs | typo + +From: Dan Carpenter + +commit 0709831a50d31b3caf2237e8d7fe89e15b0d919d upstream. + +The code is supposed to clear the RH_A_NPS and RH_A_PSM bits, but it's +a no-op because of the & vs | typo. This bug predates git and it was +only discovered using static analysis so it must not affect too many +people in real life. + +Signed-off-by: Dan Carpenter +Acked-by: Alan Stern +Link: https://lore.kernel.org/r/20190817065520.GA29951@mwanda +Signed-off-by: Nobuhiro Iwamatsu (CIP) +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/host/ohci-pxa27x.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/usb/host/ohci-pxa27x.c ++++ b/drivers/usb/host/ohci-pxa27x.c +@@ -148,7 +148,7 @@ static int pxa27x_ohci_select_pmm(struct + uhcrhda |= RH_A_NPS; + break; + case PMM_GLOBAL_MODE: +- uhcrhda &= ~(RH_A_NPS & RH_A_PSM); ++ uhcrhda &= ~(RH_A_NPS | RH_A_PSM); + break; + case PMM_PERPORT_MODE: + uhcrhda &= ~(RH_A_NPS);