From: Greg Kroah-Hartman Date: Thu, 23 May 2024 11:43:15 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v4.19.315~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ff7712e09b89b609b6be042566f1e344dbdf4444;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: net-bcmgenet-keep-mac-in-reset-until-phy-is-up.patch net-bcmgenet-synchronize-ext_rgmii_oob_ctrl-access.patch net-bcmgenet-synchronize-umac_cmd-access.patch net-bcmgenet-synchronize-use-of-bcmgenet_set_rx_mode.patch revert-net-bcmgenet-use-rgmii-loopback-for-mac-reset.patch revert-selftests-mm-fix-map_hugetlb-failure-on-64k-page-size-systems.patch --- diff --git a/queue-5.4/net-bcmgenet-keep-mac-in-reset-until-phy-is-up.patch b/queue-5.4/net-bcmgenet-keep-mac-in-reset-until-phy-is-up.patch new file mode 100644 index 00000000000..f892eb3d8c5 --- /dev/null +++ b/queue-5.4/net-bcmgenet-keep-mac-in-reset-until-phy-is-up.patch @@ -0,0 +1,100 @@ +From 88f6c8bf1aaed5039923fb4c701cab4d42176275 Mon Sep 17 00:00:00 2001 +From: Doug Berger +Date: Mon, 16 Mar 2020 14:44:56 -0700 +Subject: net: bcmgenet: keep MAC in reset until PHY is up + +From: Doug Berger + +commit 88f6c8bf1aaed5039923fb4c701cab4d42176275 upstream. + +As noted in commit 28c2d1a7a0bf ("net: bcmgenet: enable loopback +during UniMAC sw_reset") the UniMAC must be clocked at least 5 +cycles while the sw_reset is asserted to ensure a clean reset. + +That commit enabled local loopback to provide an Rx clock from the +GENET sourced Tx clk. However, when connected in MII mode the Tx +clk is sourced by the PHY so if an EPHY is not supplying clocks +(e.g. when the link is down) the UniMAC does not receive the +necessary clocks. + +This commit extends the sw_reset window until the PHY reports that +the link is up thereby ensuring that the clocks are being provided +to the MAC to produce a clean reset. + +One consequence is that if the system attempts to enter a Wake on +LAN suspend state when the PHY link has not been active the MAC +may not have had a chance to initialize cleanly. In this case, we +remove the sw_reset and enable the WoL reception path as normal +with the hope that the PHY will provide the necessary clocks to +drive the WoL blocks if the link becomes active after the system +has entered suspend. + +Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") +Signed-off-by: Doug Berger +Acked-by: Florian Fainelli +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/broadcom/genet/bcmgenet.c | 10 ++++------ + drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 6 +++++- + drivers/net/ethernet/broadcom/genet/bcmmii.c | 6 ++++++ + 3 files changed, 15 insertions(+), 7 deletions(-) + +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +@@ -1991,6 +1991,8 @@ static void umac_enable_set(struct bcmge + u32 reg; + + reg = bcmgenet_umac_readl(priv, UMAC_CMD); ++ if (reg & CMD_SW_RESET) ++ return; + if (enable) + reg |= mask; + else +@@ -2010,13 +2012,9 @@ static void reset_umac(struct bcmgenet_p + bcmgenet_rbuf_ctrl_set(priv, 0); + udelay(10); + +- /* disable MAC while updating its registers */ +- bcmgenet_umac_writel(priv, 0, UMAC_CMD); +- +- /* issue soft reset with (rg)mii loopback to ensure a stable rxclk */ +- bcmgenet_umac_writel(priv, CMD_SW_RESET | CMD_LCL_LOOP_EN, UMAC_CMD); ++ /* issue soft reset and disable MAC while updating its registers */ ++ bcmgenet_umac_writel(priv, CMD_SW_RESET, UMAC_CMD); + udelay(2); +- bcmgenet_umac_writel(priv, 0, UMAC_CMD); + } + + static void bcmgenet_intr_disable(struct bcmgenet_priv *priv) +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c +@@ -132,8 +132,12 @@ int bcmgenet_wol_power_down_cfg(struct b + return -EINVAL; + } + +- /* disable RX */ ++ /* Can't suspend with WoL if MAC is still in reset */ + reg = bcmgenet_umac_readl(priv, UMAC_CMD); ++ if (reg & CMD_SW_RESET) ++ reg &= ~CMD_SW_RESET; ++ ++ /* disable RX */ + reg &= ~CMD_RX_EN; + bcmgenet_umac_writel(priv, reg, UMAC_CMD); + mdelay(10); +--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c +@@ -96,6 +96,12 @@ void bcmgenet_mii_setup(struct net_devic + CMD_HD_EN | + CMD_RX_PAUSE_IGNORE | CMD_TX_PAUSE_IGNORE); + reg |= cmd_bits; ++ if (reg & CMD_SW_RESET) { ++ reg &= ~CMD_SW_RESET; ++ bcmgenet_umac_writel(priv, reg, UMAC_CMD); ++ udelay(2); ++ reg |= CMD_TX_EN | CMD_RX_EN; ++ } + bcmgenet_umac_writel(priv, reg, UMAC_CMD); + + priv->eee.eee_active = phy_init_eee(phydev, 0) >= 0; diff --git a/queue-5.4/net-bcmgenet-synchronize-ext_rgmii_oob_ctrl-access.patch b/queue-5.4/net-bcmgenet-synchronize-ext_rgmii_oob_ctrl-access.patch new file mode 100644 index 00000000000..ce9d0609884 --- /dev/null +++ b/queue-5.4/net-bcmgenet-synchronize-ext_rgmii_oob_ctrl-access.patch @@ -0,0 +1,48 @@ +From d85cf67a339685beae1d0aee27b7f61da95455be Mon Sep 17 00:00:00 2001 +From: Doug Berger +Date: Thu, 25 Apr 2024 15:27:19 -0700 +Subject: net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access + +From: Doug Berger + +commit d85cf67a339685beae1d0aee27b7f61da95455be upstream. + +The EXT_RGMII_OOB_CTRL register can be written from different +contexts. It is predominantly written from the adjust_link +handler which is synchronized by the phydev->lock, but can +also be written from a different context when configuring the +mii in bcmgenet_mii_config(). + +The chances of contention are quite low, but it is conceivable +that adjust_link could occur during resume when WoL is enabled +so use the phydev->lock synchronizer in bcmgenet_mii_config() +to be sure. + +Fixes: afe3f907d20f ("net: bcmgenet: power on MII block for all MII modes") +Cc: stable@vger.kernel.org +Signed-off-by: Doug Berger +Acked-by: Florian Fainelli +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/broadcom/genet/bcmmii.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c +@@ -269,6 +269,7 @@ int bcmgenet_mii_config(struct net_devic + * block for the interface to work + */ + if (priv->ext_phy) { ++ mutex_lock(&phydev->lock); + reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL); + reg |= id_mode_dis; + if (GENET_IS_V1(priv) || GENET_IS_V2(priv) || GENET_IS_V3(priv)) +@@ -276,6 +277,7 @@ int bcmgenet_mii_config(struct net_devic + else + reg |= RGMII_MODE_EN; + bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL); ++ mutex_unlock(&phydev->lock); + } + + if (init) diff --git a/queue-5.4/net-bcmgenet-synchronize-umac_cmd-access.patch b/queue-5.4/net-bcmgenet-synchronize-umac_cmd-access.patch new file mode 100644 index 00000000000..e9eb06ea2bd --- /dev/null +++ b/queue-5.4/net-bcmgenet-synchronize-umac_cmd-access.patch @@ -0,0 +1,168 @@ +From 0d5e2a82232605b337972fb2c7d0cbc46898aca1 Mon Sep 17 00:00:00 2001 +From: Doug Berger +Date: Thu, 25 Apr 2024 15:27:21 -0700 +Subject: net: bcmgenet: synchronize UMAC_CMD access + +From: Doug Berger + +commit 0d5e2a82232605b337972fb2c7d0cbc46898aca1 upstream. + +The UMAC_CMD register is written from different execution +contexts and has insufficient synchronization protections to +prevent possible corruption. Of particular concern are the +acceses from the phy_device delayed work context used by the +adjust_link call and the BH context that may be used by the +ndo_set_rx_mode call. + +A spinlock is added to the driver to protect contended register +accesses (i.e. reg_lock) and it is used to synchronize accesses +to UMAC_CMD. + +Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") +Cc: stable@vger.kernel.org +Signed-off-by: Doug Berger +Acked-by: Florian Fainelli +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/broadcom/genet/bcmgenet.c | 12 +++++++++++- + drivers/net/ethernet/broadcom/genet/bcmgenet.h | 2 ++ + drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 6 ++++++ + drivers/net/ethernet/broadcom/genet/bcmmii.c | 2 ++ + 4 files changed, 21 insertions(+), 1 deletion(-) + +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +@@ -1990,14 +1990,18 @@ static void umac_enable_set(struct bcmge + { + u32 reg; + ++ spin_lock_bh(&priv->reg_lock); + reg = bcmgenet_umac_readl(priv, UMAC_CMD); +- if (reg & CMD_SW_RESET) ++ if (reg & CMD_SW_RESET) { ++ spin_unlock_bh(&priv->reg_lock); + return; ++ } + if (enable) + reg |= mask; + else + reg &= ~mask; + bcmgenet_umac_writel(priv, reg, UMAC_CMD); ++ spin_unlock_bh(&priv->reg_lock); + + /* UniMAC stops on a packet boundary, wait for a full-size packet + * to be processed +@@ -2013,8 +2017,10 @@ static void reset_umac(struct bcmgenet_p + udelay(10); + + /* issue soft reset and disable MAC while updating its registers */ ++ spin_lock_bh(&priv->reg_lock); + bcmgenet_umac_writel(priv, CMD_SW_RESET, UMAC_CMD); + udelay(2); ++ spin_unlock_bh(&priv->reg_lock); + } + + static void bcmgenet_intr_disable(struct bcmgenet_priv *priv) +@@ -3148,16 +3154,19 @@ static void bcmgenet_set_rx_mode(struct + * 3. The number of filters needed exceeds the number filters + * supported by the hardware. + */ ++ spin_lock(&priv->reg_lock); + reg = bcmgenet_umac_readl(priv, UMAC_CMD); + if ((dev->flags & (IFF_PROMISC | IFF_ALLMULTI)) || + (nfilter > MAX_MDF_FILTER)) { + reg |= CMD_PROMISC; + bcmgenet_umac_writel(priv, reg, UMAC_CMD); ++ spin_unlock(&priv->reg_lock); + bcmgenet_umac_writel(priv, 0, UMAC_MDF_CTRL); + return; + } else { + reg &= ~CMD_PROMISC; + bcmgenet_umac_writel(priv, reg, UMAC_CMD); ++ spin_unlock(&priv->reg_lock); + } + + /* update MDF filter */ +@@ -3515,6 +3524,7 @@ static int bcmgenet_probe(struct platfor + goto err; + } + ++ spin_lock_init(&priv->reg_lock); + spin_lock_init(&priv->lock); + + SET_NETDEV_DEV(dev, &pdev->dev); +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.h ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.h +@@ -608,6 +608,8 @@ struct bcmgenet_rx_ring { + /* device context */ + struct bcmgenet_priv { + void __iomem *base; ++ /* reg_lock: lock to serialize access to shared registers */ ++ spinlock_t reg_lock; + enum bcmgenet_version version; + struct net_device *dev; + +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c +@@ -133,6 +133,7 @@ int bcmgenet_wol_power_down_cfg(struct b + } + + /* Can't suspend with WoL if MAC is still in reset */ ++ spin_lock_bh(&priv->reg_lock); + reg = bcmgenet_umac_readl(priv, UMAC_CMD); + if (reg & CMD_SW_RESET) + reg &= ~CMD_SW_RESET; +@@ -140,6 +141,7 @@ int bcmgenet_wol_power_down_cfg(struct b + /* disable RX */ + reg &= ~CMD_RX_EN; + bcmgenet_umac_writel(priv, reg, UMAC_CMD); ++ spin_unlock_bh(&priv->reg_lock); + mdelay(10); + + reg = bcmgenet_umac_readl(priv, UMAC_MPD_CTRL); +@@ -163,6 +165,7 @@ int bcmgenet_wol_power_down_cfg(struct b + retries); + + /* Enable CRC forward */ ++ spin_lock_bh(&priv->reg_lock); + reg = bcmgenet_umac_readl(priv, UMAC_CMD); + priv->crc_fwd_en = 1; + reg |= CMD_CRC_FWD; +@@ -170,6 +173,7 @@ int bcmgenet_wol_power_down_cfg(struct b + /* Receiver must be enabled for WOL MP detection */ + reg |= CMD_RX_EN; + bcmgenet_umac_writel(priv, reg, UMAC_CMD); ++ spin_unlock_bh(&priv->reg_lock); + + return 0; + } +@@ -191,8 +195,10 @@ void bcmgenet_wol_power_up_cfg(struct bc + bcmgenet_umac_writel(priv, reg, UMAC_MPD_CTRL); + + /* Disable CRC Forward */ ++ spin_lock_bh(&priv->reg_lock); + reg = bcmgenet_umac_readl(priv, UMAC_CMD); + reg &= ~CMD_CRC_FWD; + bcmgenet_umac_writel(priv, reg, UMAC_CMD); ++ spin_unlock_bh(&priv->reg_lock); + priv->crc_fwd_en = 0; + } +--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c +@@ -91,6 +91,7 @@ void bcmgenet_mii_setup(struct net_devic + reg |= RGMII_LINK; + bcmgenet_ext_writel(priv, reg, EXT_RGMII_OOB_CTRL); + ++ spin_lock_bh(&priv->reg_lock); + reg = bcmgenet_umac_readl(priv, UMAC_CMD); + reg &= ~((CMD_SPEED_MASK << CMD_SPEED_SHIFT) | + CMD_HD_EN | +@@ -103,6 +104,7 @@ void bcmgenet_mii_setup(struct net_devic + reg |= CMD_TX_EN | CMD_RX_EN; + } + bcmgenet_umac_writel(priv, reg, UMAC_CMD); ++ spin_unlock_bh(&priv->reg_lock); + + priv->eee.eee_active = phy_init_eee(phydev, 0) >= 0; + bcmgenet_eee_enable_set(dev, diff --git a/queue-5.4/net-bcmgenet-synchronize-use-of-bcmgenet_set_rx_mode.patch b/queue-5.4/net-bcmgenet-synchronize-use-of-bcmgenet_set_rx_mode.patch new file mode 100644 index 00000000000..70fb2bb76f2 --- /dev/null +++ b/queue-5.4/net-bcmgenet-synchronize-use-of-bcmgenet_set_rx_mode.patch @@ -0,0 +1,36 @@ +From 2dbe5f19368caae63b1f59f5bc2af78c7d522b3a Mon Sep 17 00:00:00 2001 +From: Doug Berger +Date: Thu, 25 Apr 2024 15:27:20 -0700 +Subject: net: bcmgenet: synchronize use of bcmgenet_set_rx_mode() + +From: Doug Berger + +commit 2dbe5f19368caae63b1f59f5bc2af78c7d522b3a upstream. + +The ndo_set_rx_mode function is synchronized with the +netif_addr_lock spinlock and BHs disabled. Since this +function is also invoked directly from the driver the +same synchronization should be applied. + +Fixes: 72f96347628e ("net: bcmgenet: set Rx mode before starting netif") +Cc: stable@vger.kernel.org +Signed-off-by: Doug Berger +Acked-by: Florian Fainelli +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +@@ -2882,7 +2882,9 @@ static void bcmgenet_netif_start(struct + struct bcmgenet_priv *priv = netdev_priv(dev); + + /* Start the network engine */ ++ netif_addr_lock_bh(dev); + bcmgenet_set_rx_mode(dev); ++ netif_addr_unlock_bh(dev); + bcmgenet_enable_rx_napi(priv); + + umac_enable_set(priv, CMD_TX_EN | CMD_RX_EN, true); diff --git a/queue-5.4/revert-net-bcmgenet-use-rgmii-loopback-for-mac-reset.patch b/queue-5.4/revert-net-bcmgenet-use-rgmii-loopback-for-mac-reset.patch new file mode 100644 index 00000000000..8ae34da46f3 --- /dev/null +++ b/queue-5.4/revert-net-bcmgenet-use-rgmii-loopback-for-mac-reset.patch @@ -0,0 +1,90 @@ +From 612eb1c3b9e504de24136c947ed7c07bc342f3aa Mon Sep 17 00:00:00 2001 +From: Doug Berger +Date: Mon, 16 Mar 2020 14:44:55 -0700 +Subject: Revert "net: bcmgenet: use RGMII loopback for MAC reset" + +From: Doug Berger + +commit 612eb1c3b9e504de24136c947ed7c07bc342f3aa upstream. + +This reverts commit 3a55402c93877d291b0a612d25edb03d1b4b93ac. + +This is not a good solution when connecting to an external switch +that may not support the isolation of the TXC signal resulting in +output driver contention on the pin. + +A different solution is necessary. + +Signed-off-by: Doug Berger +Acked-by: Florian Fainelli +Signed-off-by: David S. Miller +[Adjusted to accommodate lack of commit 4f8d81b77e66] +Signed-off-by: Doug Berger +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 + + drivers/net/ethernet/broadcom/genet/bcmmii.c | 33 ------------------------- + 2 files changed, 2 insertions(+), 33 deletions(-) + +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +@@ -2015,6 +2015,8 @@ static void reset_umac(struct bcmgenet_p + + /* issue soft reset with (rg)mii loopback to ensure a stable rxclk */ + bcmgenet_umac_writel(priv, CMD_SW_RESET | CMD_LCL_LOOP_EN, UMAC_CMD); ++ udelay(2); ++ bcmgenet_umac_writel(priv, 0, UMAC_CMD); + } + + static void bcmgenet_intr_disable(struct bcmgenet_priv *priv) +--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c +@@ -187,38 +187,8 @@ int bcmgenet_mii_config(struct net_devic + const char *phy_name = NULL; + u32 id_mode_dis = 0; + u32 port_ctrl; +- int bmcr = -1; +- int ret; + u32 reg; + +- /* MAC clocking workaround during reset of umac state machines */ +- reg = bcmgenet_umac_readl(priv, UMAC_CMD); +- if (reg & CMD_SW_RESET) { +- /* An MII PHY must be isolated to prevent TXC contention */ +- if (priv->phy_interface == PHY_INTERFACE_MODE_MII) { +- ret = phy_read(phydev, MII_BMCR); +- if (ret >= 0) { +- bmcr = ret; +- ret = phy_write(phydev, MII_BMCR, +- bmcr | BMCR_ISOLATE); +- } +- if (ret) { +- netdev_err(dev, "failed to isolate PHY\n"); +- return ret; +- } +- } +- /* Switch MAC clocking to RGMII generated clock */ +- bcmgenet_sys_writel(priv, PORT_MODE_EXT_GPHY, SYS_PORT_CTRL); +- /* Ensure 5 clks with Rx disabled +- * followed by 5 clks with Reset asserted +- */ +- udelay(4); +- reg &= ~(CMD_SW_RESET | CMD_LCL_LOOP_EN); +- bcmgenet_umac_writel(priv, reg, UMAC_CMD); +- /* Ensure 5 more clocks before Rx is enabled */ +- udelay(2); +- } +- + priv->ext_phy = !priv->internal_phy && + (priv->phy_interface != PHY_INTERFACE_MODE_MOCA); + +@@ -250,9 +220,6 @@ int bcmgenet_mii_config(struct net_devic + phy_set_max_speed(phydev, SPEED_100); + bcmgenet_sys_writel(priv, + PORT_MODE_EXT_EPHY, SYS_PORT_CTRL); +- /* Restore the MII PHY after isolation */ +- if (bmcr >= 0) +- phy_write(phydev, MII_BMCR, bmcr); + break; + + case PHY_INTERFACE_MODE_REVMII: diff --git a/queue-5.4/revert-selftests-mm-fix-map_hugetlb-failure-on-64k-page-size-systems.patch b/queue-5.4/revert-selftests-mm-fix-map_hugetlb-failure-on-64k-page-size-systems.patch new file mode 100644 index 00000000000..116793ead40 --- /dev/null +++ b/queue-5.4/revert-selftests-mm-fix-map_hugetlb-failure-on-64k-page-size-systems.patch @@ -0,0 +1,54 @@ +From harshit.m.mogalapalli@oracle.com Thu May 23 13:26:12 2024 +From: Harshit Mogalapalli +Date: Mon, 6 May 2024 01:50:44 -0700 +Subject: Revert "selftests: mm: fix map_hugetlb failure on 64K page size systems" +To: stable@vger.kernel.org +Cc: sashal@kernel.org, vegard.nossum@oracle.com, darren.kenny@oracle.com, Harshit Mogalapalli +Message-ID: <20240506085044.2943648-1-harshit.m.mogalapalli@oracle.com> + + +This reverts commit 47c68edecca26f0e29b25d26500afd62279951b0 which is +commit 91b80cc5b39f00399e8e2d17527cad2c7fa535e2 upstream. + +map_hugetlb.c:18:10: fatal error: vm_util.h: No such file or directory + 18 | #include "vm_util.h" + | ^~~~~~~~~~~ +compilation terminated. + +vm_util.h is not present in 5.4.y, as commit:642bc52aed9c ("selftests: +vm: bring common functions to a new file") is not present in stable +kernels <=6.1.y + +Signed-off-by: Harshit Mogalapalli +Signed-off-by: Greg Kroah-Hartman +--- + tools/testing/selftests/vm/map_hugetlb.c | 7 ------- + 1 file changed, 7 deletions(-) + +--- a/tools/testing/selftests/vm/map_hugetlb.c ++++ b/tools/testing/selftests/vm/map_hugetlb.c +@@ -15,7 +15,6 @@ + #include + #include + #include +-#include "vm_util.h" + + #define LENGTH (256UL*1024*1024) + #define PROTECTION (PROT_READ | PROT_WRITE) +@@ -71,16 +70,10 @@ int main(int argc, char **argv) + { + void *addr; + int ret; +- size_t hugepage_size; + size_t length = LENGTH; + int flags = FLAGS; + int shift = 0; + +- hugepage_size = default_huge_page_size(); +- /* munmap with fail if the length is not page aligned */ +- if (hugepage_size > length) +- length = hugepage_size; +- + if (argc > 1) + length = atol(argv[1]) << 20; + if (argc > 2) { diff --git a/queue-5.4/series b/queue-5.4/series index 1cea2669bb8..ec7df25a17d 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -1,2 +1,8 @@ pinctrl-core-handle-radix_tree_insert-errors-in-pinctrl_register_one_pin.patch ext4-fix-bug_on-in-__es_tree_search.patch +revert-selftests-mm-fix-map_hugetlb-failure-on-64k-page-size-systems.patch +revert-net-bcmgenet-use-rgmii-loopback-for-mac-reset.patch +net-bcmgenet-keep-mac-in-reset-until-phy-is-up.patch +net-bcmgenet-synchronize-ext_rgmii_oob_ctrl-access.patch +net-bcmgenet-synchronize-use-of-bcmgenet_set_rx_mode.patch +net-bcmgenet-synchronize-umac_cmd-access.patch