From 662d1f9f8db3e8bd295dc93b9fd5383741bbadf5 Mon Sep 17 00:00:00 2001 From: John Audia Date: Fri, 8 Apr 2022 12:35:54 -0400 Subject: kernel: bump 5.10 to 5.10.110 Removed upstreamed: generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch generic/pending-5.10/850-0014-PCI-aardvark-Fix-reading-PCI_EXP_RTSTA_PME-bit-on-em.patch ipq40xx/patches-5.10/105-ipq40xx-fix-sleep-clock.patch All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Compile-/run-tested: ath79/generic (Archer C7 v2). Signed-off-by: Daniel Golle [rebased in 22.03 tree] Signed-off-by: John Audia (cherry picked from commit b92ec82235b996ece32bc84af177adf1a4dcb90e) --- ...galloc-fix-memory-leak-caused-by-pgd_free.patch | 48 ---------------------- ...onntrack-Introduce-tcp-offload-timeout-co.patch | 2 +- ...pass-the-dst-buffer-to-of_get_mac_address.patch | 4 +- ...k-Add-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch | 6 +-- ...0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch | 2 +- ...k-Comment-actions-in-driver-remove-method.patch | 2 +- ...k-Disable-bus-mastering-when-unbinding-dr.patch | 4 +- ...k-Mask-all-interrupts-when-unbinding-driv.patch | 2 +- ...aardvark-Fix-memory-leak-in-driver-unbind.patch | 2 +- ...rdvark-Assert-PERST-when-unbinding-driver.patch | 2 +- ...k-Disable-link-training-when-unbinding-dr.patch | 2 +- ...k-Disable-common-PHY-when-unbinding-drive.patch | 2 +- 12 files changed, 15 insertions(+), 63 deletions(-) delete mode 100644 target/linux/generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch (limited to 'target/linux/generic/backport-5.10') diff --git a/target/linux/generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch b/target/linux/generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch deleted file mode 100644 index 28ddbc2fbc..0000000000 --- a/target/linux/generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch +++ /dev/null @@ -1,48 +0,0 @@ -From e852442da56f43795cb6255d90b9fd0c84b209bb Mon Sep 17 00:00:00 2001 -From: Yaliang Wang -Date: Thu, 10 Mar 2022 19:31:16 +0800 -Subject: [PATCH] MIPS: pgalloc: fix memory leak caused by pgd_free() - -pgd page is freed by generic implementation pgd_free() since commit -f9cb654cb550 ("asm-generic: pgalloc: provide generic pgd_free()"), -however, there are scenarios that the system uses more than one page as -the pgd table, in such cases the generic implementation pgd_free() won't -be applicable anymore. For example, when PAGE_SIZE_4KB is enabled and -MIPS_VA_BITS_48 is not enabled in a 64bit system, the macro "PGD_ORDER" -will be set as "1", which will cause allocating two pages as the pgd -table. Well, at the same time, the generic implementation pgd_free() -just free one pgd page, which will result in the memory leak. - -The memory leak can be easily detected by executing shell command: -"while true; do ls > /dev/null; grep MemFree /proc/meminfo; done" - -Fixes: f9cb654cb550 ("asm-generic: pgalloc: provide generic pgd_free()") -Signed-off-by: Yaliang Wang -Signed-off-by: Thomas Bogendoerfer -(cherry picked from commit 2bc5bab9a763d520937e4f3fe8df51c6a1eceb97) ---- - arch/mips/include/asm/pgalloc.h | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/arch/mips/include/asm/pgalloc.h -+++ b/arch/mips/include/asm/pgalloc.h -@@ -15,6 +15,7 @@ - - #define __HAVE_ARCH_PMD_ALLOC_ONE - #define __HAVE_ARCH_PUD_ALLOC_ONE -+#define __HAVE_ARCH_PGD_FREE - #include - - static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, -@@ -49,6 +50,11 @@ static inline void pud_populate(struct m - extern void pgd_init(unsigned long page); - extern pgd_t *pgd_alloc(struct mm_struct *mm); - -+static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) -+{ -+ free_pages((unsigned long)pgd, PGD_ORDER); -+} -+ - #define __pte_free_tlb(tlb,pte,address) \ - do { \ - pgtable_pte_page_dtor(pte); \ diff --git a/target/linux/generic/backport-5.10/610-v5.13-55-netfilter-conntrack-Introduce-tcp-offload-timeout-co.patch b/target/linux/generic/backport-5.10/610-v5.13-55-netfilter-conntrack-Introduce-tcp-offload-timeout-co.patch index e5a346cac4..abc58d2a7c 100644 --- a/target/linux/generic/backport-5.10/610-v5.13-55-netfilter-conntrack-Introduce-tcp-offload-timeout-co.patch +++ b/target/linux/generic/backport-5.10/610-v5.13-55-netfilter-conntrack-Introduce-tcp-offload-timeout-co.patch @@ -33,7 +33,7 @@ Signed-off-by: Pablo Neira Ayuso enum udp_conntrack { --- a/net/netfilter/nf_conntrack_proto_tcp.c +++ b/net/netfilter/nf_conntrack_proto_tcp.c -@@ -1438,6 +1438,11 @@ void nf_conntrack_tcp_init_net(struct ne +@@ -1447,6 +1447,11 @@ void nf_conntrack_tcp_init_net(struct ne tn->tcp_loose = nf_ct_tcp_loose; tn->tcp_be_liberal = nf_ct_tcp_be_liberal; tn->tcp_max_retrans = nf_ct_tcp_max_retrans; diff --git a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch index 60b07e5a3e..ab35665581 100644 --- a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch +++ b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch @@ -1608,7 +1608,7 @@ Signed-off-by: David S. Miller } --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c -@@ -1831,8 +1831,8 @@ static int axienet_probe(struct platform +@@ -1843,8 +1843,8 @@ static int axienet_probe(struct platform struct device_node *np; struct axienet_local *lp; struct net_device *ndev; @@ -1618,7 +1618,7 @@ Signed-off-by: David S. Miller int addr_width = 32; u32 value; -@@ -2032,13 +2032,14 @@ static int axienet_probe(struct platform +@@ -2044,13 +2044,14 @@ static int axienet_probe(struct platform dev_info(&pdev->dev, "Ethernet core IRQ not defined\n"); /* Retrieve the MAC address */ diff --git a/target/linux/generic/backport-5.10/850-v5.17-0003-PCI-aardvark-Add-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch b/target/linux/generic/backport-5.10/850-v5.17-0003-PCI-aardvark-Add-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch index ce38719009..0d50665741 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0003-PCI-aardvark-Add-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0003-PCI-aardvark-Add-support-for-DEVCAP2-DEVCTL2-LNKCAP2.patch @@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -881,8 +881,13 @@ advk_pci_bridge_emul_pcie_conf_read(stru +@@ -883,8 +883,13 @@ advk_pci_bridge_emul_pcie_conf_read(stru case PCI_EXP_DEVCAP: case PCI_EXP_DEVCTL: @@ -35,7 +35,7 @@ Signed-off-by: Lorenzo Pieralisi default: return PCI_BRIDGE_EMUL_NOT_HANDLED; } -@@ -896,10 +901,6 @@ advk_pci_bridge_emul_pcie_conf_write(str +@@ -898,10 +903,6 @@ advk_pci_bridge_emul_pcie_conf_write(str struct advk_pcie *pcie = bridge->data; switch (reg) { @@ -46,7 +46,7 @@ Signed-off-by: Lorenzo Pieralisi case PCI_EXP_LNKCTL: advk_writel(pcie, new, PCIE_CORE_PCIEXP_CAP + reg); if (new & PCI_EXP_LNKCTL_RL) -@@ -921,6 +922,12 @@ advk_pci_bridge_emul_pcie_conf_write(str +@@ -923,6 +924,12 @@ advk_pci_bridge_emul_pcie_conf_write(str advk_writel(pcie, new, PCIE_ISR0_REG); break; diff --git a/target/linux/generic/backport-5.10/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch b/target/linux/generic/backport-5.10/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch index 66c7e60202..d617845e42 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0004-PCI-aardvark-Clear-all-MSIs-at-setup.patch @@ -48,7 +48,7 @@ Signed-off-by: Lorenzo Pieralisi /* Enable summary interrupt for GIC SPI source */ reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK); -@@ -1399,7 +1401,7 @@ static void advk_pcie_handle_msi(struct +@@ -1401,7 +1403,7 @@ static void advk_pcie_handle_msi(struct msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG); msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG); diff --git a/target/linux/generic/backport-5.10/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch b/target/linux/generic/backport-5.10/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch index 8870e47b40..1261066289 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0005-PCI-aardvark-Comment-actions-in-driver-remove-method.patch @@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1698,11 +1698,13 @@ static int advk_pcie_remove(struct platf +@@ -1700,11 +1700,13 @@ static int advk_pcie_remove(struct platf struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie); int i; diff --git a/target/linux/generic/backport-5.10/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch b/target/linux/generic/backport-5.10/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch index f1c3f3bb13..cb50e08fdc 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0006-PCI-aardvark-Disable-bus-mastering-when-unbinding-dr.patch @@ -19,7 +19,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1696,6 +1696,7 @@ static int advk_pcie_remove(struct platf +@@ -1698,6 +1698,7 @@ static int advk_pcie_remove(struct platf { struct advk_pcie *pcie = platform_get_drvdata(pdev); struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie); @@ -27,7 +27,7 @@ Signed-off-by: Lorenzo Pieralisi int i; /* Remove PCI bus with all devices */ -@@ -1704,6 +1705,11 @@ static int advk_pcie_remove(struct platf +@@ -1706,6 +1707,11 @@ static int advk_pcie_remove(struct platf pci_remove_root_bus(bridge->bus); pci_unlock_rescan_remove(); diff --git a/target/linux/generic/backport-5.10/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch b/target/linux/generic/backport-5.10/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch index 7add045cab..ce8088b3b1 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0007-PCI-aardvark-Mask-all-interrupts-when-unbinding-driv.patch @@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1710,6 +1710,27 @@ static int advk_pcie_remove(struct platf +@@ -1712,6 +1712,27 @@ static int advk_pcie_remove(struct platf val &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); advk_writel(pcie, val, PCIE_CORE_CMD_STATUS_REG); diff --git a/target/linux/generic/backport-5.10/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch b/target/linux/generic/backport-5.10/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch index f86d2bd61f..a460f770f8 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0008-PCI-aardvark-Fix-memory-leak-in-driver-unbind.patch @@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1735,6 +1735,9 @@ static int advk_pcie_remove(struct platf +@@ -1737,6 +1737,9 @@ static int advk_pcie_remove(struct platf advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie); diff --git a/target/linux/generic/backport-5.10/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch b/target/linux/generic/backport-5.10/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch index 1e9e74136c..2dfd22f439 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0009-PCI-aardvark-Assert-PERST-when-unbinding-driver.patch @@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1738,6 +1738,10 @@ static int advk_pcie_remove(struct platf +@@ -1740,6 +1740,10 @@ static int advk_pcie_remove(struct platf /* Free config space for emulated root bridge */ pci_bridge_emul_cleanup(&pcie->bridge); diff --git a/target/linux/generic/backport-5.10/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch b/target/linux/generic/backport-5.10/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch index 3b531deae0..e1ff7e8573 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0010-PCI-aardvark-Disable-link-training-when-unbinding-dr.patch @@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1742,6 +1742,11 @@ static int advk_pcie_remove(struct platf +@@ -1744,6 +1744,11 @@ static int advk_pcie_remove(struct platf if (pcie->reset_gpio) gpiod_set_value_cansleep(pcie->reset_gpio, 1); diff --git a/target/linux/generic/backport-5.10/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch b/target/linux/generic/backport-5.10/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch index 6caa6eb362..5a0840f3ed 100644 --- a/target/linux/generic/backport-5.10/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch +++ b/target/linux/generic/backport-5.10/850-v5.17-0011-PCI-aardvark-Disable-common-PHY-when-unbinding-drive.patch @@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c -@@ -1751,6 +1751,9 @@ static int advk_pcie_remove(struct platf +@@ -1753,6 +1753,9 @@ static int advk_pcie_remove(struct platf for (i = 0; i < OB_WIN_COUNT; i++) advk_pcie_disable_ob_win(pcie, i); -- cgit v1.2.3