From: Greg Kroah-Hartman Date: Thu, 4 Mar 2021 13:35:01 +0000 (+0100) Subject: 4.4-stable patches X-Git-Tag: v4.4.260~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=907975b09f139bd6388de5e756bfa682a9694d69;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: iwlwifi-pcie-fix-to-correct-null-check.patch mmc-sdhci-esdhc-imx-fix-kernel-panic-when-remove-module.patch net-usb-qmi_wwan-support-zte-p685m-modem.patch scripts-set-proper-openssl-include-dir-also-for-sign-file.patch scripts-use-pkg-config-to-locate-libcrypto.patch --- diff --git a/queue-4.4/iwlwifi-pcie-fix-to-correct-null-check.patch b/queue-4.4/iwlwifi-pcie-fix-to-correct-null-check.patch new file mode 100644 index 00000000000..39ca72b4f37 --- /dev/null +++ b/queue-4.4/iwlwifi-pcie-fix-to-correct-null-check.patch @@ -0,0 +1,48 @@ +From nobuhiro1.iwamatsu@toshiba.co.jp Thu Mar 4 14:28:54 2021 +From: Nobuhiro Iwamatsu +Date: Wed, 3 Mar 2021 16:57:31 +0900 +Subject: iwlwifi: pcie: fix to correct null check +To: stable@vger.kernel.org +Cc: gregkh@linuxfoundation.org, sashal@kernel.org, Nobuhiro Iwamatsu , Emmanuel Grumbach , Luca Coelho , Kalle Valo +Message-ID: <20210303075731.920687-1-nobuhiro1.iwamatsu@toshiba.co.jp> + +From: Nobuhiro Iwamatsu + +The fixes made in commit: 4ae5798004d8 ("iwlwifi: pcie: add a NULL check in +iwl_pcie_txq_unmap") is not enough in 4.4.y tree.. This still have problems +with null references. This provides the correct fix. +Also, this is a problem only in 4.4.y. This patch has been applied to other +LTS trees, but with the correct fixes. + +Fixes: 4ae5798004d8 ("iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap") +Cc: stable@vger.kernel.org +Cc: Emmanuel Grumbach +Cc: Luca Coelho +Cc: Kalle Valo +Cc: Sasha Levin +Signed-off-by: Nobuhiro Iwamatsu (CIP) +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/iwlwifi/pcie/tx.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/net/wireless/iwlwifi/pcie/tx.c ++++ b/drivers/net/wireless/iwlwifi/pcie/tx.c +@@ -583,13 +583,15 @@ static void iwl_pcie_txq_unmap(struct iw + { + struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); + struct iwl_txq *txq = &trans_pcie->txq[txq_id]; +- struct iwl_queue *q = &txq->q; ++ struct iwl_queue *q; + + if (!txq) { + IWL_ERR(trans, "Trying to free a queue that wasn't allocated?\n"); + return; + } + ++ q = &txq->q; ++ + spin_lock_bh(&txq->lock); + while (q->write_ptr != q->read_ptr) { + IWL_DEBUG_TX_REPLY(trans, "Q %d Free %d\n", diff --git a/queue-4.4/mmc-sdhci-esdhc-imx-fix-kernel-panic-when-remove-module.patch b/queue-4.4/mmc-sdhci-esdhc-imx-fix-kernel-panic-when-remove-module.patch new file mode 100644 index 00000000000..412ec675e46 --- /dev/null +++ b/queue-4.4/mmc-sdhci-esdhc-imx-fix-kernel-panic-when-remove-module.patch @@ -0,0 +1,84 @@ +From a56f44138a2c57047f1ea94ea121af31c595132b Mon Sep 17 00:00:00 2001 +From: Frank Li +Date: Wed, 10 Feb 2021 12:19:33 -0600 +Subject: mmc: sdhci-esdhc-imx: fix kernel panic when remove module + +From: Frank Li + +commit a56f44138a2c57047f1ea94ea121af31c595132b upstream. + +In sdhci_esdhc_imx_remove() the SDHCI_INT_STATUS in read. Under some +circumstances, this may be done while the device is runtime suspended, +triggering the below splat. + +Fix the problem by adding a pm_runtime_get_sync(), before reading the +register, which will turn on clocks etc making the device accessible again. + +[ 1811.323148] mmc1: card aaaa removed +[ 1811.347483] Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP +[ 1811.354988] Modules linked in: sdhci_esdhc_imx(-) sdhci_pltfm sdhci cqhci mmc_block mmc_core [last unloaded: mmc_core] +[ 1811.365726] CPU: 0 PID: 3464 Comm: rmmod Not tainted 5.10.1-sd-99871-g53835a2e8186 #5 +[ 1811.373559] Hardware name: Freescale i.MX8DXL EVK (DT) +[ 1811.378705] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) +[ 1811.384723] pc : sdhci_esdhc_imx_remove+0x28/0x15c [sdhci_esdhc_imx] +[ 1811.391090] lr : platform_drv_remove+0x2c/0x50 +[ 1811.395536] sp : ffff800012c7bcb0 +[ 1811.398855] x29: ffff800012c7bcb0 x28: ffff00002c72b900 +[ 1811.404181] x27: 0000000000000000 x26: 0000000000000000 +[ 1811.409497] x25: 0000000000000000 x24: 0000000000000000 +[ 1811.414814] x23: ffff0000042b3890 x22: ffff800009127120 +[ 1811.420131] x21: ffff00002c4c9580 x20: ffff0000042d0810 +[ 1811.425456] x19: ffff0000042d0800 x18: 0000000000000020 +[ 1811.430773] x17: 0000000000000000 x16: 0000000000000000 +[ 1811.436089] x15: 0000000000000004 x14: ffff000004019c10 +[ 1811.441406] x13: 0000000000000000 x12: 0000000000000020 +[ 1811.446723] x11: 0101010101010101 x10: 7f7f7f7f7f7f7f7f +[ 1811.452040] x9 : fefefeff6364626d x8 : 7f7f7f7f7f7f7f7f +[ 1811.457356] x7 : 78725e6473607372 x6 : 0000000080808080 +[ 1811.462673] x5 : 0000000000000000 x4 : 0000000000000000 +[ 1811.467990] x3 : ffff800011ac1cb0 x2 : 0000000000000000 +[ 1811.473307] x1 : ffff8000091214d4 x0 : ffff8000133a0030 +[ 1811.478624] Call trace: +[ 1811.481081] sdhci_esdhc_imx_remove+0x28/0x15c [sdhci_esdhc_imx] +[ 1811.487098] platform_drv_remove+0x2c/0x50 +[ 1811.491198] __device_release_driver+0x188/0x230 +[ 1811.495818] driver_detach+0xc0/0x14c +[ 1811.499487] bus_remove_driver+0x5c/0xb0 +[ 1811.503413] driver_unregister+0x30/0x60 +[ 1811.507341] platform_driver_unregister+0x14/0x20 +[ 1811.512048] sdhci_esdhc_imx_driver_exit+0x1c/0x3a8 [sdhci_esdhc_imx] +[ 1811.518495] __arm64_sys_delete_module+0x19c/0x230 +[ 1811.523291] el0_svc_common.constprop.0+0x78/0x1a0 +[ 1811.528086] do_el0_svc+0x24/0x90 +[ 1811.531405] el0_svc+0x14/0x20 +[ 1811.534461] el0_sync_handler+0x1a4/0x1b0 +[ 1811.538474] el0_sync+0x174/0x180 +[ 1811.541801] Code: a9025bf5 f9403e95 f9400ea0 9100c000 (b9400000) +[ 1811.547902] ---[ end trace 3fb1a3bd48ff7be5 ]--- + +Signed-off-by: Frank Li +Cc: stable@vger.kernel.org # v4.0+ +Link: https://lore.kernel.org/r/20210210181933.29263-1-Frank.Li@nxp.com +[Ulf: Clarified the commit message a bit] +Signed-off-by: Ulf Hansson +[iwamatsu: adjust context] +Signed-off-by: Nobuhiro Iwamatsu +Signed-off-by: Greg Kroah-Hartman +--- + drivers/mmc/host/sdhci-esdhc-imx.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/mmc/host/sdhci-esdhc-imx.c ++++ b/drivers/mmc/host/sdhci-esdhc-imx.c +@@ -1240,9 +1240,10 @@ static int sdhci_esdhc_imx_remove(struct + struct sdhci_host *host = platform_get_drvdata(pdev); + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct pltfm_imx_data *imx_data = pltfm_host->priv; +- int dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff); ++ int dead; + + pm_runtime_get_sync(&pdev->dev); ++ dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff); + pm_runtime_disable(&pdev->dev); + pm_runtime_put_noidle(&pdev->dev); + diff --git a/queue-4.4/net-usb-qmi_wwan-support-zte-p685m-modem.patch b/queue-4.4/net-usb-qmi_wwan-support-zte-p685m-modem.patch new file mode 100644 index 00000000000..2b5c29c1f16 --- /dev/null +++ b/queue-4.4/net-usb-qmi_wwan-support-zte-p685m-modem.patch @@ -0,0 +1,65 @@ +From 88eee9b7b42e69fb622ddb3ff6f37e8e4347f5b2 Mon Sep 17 00:00:00 2001 +From: Lech Perczak +Date: Tue, 23 Feb 2021 19:34:56 +0100 +Subject: net: usb: qmi_wwan: support ZTE P685M modem +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Lech Perczak + +commit 88eee9b7b42e69fb622ddb3ff6f37e8e4347f5b2 upstream. + +Now that interface 3 in "option" driver is no longer mapped, add device +ID matching it to qmi_wwan. + +The modem is used inside ZTE MF283+ router and carriers identify it as +such. +Interface mapping is: +0: QCDM, 1: AT (PCUI), 2: AT (Modem), 3: QMI, 4: ADB + +T: Bus=02 Lev=02 Prnt=02 Port=05 Cnt=01 Dev#= 3 Spd=480 MxCh= 0 +D: Ver= 2.01 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=19d2 ProdID=1275 Rev=f0.00 +S: Manufacturer=ZTE,Incorporated +S: Product=ZTE Technologies MSM +S: SerialNumber=P685M510ZTED0000CP&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&0 +C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA +I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option +E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms +E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan +E: Ad=87(I) Atr=03(Int.) MxPS= 8 Ivl=32ms +E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms +I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) +E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +Acked-by: Bjørn Mork +Signed-off-by: Lech Perczak +Link: https://lore.kernel.org/r/20210223183456.6377-1-lech.perczak@gmail.com +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/usb/qmi_wwan.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/usb/qmi_wwan.c ++++ b/drivers/net/usb/qmi_wwan.c +@@ -877,6 +877,7 @@ static const struct usb_device_id produc + {QMI_FIXED_INTF(0x19d2, 0x1255, 4)}, + {QMI_FIXED_INTF(0x19d2, 0x1256, 4)}, + {QMI_FIXED_INTF(0x19d2, 0x1270, 5)}, /* ZTE MF667 */ ++ {QMI_FIXED_INTF(0x19d2, 0x1275, 3)}, /* ZTE P685M */ + {QMI_FIXED_INTF(0x19d2, 0x1401, 2)}, + {QMI_FIXED_INTF(0x19d2, 0x1402, 2)}, /* ZTE MF60 */ + {QMI_FIXED_INTF(0x19d2, 0x1424, 2)}, diff --git a/queue-4.4/scripts-set-proper-openssl-include-dir-also-for-sign-file.patch b/queue-4.4/scripts-set-proper-openssl-include-dir-also-for-sign-file.patch new file mode 100644 index 00000000000..81747cef2ca --- /dev/null +++ b/queue-4.4/scripts-set-proper-openssl-include-dir-also-for-sign-file.patch @@ -0,0 +1,29 @@ +From foo@baz Thu Mar 4 02:31:46 PM CET 2021 +From: Rolf Eike Beer +Date: Thu, 04 Mar 2021 08:26:28 +0100 +Subject: scripts: set proper OpenSSL include dir also for sign-file +To: stable@vger.kernel.org +Message-ID: <1859038.itBudK23F7@devpool47> + +From: Rolf Eike Beer + +commit fe968c41ac4f4ec9ffe3c4cf16b72285f5e9674f upstream. + +Fixes: 2cea4a7a1885 ("scripts: use pkg-config to locate libcrypto") +Signed-off-by: Rolf Eike Beer +Signed-off-by: Masahiro Yamada +Signed-off-by: Greg Kroah-Hartman +--- + scripts/Makefile | 1 + + 1 file changed, 1 insertion(+) + +--- a/scripts/Makefile ++++ b/scripts/Makefile +@@ -25,6 +25,7 @@ hostprogs-$(CONFIG_SYSTEM_TRUSTED_KEYRIN + + HOSTCFLAGS_sortextable.o = -I$(srctree)/tools/include + HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include ++HOSTCFLAGS_sign-file.o = $(CRYPTO_CFLAGS) + HOSTLOADLIBES_sign-file = $(CRYPTO_LIBS) + HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS) + HOSTLOADLIBES_extract-cert = $(CRYPTO_LIBS) diff --git a/queue-4.4/scripts-use-pkg-config-to-locate-libcrypto.patch b/queue-4.4/scripts-use-pkg-config-to-locate-libcrypto.patch new file mode 100644 index 00000000000..e7677354010 --- /dev/null +++ b/queue-4.4/scripts-use-pkg-config-to-locate-libcrypto.patch @@ -0,0 +1,45 @@ +From foo@baz Thu Mar 4 02:31:46 PM CET 2021 +From: Rolf Eike Beer +Date: Thu, 04 Mar 2021 08:25:01 +0100 +Subject: scripts: use pkg-config to locate libcrypto +To: stable@vger.kernel.org +Message-ID: <1776617.4qmgp806CG@devpool47> + +From: Rolf Eike Beer + +commit 2cea4a7a1885bd0c765089afc14f7ff0eb77864e upstream. + +Otherwise build fails if the headers are not in the default location. While at +it also ask pkg-config for the libs, with fallback to the existing value. + +Signed-off-by: Rolf Eike Beer +Signed-off-by: Masahiro Yamada +Signed-off-by: Greg Kroah-Hartman +--- + scripts/Makefile | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/scripts/Makefile ++++ b/scripts/Makefile +@@ -11,6 +11,9 @@ + + HOST_EXTRACFLAGS += -I$(srctree)/tools/include + ++CRYPTO_LIBS = $(shell pkg-config --libs libcrypto 2> /dev/null || echo -lcrypto) ++CRYPTO_CFLAGS = $(shell pkg-config --cflags libcrypto 2> /dev/null) ++ + hostprogs-$(CONFIG_KALLSYMS) += kallsyms + hostprogs-$(CONFIG_LOGO) += pnmtologo + hostprogs-$(CONFIG_VT) += conmakehash +@@ -22,8 +25,9 @@ hostprogs-$(CONFIG_SYSTEM_TRUSTED_KEYRIN + + HOSTCFLAGS_sortextable.o = -I$(srctree)/tools/include + HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include +-HOSTLOADLIBES_sign-file = -lcrypto +-HOSTLOADLIBES_extract-cert = -lcrypto ++HOSTLOADLIBES_sign-file = $(CRYPTO_LIBS) ++HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS) ++HOSTLOADLIBES_extract-cert = $(CRYPTO_LIBS) + + always := $(hostprogs-y) $(hostprogs-m) + diff --git a/queue-4.4/series b/queue-4.4/series index ab30f0f7c58..5d2379c0dac 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -1 +1,6 @@ futex-ensure-the-correct-return-value-from-futex_lock_pi.patch +net-usb-qmi_wwan-support-zte-p685m-modem.patch +iwlwifi-pcie-fix-to-correct-null-check.patch +mmc-sdhci-esdhc-imx-fix-kernel-panic-when-remove-module.patch +scripts-use-pkg-config-to-locate-libcrypto.patch +scripts-set-proper-openssl-include-dir-also-for-sign-file.patch