diff --git a/kernel.spec b/kernel.spec index db02ab9..349e815 100644 --- a/kernel.spec +++ b/kernel.spec @@ -32,7 +32,7 @@ Name: kernel Version: 4.19.90 -Release: %{hulkrelease}.0264 +Release: %{hulkrelease}.0265 Summary: Linux Kernel License: GPLv2 URL: http://www.kernel.org/ @@ -849,6 +849,9 @@ fi %endif %changelog +* Mon Feb 19 2024 yangjunshuo - 4.19.90-2402.4.0.0265 +- !4524 fix spi: hisi-sfc-v3xx: Return IRQ_NONE if no interrupts were detected + * Mon Feb 05 2024 hongrongxuan - 4.19.90-2402.4.0.0264 - !4454 netfilter: nf_tables: reject QUEUE/DROP verdict parameters - netfilter: nf_tables: reject QUEUE/DROP verdict parameters diff --git a/patches/0758-spi-hisi-sfc-v3xx-Return-IRQ_NONE-if-no-interrupts-w.patch b/patches/0758-spi-hisi-sfc-v3xx-Return-IRQ_NONE-if-no-interrupts-w.patch new file mode 100644 index 0000000..d318d44 --- /dev/null +++ b/patches/0758-spi-hisi-sfc-v3xx-Return-IRQ_NONE-if-no-interrupts-w.patch @@ -0,0 +1,55 @@ +From 68ded4478d765f24d6eb5ce10b8e578f23d2ef85 Mon Sep 17 00:00:00 2001 +From: Devyn Liu +Date: Tue, 23 Jan 2024 15:11:49 +0800 +Subject: [PATCH] spi: hisi-sfc-v3xx: return IRQ_NONE if no interrupts were + detected + +mainline inclusion +from mainline-v6.9-rc1 +commit de8b6e1c231a95abf95ad097b993d34b31458ec9 +category: bugfix +bugzilla: https://gitee.com/openeuler/kernel/issues/I91F3H +CVE: NA + +Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=de8b6e1c231a95abf95ad097b993d34b31458ec9 + +----------------------------- + +Return IRQ_NONE from the interrupt handler when no interrupt was +detected. Because an empty interrupt will cause a null pointer error: + + Unable to handle kernel NULL pointer dereference at virtual + address 0000000000000008 + Call trace: + complete+0x54/0x100 + hisi_sfc_v3xx_isr+0x2c/0x40 [spi_hisi_sfc_v3xx] + __handle_irq_event_percpu+0x64/0x1e0 + handle_irq_event+0x7c/0x1cc + +Signed-off-by: Devyn Liu +Link: https://msgid.link/r/20240123071149.917678-1-liudingyuan@huawei.com +Signed-off-by: Mark Brown +Signed-off-by: Slim6882 +--- + drivers/spi/spi-hisi-sfc-v3xx.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/spi/spi-hisi-sfc-v3xx.c b/drivers/spi/spi-hisi-sfc-v3xx.c +index d3a23b1c2a4c..61bf00dfe9c3 100644 +--- a/drivers/spi/spi-hisi-sfc-v3xx.c ++++ b/drivers/spi/spi-hisi-sfc-v3xx.c +@@ -377,6 +377,11 @@ static const struct spi_controller_mem_ops hisi_sfc_v3xx_mem_ops = { + static irqreturn_t hisi_sfc_v3xx_isr(int irq, void *data) + { + struct hisi_sfc_v3xx_host *host = data; ++ u32 reg; ++ ++ reg = readl(host->regbase + HISI_SFC_V3XX_INT_STAT); ++ if (!reg) ++ return IRQ_NONE; + + hisi_sfc_v3xx_disable_int(host); + +-- +2.33.0 + diff --git a/series.conf b/series.conf index f5f2522..854655c 100644 --- a/series.conf +++ b/series.conf @@ -758,3 +758,4 @@ patches/0754-scsi-hisi_sas_v3_hw-Remove-extra-function-calls-for-.patch patches/0755-config-arm64-Enable-dubugfs-config-of-hisi-sas.patch patches/0756-crypto-hisilicon-Add-value-profile-support-for-kerne.patch patches/0757-Revert-genirq-Increase-the-number-of-IRQ-descriptors.patch +patches/0758-spi-hisi-sfc-v3xx-Return-IRQ_NONE-if-no-interrupts-w.patch \ No newline at end of file