* [PATCH 0/2] mt7621 pci & phy-pci fix future oops from soc_device_match_attr @ 2022-11-04 20:52 John Thomson 2022-11-04 20:52 ` [PATCH 1/2] phy: ralink: mt7621-pci: add sentinel to quirks table John Thomson 2022-11-04 20:52 ` [PATCH 2/2] PCI: mt7621: " John Thomson 0 siblings, 2 replies; 8+ messages in thread From: John Thomson @ 2022-11-04 20:52 UTC (permalink / raw) To: Sergio Paracuellos, Kishon Vijay Abraham I, Vinod Koul, Lorenzo Pieralisi, Rob Herring, Krzysztof Wilczyński, Bjorn Helgaas, Greg Kroah-Hartman, Arınç ÜNAL Cc: linux-phy, linux-pci, linux-kernel A change in the mm/slub code identified that the arch/mips/ralink/mt7621.c soc_dev_init function attempted to kzalloc too early. https://lore.kernel.org/linux-mm/becf2ac3-2a90-4f3a-96d9-a70f67c66e4a@app.fastmail.com/ RFC fix: https://lore.kernel.org/lkml/20221103050538.1930758-1-git@johnthomson.fastmail.com.au/ Fixing that mips mt7621 issue exposes an oops in testing the quirk table. I think we do want these changes committed before the mt7621 kzalloc too early fix, otherwise I introduce oops. Checkpatch warns on the pci Fixes tag, and suggests my change for the Fixes tag. I am not sure if we want these backported to stable trees? Then, if I need separate patches for the staging drivers in 5.10 pci-phy and 5.15 pci? Oops example after the mt7621 kzalloc too early fix atop v6.1-rc2 From Sergio Paracuellos in https://lore.kernel.org/lkml/CAMhs-H-Eo0ELMpy0iPakTA-3nHdY_mYQG-rrqgSotBKKED=eOg@mail.gmail.com/ [ 20.569959] CPU 0 Unable to handle kernel paging request at virtual address 675f6b6c, epc == 80403dec, ra == 804ae11c [ 20.591060] Oops[#1]: [ 20.595462] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0-rc1+ #148 [ 20.608265] $ 0 : 00000000 00000001 82262a00 00000000 [ 20.618615] $ 4 : 675f6b6c 808dea04 00000000 804ae138 [ 20.628983] $ 8 : 00000000 808787ba 00000000 821f4b00 [ 20.639351] $12 : 0000005b 0000005d 0000002d 0000005c [ 20.649735] $16 : 82253580 807b4034 807b4034 804ae138 [ 20.660087] $20 : fffffff4 82c382b8 809e1094 00000008 [ 20.670455] $24 : 0000002a 0000003f [ 20.680823] $28 : 82050000 82051c30 80a0d638 804ae11c [ 20.691190] Hi : 00000037 [ 20.696891] Lo : 5c28f6a0 [ 20.702610] epc : 80403dec glob_match+0x1c/0x240 [ 20.712100] ra : 804ae11c soc_device_match_attr+0xac/0xc8 [ 20.723330] Status: 11000403 KERNEL EXL IE [ 20.731626] Cause : 40800008 (ExcCode 02) [ 20.739576] BadVA : 675f6b6c [ 20.745277] PrId : 0001992f (MIPS 1004Kc) [ 20.753414] Modules linked in: [ 20.759448] Process swapper/0 (pid: 1, threadinfo=(ptrval), task=(ptrval), tls=00000000) [ 20.775520] Stack : fffffff4 80496ab8 820c6010 828c8518 80950000 ffffffea 80950000 80496b48 [ 20.792106] 00000000 828c8400 820c6010 821f4880 1e160000 821bc754 82253734 7f8268e6 [ 20.808707] 809c6a94 807b4034 804ae138 809c8e88 819a0000 804ae1d8 80a0d638 80438e10 [ 20.825282] 821f3e70 80950000 808c0000 828c8400 820c6000 828c8548 820c6010 80456608 [ 20.841879] 821f3dc0 821d32c0 819a0000 801d8768 821f3dc0 821d32c0 828c8540 80950000 [ 20.858473] ... [ 20.863298] Call Trace: [ 20.868137] [<80403dec>] glob_match+0x1c/0x240 [ 20.876955] [<804ae11c>] soc_device_match_attr+0xac/0xc8 [ 20.887500] [<80496b48>] bus_for_each_dev+0x7c/0xc0 [ 20.897176] [<804ae1d8>] soc_device_match+0x98/0xc8 [ 20.906869] [<80456608>] mt7621_pcie_probe+0x90/0x7b8 [ 20.916876] [<8049b46c>] platform_probe+0x54/0x94 [ 20.926206] [<80499058>] really_probe+0x200/0x434 [ 20.935538] [<80499520>] driver_probe_device+0x44/0xd4 [ 20.945732] [<80499ae0>] __driver_attach+0xb8/0x1b0 [ 20.955428] [<80496b48>] bus_for_each_dev+0x7c/0xc0 [ 20.965089] [<80497f18>] bus_add_driver+0x100/0x218 [ 20.974763] [<8049a338>] driver_register+0xd0/0x118 [ 20.984438] [<80001590>] do_one_initcall+0x8c/0x28c [ 20.994115] [<809e21c8>] kernel_init_freeable+0x254/0x28c [ 21.004845] [<80781070>] kernel_init+0x24/0x118 [ 21.013830] [<800034f8>] ret_from_kernel_thread+0x14/0x1c [ 21.024522] [ 21.027457] Code: 240f005c 2418002a 2419003f <80820000> 24a90001 90a70000 104c006f 24860001 2843005c [ 21.046810] [ 21.049830] ---[ end trace 0000000000000000 ]--- [ 21.058935] Kernel panic - not syncing: Fatal exception [ 21.069310] Rebooting in 1 seconds.. Cheers, John ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] phy: ralink: mt7621-pci: add sentinel to quirks table 2022-11-04 20:52 [PATCH 0/2] mt7621 pci & phy-pci fix future oops from soc_device_match_attr John Thomson @ 2022-11-04 20:52 ` John Thomson 2022-11-05 6:24 ` Sergio Paracuellos 2022-11-05 7:31 ` Vinod Koul 2022-11-04 20:52 ` [PATCH 2/2] PCI: mt7621: " John Thomson 1 sibling, 2 replies; 8+ messages in thread From: John Thomson @ 2022-11-04 20:52 UTC (permalink / raw) To: Sergio Paracuellos, Kishon Vijay Abraham I, Vinod Koul, Lorenzo Pieralisi, Rob Herring, Krzysztof Wilczyński, Bjorn Helgaas, Greg Kroah-Hartman, Arınç ÜNAL Cc: linux-phy, linux-pci, linux-kernel, John Thomson With mt7621 soc_dev_attr fixed to register the soc as a device, kernel will experience an oops in soc_device_match_attr This quirk test was introduced in the staging driver in commit 9445ccb3714c ("staging: mt7621-pci-phy: add quirks for 'E2' revision using 'soc_device_attribute'"). The staging driver was removed, and later re-added in commit d87da32372a0 ("phy: ralink: Add PHY driver for MT7621 PCIe PHY") for kernel 5.11 Link: https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com Fixes: d87da32372a0 ("phy: ralink: Add PHY driver for MT7621 PCIe PHY") Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> --- drivers/phy/ralink/phy-mt7621-pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/phy/ralink/phy-mt7621-pci.c b/drivers/phy/ralink/phy-mt7621-pci.c index 5e6530f545b5..85888ab2d307 100644 --- a/drivers/phy/ralink/phy-mt7621-pci.c +++ b/drivers/phy/ralink/phy-mt7621-pci.c @@ -280,7 +280,8 @@ static struct phy *mt7621_pcie_phy_of_xlate(struct device *dev, } static const struct soc_device_attribute mt7621_pci_quirks_match[] = { - { .soc_id = "mt7621", .revision = "E2" } + { .soc_id = "mt7621", .revision = "E2" }, + { /* sentinel */ } }; static const struct regmap_config mt7621_pci_phy_regmap_config = { -- 2.37.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] phy: ralink: mt7621-pci: add sentinel to quirks table 2022-11-04 20:52 ` [PATCH 1/2] phy: ralink: mt7621-pci: add sentinel to quirks table John Thomson @ 2022-11-05 6:24 ` Sergio Paracuellos 2022-11-05 7:31 ` Vinod Koul 1 sibling, 0 replies; 8+ messages in thread From: Sergio Paracuellos @ 2022-11-05 6:24 UTC (permalink / raw) To: John Thomson Cc: Kishon Vijay Abraham I, Vinod Koul, Lorenzo Pieralisi, Rob Herring, Krzysztof Wilczyński, Bjorn Helgaas, Greg Kroah-Hartman, Arınç ÜNAL, linux-phy, linux-pci, linux-kernel On Fri, Nov 4, 2022 at 9:54 PM John Thomson <git@johnthomson.fastmail.com.au> wrote: > > With mt7621 soc_dev_attr fixed to register the soc as a device, > kernel will experience an oops in soc_device_match_attr > > This quirk test was introduced in the staging driver in > commit 9445ccb3714c ("staging: mt7621-pci-phy: add quirks for 'E2' > revision using 'soc_device_attribute'"). The staging driver was removed, > and later re-added in commit d87da32372a0 ("phy: ralink: Add PHY driver > for MT7621 PCIe PHY") for kernel 5.11 > > Link: https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com > Fixes: d87da32372a0 ("phy: ralink: Add PHY driver for MT7621 PCIe PHY") > Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> > --- > drivers/phy/ralink/phy-mt7621-pci.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Acked-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Thanks, Sergio Paracuellos ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] phy: ralink: mt7621-pci: add sentinel to quirks table 2022-11-04 20:52 ` [PATCH 1/2] phy: ralink: mt7621-pci: add sentinel to quirks table John Thomson 2022-11-05 6:24 ` Sergio Paracuellos @ 2022-11-05 7:31 ` Vinod Koul 1 sibling, 0 replies; 8+ messages in thread From: Vinod Koul @ 2022-11-05 7:31 UTC (permalink / raw) To: John Thomson Cc: Sergio Paracuellos, Kishon Vijay Abraham I, Lorenzo Pieralisi, Rob Herring, Krzysztof Wilczyński, Bjorn Helgaas, Greg Kroah-Hartman, Arınç ÜNAL, linux-phy, linux-pci, linux-kernel On 05-11-22, 06:52, John Thomson wrote: > With mt7621 soc_dev_attr fixed to register the soc as a device, > kernel will experience an oops in soc_device_match_attr > > This quirk test was introduced in the staging driver in > commit 9445ccb3714c ("staging: mt7621-pci-phy: add quirks for 'E2' > revision using 'soc_device_attribute'"). The staging driver was removed, > and later re-added in commit d87da32372a0 ("phy: ralink: Add PHY driver > for MT7621 PCIe PHY") for kernel 5.11 Applied, thanks -- ~Vinod ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] PCI: mt7621: add sentinel to quirks table 2022-11-04 20:52 [PATCH 0/2] mt7621 pci & phy-pci fix future oops from soc_device_match_attr John Thomson 2022-11-04 20:52 ` [PATCH 1/2] phy: ralink: mt7621-pci: add sentinel to quirks table John Thomson @ 2022-11-04 20:52 ` John Thomson 2022-11-05 6:25 ` Sergio Paracuellos ` (2 more replies) 1 sibling, 3 replies; 8+ messages in thread From: John Thomson @ 2022-11-04 20:52 UTC (permalink / raw) To: Sergio Paracuellos, Kishon Vijay Abraham I, Vinod Koul, Lorenzo Pieralisi, Rob Herring, Krzysztof Wilczyński, Bjorn Helgaas, Greg Kroah-Hartman, Arınç ÜNAL Cc: linux-phy, linux-pci, linux-kernel, John Thomson With mt7621 soc_dev_attr fixed to register the soc as a device, kernel will experience an oops in soc_device_match_attr This quirk test was introduced in the staging driver in commit b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute'"), and the staging driver was moved in commit 2bdd5238e756 ("PCI: mt7621: Add MediaTek MT7621 PCIe host controller driver") for the 5.16 kernel Link: https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com Fixes: b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute'") Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> --- drivers/pci/controller/pcie-mt7621.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pcie-mt7621.c b/drivers/pci/controller/pcie-mt7621.c index 4bd1abf26008..ee7aad09d627 100644 --- a/drivers/pci/controller/pcie-mt7621.c +++ b/drivers/pci/controller/pcie-mt7621.c @@ -466,7 +466,8 @@ static int mt7621_pcie_register_host(struct pci_host_bridge *host) } static const struct soc_device_attribute mt7621_pcie_quirks_match[] = { - { .soc_id = "mt7621", .revision = "E2" } + { .soc_id = "mt7621", .revision = "E2" }, + { /* sentinel */ } }; static int mt7621_pcie_probe(struct platform_device *pdev) -- 2.37.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] PCI: mt7621: add sentinel to quirks table 2022-11-04 20:52 ` [PATCH 2/2] PCI: mt7621: " John Thomson @ 2022-11-05 6:25 ` Sergio Paracuellos 2022-11-11 18:55 ` John Thomson 2022-12-05 16:26 ` Lorenzo Pieralisi 2 siblings, 0 replies; 8+ messages in thread From: Sergio Paracuellos @ 2022-11-05 6:25 UTC (permalink / raw) To: John Thomson Cc: Kishon Vijay Abraham I, Vinod Koul, Lorenzo Pieralisi, Rob Herring, Krzysztof Wilczyński, Bjorn Helgaas, Greg Kroah-Hartman, Arınç ÜNAL, linux-phy, linux-pci, linux-kernel On Fri, Nov 4, 2022 at 9:54 PM John Thomson <git@johnthomson.fastmail.com.au> wrote: > > With mt7621 soc_dev_attr fixed to register the soc as a device, > kernel will experience an oops in soc_device_match_attr > > This quirk test was introduced in the staging driver in > commit b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision > using 'soc_device_attribute'"), and the staging driver was moved in > commit 2bdd5238e756 ("PCI: mt7621: Add MediaTek MT7621 PCIe host > controller driver") for the 5.16 kernel > > Link: https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com > Fixes: b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision > using 'soc_device_attribute'") > Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> > --- > drivers/pci/controller/pcie-mt7621.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Acked-by: Sergio Paracuellos <sergio.paracuellos@gmail.com> Thanks, Sergio Paracuellos ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] PCI: mt7621: add sentinel to quirks table 2022-11-04 20:52 ` [PATCH 2/2] PCI: mt7621: " John Thomson 2022-11-05 6:25 ` Sergio Paracuellos @ 2022-11-11 18:55 ` John Thomson 2022-12-05 16:26 ` Lorenzo Pieralisi 2 siblings, 0 replies; 8+ messages in thread From: John Thomson @ 2022-11-11 18:55 UTC (permalink / raw) To: Sergio Paracuellos, Lorenzo Pieralisi, Rob Herring, Krzysztof Wilczyński, Greg Kroah-Hartman, Arınç ÜNAL, Bjorn Helgaas Cc: linux-pci, linux-kernel, John Thomson On Fri, 4 Nov 2022, at 20:52, John Thomson wrote: > With mt7621 soc_dev_attr fixed to register the soc as a device, > kernel will experience an oops in soc_device_match_attr > > This quirk test was introduced in the staging driver in > commit b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision > using 'soc_device_attribute'"), and the staging driver was moved in > commit 2bdd5238e756 ("PCI: mt7621: Add MediaTek MT7621 PCIe host > controller driver") for the 5.16 kernel > > Link: > https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com > Fixes: b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision > using 'soc_device_attribute'") > Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> > --- > drivers/pci/controller/pcie-mt7621.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/pci/controller/pcie-mt7621.c > b/drivers/pci/controller/pcie-mt7621.c > index 4bd1abf26008..ee7aad09d627 100644 > --- a/drivers/pci/controller/pcie-mt7621.c > +++ b/drivers/pci/controller/pcie-mt7621.c > @@ -466,7 +466,8 @@ static int mt7621_pcie_register_host(struct > pci_host_bridge *host) > } > > static const struct soc_device_attribute mt7621_pcie_quirks_match[] = { > - { .soc_id = "mt7621", .revision = "E2" } > + { .soc_id = "mt7621", .revision = "E2" }, > + { /* sentinel */ } > }; > > static int mt7621_pcie_probe(struct platform_device *pdev) > -- > 2.37.2 Ping for the PCI change. Original link: https://lore.kernel.org/lkml/20221104205242.3440388-3-git@johnthomson.fastmail.com.au/#t I would like this pci controller patch applied before we fix the MIPS mt7621 early kzalloc boot failure. The phy-pci patch was accepted. Cheers, -- John Thomson ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] PCI: mt7621: add sentinel to quirks table 2022-11-04 20:52 ` [PATCH 2/2] PCI: mt7621: " John Thomson 2022-11-05 6:25 ` Sergio Paracuellos 2022-11-11 18:55 ` John Thomson @ 2022-12-05 16:26 ` Lorenzo Pieralisi 2 siblings, 0 replies; 8+ messages in thread From: Lorenzo Pieralisi @ 2022-12-05 16:26 UTC (permalink / raw) To: John Thomson Cc: Sergio Paracuellos, Kishon Vijay Abraham I, Vinod Koul, Rob Herring, Krzysztof Wilczyński, Bjorn Helgaas, Greg Kroah-Hartman, Arınç ÜNAL, linux-phy, linux-pci, linux-kernel Always capitalize the sentence in the subject. "PCI: mt7621: Add sentinel to quirks table" On Sat, Nov 05, 2022 at 06:52:42AM +1000, John Thomson wrote: > With mt7621 soc_dev_attr fixed to register the soc as a device, > kernel will experience an oops in soc_device_match_attr Can we reword this please ? What you are describing *exposes* the bug but it is not describing the bug per-se. The bug is related to a missing sentinel in the struct soc_device_attribute array and that's true regardless of whether it is actually triggered or not. Please update the commit log promptly and I shall send it upstream. Thanks, Lorenzo > This quirk test was introduced in the staging driver in > commit b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision > using 'soc_device_attribute'"), and the staging driver was moved in > commit 2bdd5238e756 ("PCI: mt7621: Add MediaTek MT7621 PCIe host > controller driver") for the 5.16 kernel > > Link: https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com > Fixes: b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision > using 'soc_device_attribute'") > Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> > --- > drivers/pci/controller/pcie-mt7621.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/pci/controller/pcie-mt7621.c b/drivers/pci/controller/pcie-mt7621.c > index 4bd1abf26008..ee7aad09d627 100644 > --- a/drivers/pci/controller/pcie-mt7621.c > +++ b/drivers/pci/controller/pcie-mt7621.c > @@ -466,7 +466,8 @@ static int mt7621_pcie_register_host(struct pci_host_bridge *host) > } > > static const struct soc_device_attribute mt7621_pcie_quirks_match[] = { > - { .soc_id = "mt7621", .revision = "E2" } > + { .soc_id = "mt7621", .revision = "E2" }, > + { /* sentinel */ } > }; > > static int mt7621_pcie_probe(struct platform_device *pdev) > -- > 2.37.2 > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-12-05 16:26 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-11-04 20:52 [PATCH 0/2] mt7621 pci & phy-pci fix future oops from soc_device_match_attr John Thomson 2022-11-04 20:52 ` [PATCH 1/2] phy: ralink: mt7621-pci: add sentinel to quirks table John Thomson 2022-11-05 6:24 ` Sergio Paracuellos 2022-11-05 7:31 ` Vinod Koul 2022-11-04 20:52 ` [PATCH 2/2] PCI: mt7621: " John Thomson 2022-11-05 6:25 ` Sergio Paracuellos 2022-11-11 18:55 ` John Thomson 2022-12-05 16:26 ` Lorenzo Pieralisi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox