From: Greg Kroah-Hartman Date: Sat, 30 Mar 2019 10:25:20 +0000 (+0100) Subject: drop broken iommu patch for 5.0 and 4.19 X-Git-Tag: v3.18.138~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=64a8af55667a52363aea968fdc56ff2c49a5e5a4;p=thirdparty%2Fkernel%2Fstable-queue.git drop broken iommu patch for 5.0 and 4.19 --- diff --git a/queue-4.19/iommu-io-pgtable-arm-v7s-request-dma32-memory-and-improve-debugging.patch b/queue-4.19/iommu-io-pgtable-arm-v7s-request-dma32-memory-and-improve-debugging.patch deleted file mode 100644 index 17b2cf73e0d..00000000000 --- a/queue-4.19/iommu-io-pgtable-arm-v7s-request-dma32-memory-and-improve-debugging.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0a352554da69b02f75ca3389c885c741f1f63235 Mon Sep 17 00:00:00 2001 -From: Nicolas Boichat -Date: Thu, 28 Mar 2019 20:43:46 -0700 -Subject: iommu/io-pgtable-arm-v7s: request DMA32 memory, and improve debugging - -From: Nicolas Boichat - -commit 0a352554da69b02f75ca3389c885c741f1f63235 upstream. - -IOMMUs using ARMv7 short-descriptor format require page tables (level 1 -and 2) to be allocated within the first 4GB of RAM, even on 64-bit -systems. - -For level 1/2 pages, ensure GFP_DMA32 is used if CONFIG_ZONE_DMA32 is -defined (e.g. on arm64 platforms). - -For level 2 pages, allocate a slab cache in SLAB_CACHE_DMA32. Note that -we do not explicitly pass GFP_DMA[32] to kmem_cache_zalloc, as this is -not strictly necessary, and would cause a warning in mm/sl*b.c, as we -did not update GFP_SLAB_BUG_MASK. - -Also, print an error when the physical address does not fit in -32-bit, to make debugging easier in the future. - -Link: http://lkml.kernel.org/r/20181210011504.122604-3-drinkcat@chromium.org -Fixes: ad67f5a6545f ("arm64: replace ZONE_DMA with ZONE_DMA32") -Signed-off-by: Nicolas Boichat -Acked-by: Will Deacon -Cc: Christoph Hellwig -Cc: Christoph Lameter -Cc: David Rientjes -Cc: Hsin-Yi Wang -Cc: Huaisheng Ye -Cc: Joerg Roedel -Cc: Joonsoo Kim -Cc: Matthew Wilcox -Cc: Matthias Brugger -Cc: Mel Gorman -Cc: Michal Hocko -Cc: Mike Rapoport -Cc: Pekka Enberg -Cc: Robin Murphy -Cc: Sasha Levin -Cc: Tomasz Figa -Cc: Vlastimil Babka -Cc: Yingjoe Chen -Cc: Yong Wu -Cc: -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/iommu/io-pgtable-arm-v7s.c | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - ---- a/drivers/iommu/io-pgtable-arm-v7s.c -+++ b/drivers/iommu/io-pgtable-arm-v7s.c -@@ -161,6 +161,14 @@ - - #define ARM_V7S_TCR_PD1 BIT(5) - -+#ifdef CONFIG_ZONE_DMA32 -+#define ARM_V7S_TABLE_GFP_DMA GFP_DMA32 -+#define ARM_V7S_TABLE_SLAB_FLAGS SLAB_CACHE_DMA32 -+#else -+#define ARM_V7S_TABLE_GFP_DMA GFP_DMA -+#define ARM_V7S_TABLE_SLAB_FLAGS SLAB_CACHE_DMA -+#endif -+ - typedef u32 arm_v7s_iopte; - - static bool selftest_running; -@@ -198,13 +206,16 @@ static void *__arm_v7s_alloc_table(int l - void *table = NULL; - - if (lvl == 1) -- table = (void *)__get_dma_pages(__GFP_ZERO, get_order(size)); -+ table = (void *)__get_free_pages( -+ __GFP_ZERO | ARM_V7S_TABLE_GFP_DMA, get_order(size)); - else if (lvl == 2) -- table = kmem_cache_zalloc(data->l2_tables, gfp | GFP_DMA); -+ table = kmem_cache_zalloc(data->l2_tables, gfp); - phys = virt_to_phys(table); -- if (phys != (arm_v7s_iopte)phys) -+ if (phys != (arm_v7s_iopte)phys) { - /* Doesn't fit in PTE */ -+ dev_err(dev, "Page table does not fit in PTE: %pa", &phys); - goto out_free; -+ } - if (table && !(cfg->quirks & IO_PGTABLE_QUIRK_NO_DMA)) { - dma = dma_map_single(dev, table, size, DMA_TO_DEVICE); - if (dma_mapping_error(dev, dma)) -@@ -728,7 +739,7 @@ static struct io_pgtable *arm_v7s_alloc_ - data->l2_tables = kmem_cache_create("io-pgtable_armv7s_l2", - ARM_V7S_TABLE_SIZE(2), - ARM_V7S_TABLE_SIZE(2), -- SLAB_CACHE_DMA, NULL); -+ ARM_V7S_TABLE_SLAB_FLAGS, NULL); - if (!data->l2_tables) - goto out_free_data; - diff --git a/queue-4.19/series b/queue-4.19/series index 61bc1a23b63..393a152cc07 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -70,7 +70,6 @@ alsa-hda-realtek-fix-speakers-on-acer-predator-helios-500-ryzen-laptops.patch kbuild-modversions-fix-relative-crc-byte-order-interpretation.patch fs-open.c-allow-opening-only-regular-files-during-execve.patch ocfs2-fix-inode-bh-swapping-mixup-in-ocfs2_reflink_inodes_lock.patch -iommu-io-pgtable-arm-v7s-request-dma32-memory-and-improve-debugging.patch scsi-sd-fix-a-race-between-closing-an-sd-device-and-sd-i-o.patch scsi-sd-quiesce-warning-if-device-does-not-report-optimal-i-o-size.patch scsi-zfcp-fix-rport-unblock-if-deleted-scsi-devices-on-scsi_host.patch diff --git a/queue-5.0/iommu-io-pgtable-arm-v7s-request-dma32-memory-and-improve-debugging.patch b/queue-5.0/iommu-io-pgtable-arm-v7s-request-dma32-memory-and-improve-debugging.patch deleted file mode 100644 index dd02cbd6535..00000000000 --- a/queue-5.0/iommu-io-pgtable-arm-v7s-request-dma32-memory-and-improve-debugging.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0a352554da69b02f75ca3389c885c741f1f63235 Mon Sep 17 00:00:00 2001 -From: Nicolas Boichat -Date: Thu, 28 Mar 2019 20:43:46 -0700 -Subject: iommu/io-pgtable-arm-v7s: request DMA32 memory, and improve debugging - -From: Nicolas Boichat - -commit 0a352554da69b02f75ca3389c885c741f1f63235 upstream. - -IOMMUs using ARMv7 short-descriptor format require page tables (level 1 -and 2) to be allocated within the first 4GB of RAM, even on 64-bit -systems. - -For level 1/2 pages, ensure GFP_DMA32 is used if CONFIG_ZONE_DMA32 is -defined (e.g. on arm64 platforms). - -For level 2 pages, allocate a slab cache in SLAB_CACHE_DMA32. Note that -we do not explicitly pass GFP_DMA[32] to kmem_cache_zalloc, as this is -not strictly necessary, and would cause a warning in mm/sl*b.c, as we -did not update GFP_SLAB_BUG_MASK. - -Also, print an error when the physical address does not fit in -32-bit, to make debugging easier in the future. - -Link: http://lkml.kernel.org/r/20181210011504.122604-3-drinkcat@chromium.org -Fixes: ad67f5a6545f ("arm64: replace ZONE_DMA with ZONE_DMA32") -Signed-off-by: Nicolas Boichat -Acked-by: Will Deacon -Cc: Christoph Hellwig -Cc: Christoph Lameter -Cc: David Rientjes -Cc: Hsin-Yi Wang -Cc: Huaisheng Ye -Cc: Joerg Roedel -Cc: Joonsoo Kim -Cc: Matthew Wilcox -Cc: Matthias Brugger -Cc: Mel Gorman -Cc: Michal Hocko -Cc: Mike Rapoport -Cc: Pekka Enberg -Cc: Robin Murphy -Cc: Sasha Levin -Cc: Tomasz Figa -Cc: Vlastimil Babka -Cc: Yingjoe Chen -Cc: Yong Wu -Cc: -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/iommu/io-pgtable-arm-v7s.c | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - ---- a/drivers/iommu/io-pgtable-arm-v7s.c -+++ b/drivers/iommu/io-pgtable-arm-v7s.c -@@ -161,6 +161,14 @@ - - #define ARM_V7S_TCR_PD1 BIT(5) - -+#ifdef CONFIG_ZONE_DMA32 -+#define ARM_V7S_TABLE_GFP_DMA GFP_DMA32 -+#define ARM_V7S_TABLE_SLAB_FLAGS SLAB_CACHE_DMA32 -+#else -+#define ARM_V7S_TABLE_GFP_DMA GFP_DMA -+#define ARM_V7S_TABLE_SLAB_FLAGS SLAB_CACHE_DMA -+#endif -+ - typedef u32 arm_v7s_iopte; - - static bool selftest_running; -@@ -198,13 +206,16 @@ static void *__arm_v7s_alloc_table(int l - void *table = NULL; - - if (lvl == 1) -- table = (void *)__get_dma_pages(__GFP_ZERO, get_order(size)); -+ table = (void *)__get_free_pages( -+ __GFP_ZERO | ARM_V7S_TABLE_GFP_DMA, get_order(size)); - else if (lvl == 2) -- table = kmem_cache_zalloc(data->l2_tables, gfp | GFP_DMA); -+ table = kmem_cache_zalloc(data->l2_tables, gfp); - phys = virt_to_phys(table); -- if (phys != (arm_v7s_iopte)phys) -+ if (phys != (arm_v7s_iopte)phys) { - /* Doesn't fit in PTE */ -+ dev_err(dev, "Page table does not fit in PTE: %pa", &phys); - goto out_free; -+ } - if (table && !(cfg->quirks & IO_PGTABLE_QUIRK_NO_DMA)) { - dma = dma_map_single(dev, table, size, DMA_TO_DEVICE); - if (dma_mapping_error(dev, dma)) -@@ -733,7 +744,7 @@ static struct io_pgtable *arm_v7s_alloc_ - data->l2_tables = kmem_cache_create("io-pgtable_armv7s_l2", - ARM_V7S_TABLE_SIZE(2), - ARM_V7S_TABLE_SIZE(2), -- SLAB_CACHE_DMA, NULL); -+ ARM_V7S_TABLE_SLAB_FLAGS, NULL); - if (!data->l2_tables) - goto out_free_data; - diff --git a/queue-5.0/series b/queue-5.0/series index c926dbaaca1..d96e6fd681f 100644 --- a/queue-5.0/series +++ b/queue-5.0/series @@ -69,7 +69,6 @@ alsa-hda-realtek-fix-speakers-on-acer-predator-helios-500-ryzen-laptops.patch kbuild-modversions-fix-relative-crc-byte-order-interpretation.patch fs-open.c-allow-opening-only-regular-files-during-execve.patch ocfs2-fix-inode-bh-swapping-mixup-in-ocfs2_reflink_inodes_lock.patch -iommu-io-pgtable-arm-v7s-request-dma32-memory-and-improve-debugging.patch scsi-sd-fix-a-race-between-closing-an-sd-device-and-sd-i-o.patch scsi-sd-quiesce-warning-if-device-does-not-report-optimal-i-o-size.patch scsi-zfcp-fix-rport-unblock-if-deleted-scsi-devices-on-scsi_host.patch