summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin M. Forbes <jforbes@fedoraproject.org>2022-04-20 09:12:21 -0500
committerJustin M. Forbes <jforbes@fedoraproject.org>2022-04-20 09:12:21 -0500
commitb8e4d45cce10ca9fe9e029a2ae6528570c6652c2 (patch)
treed7dc24473d5b7c03e6561bf56964ba25a29e451a
parent811d2ec22a665a218214c1139c5762af31f51197 (diff)
downloadkernel-b8e4d45cce10ca9fe9e029a2ae6528570c6652c2.tar.gz
kernel-b8e4d45cce10ca9fe9e029a2ae6528570c6652c2.tar.xz
kernel-b8e4d45cce10ca9fe9e029a2ae6528570c6652c2.zip
kernel-5.17.4-0
* Wed Apr 20 2022 Justin M. Forbes <jforbes@fedoraproject.org> [5.17.4-0] - Add F34 and F35 as release targets (Justin M. Forbes) - Revert "net: bcmgenet: Use stronger register read/writes to assure ordering" (Justin M. Forbes) Resolves: rhbz# Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
-rwxr-xr-xkernel.spec17
-rw-r--r--patch-5.17-redhat.patch196
-rw-r--r--sources6
3 files changed, 14 insertions, 205 deletions
diff --git a/kernel.spec b/kernel.spec
index bcb354a26..acb966d3c 100755
--- a/kernel.spec
+++ b/kernel.spec
@@ -87,7 +87,7 @@ Summary: The Linux kernel
# the --with-release option overrides this setting.)
%define debugbuildsenabled 1
-%global distro_build 302
+%global distro_build 300
%if 0%{?fedora}
%define secure_boot_arch x86_64
@@ -130,15 +130,15 @@ Summary: The Linux kernel
# The kernel tarball/base version
%define kversion 5.17
-%define rpmversion 5.17.3
+%define rpmversion 5.17.4
%define patchversion 5.17
-%define pkgrelease 302
+%define pkgrelease 300
# This is needed to do merge window version magic
%define patchlevel 17
# allow pkg_release to have configurable %%{?dist} tag
-%define specrelease 302%{?buildid}%{?dist}
+%define specrelease 300%{?buildid}%{?dist}
%define pkg_release %{specrelease}
@@ -695,7 +695,7 @@ BuildRequires: lld
# exact git commit you can run
#
# xzcat -qq ${TARBALL} | git get-tar-commit-id
-Source0: linux-5.17.3.tar.xz
+Source0: linux-5.17.4.tar.xz
Source1: Makefile.rhelver
@@ -1387,8 +1387,8 @@ ApplyOptionalPatch()
fi
}
-%setup -q -n kernel-5.17.3 -c
-mv linux-5.17.3 linux-%{KVERREL}
+%setup -q -n kernel-5.17.4 -c
+mv linux-5.17.4 linux-%{KVERREL}
cd linux-%{KVERREL}
cp -a %{SOURCE1} .
@@ -3015,7 +3015,8 @@ fi
#
#
%changelog
-* Sun Apr 17 2022 Justin M. Forbes <jforbes@fedoraproject.org> [5.17.3-302]
+* Wed Apr 20 2022 Justin M. Forbes <jforbes@fedoraproject.org> [5.17.4-0]
+- Add F34 and F35 as release targets (Justin M. Forbes)
- Revert "net: bcmgenet: Use stronger register read/writes to assure ordering" (Justin M. Forbes)
* Wed Apr 13 2022 Justin M. Forbes <jforbes@fedoraproject.org> [5.17.3-0]
diff --git a/patch-5.17-redhat.patch b/patch-5.17-redhat.patch
index 032f61386..905be3a85 100644
--- a/patch-5.17-redhat.patch
+++ b/patch-5.17-redhat.patch
@@ -26,7 +26,6 @@
drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++++
drivers/input/rmi4/rmi_driver.c | 124 ++++++++++++---------
drivers/iommu/iommu.c | 22 ++++
- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 +-
drivers/nvme/host/core.c | 22 +++-
drivers/nvme/host/multipath.c | 19 ++--
drivers/nvme/host/nvme.h | 4 +
@@ -44,7 +43,6 @@
include/linux/random.h | 7 ++
include/linux/rmi.h | 1 +
include/linux/security.h | 5 +
- include/sound/memalloc.h | 5 +
init/Kconfig | 2 +-
kernel/dma/swiotlb.c | 12 +-
kernel/module.c | 2 +
@@ -56,8 +54,7 @@
security/lockdown/Kconfig | 13 +++
security/lockdown/lockdown.c | 1 +
security/security.c | 6 +
- sound/core/memalloc.c | 111 +++++++++++++++++-
- 59 files changed, 886 insertions(+), 210 deletions(-)
+ 56 files changed, 769 insertions(+), 207 deletions(-)
diff --git a/Documentation/core-api/dma-attributes.rst b/Documentation/core-api/dma-attributes.rst
index 1887d92e8e92..17706dc91ec9 100644
@@ -109,7 +106,7 @@ index 000000000000..733a26bd887a
+
+endmenu
diff --git a/Makefile b/Makefile
-index 02fbef1a0213..7e08c751f348 100644
+index d7747e4c216e..7a429bc431b4 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
@@ -1356,28 +1353,6 @@ index 107dcf5938d6..225a9797e39d 100644
/*
* Changes the default domain of an iommu group that has *only* one device
*
-diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-index bd5998012a87..2da804f84b48 100644
---- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -76,7 +76,7 @@ static inline void bcmgenet_writel(u32 value, void __iomem *offset)
- if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN))
- __raw_writel(value, offset);
- else
-- writel(value, offset);
-+ writel_relaxed(value, offset);
- }
-
- static inline u32 bcmgenet_readl(void __iomem *offset)
-@@ -84,7 +84,7 @@ static inline u32 bcmgenet_readl(void __iomem *offset)
- if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN))
- return __raw_readl(offset);
- else
-- return readl(offset);
-+ return readl_relaxed(offset);
- }
-
- static inline void dmadesc_set_length_status(struct bcmgenet_priv *priv,
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 6215d50ed3e7..10f1629e0940 100644
--- a/drivers/nvme/host/core.c
@@ -1845,22 +1820,6 @@ index 25b3ef71f495..d37a6c88c69f 100644
#endif /* CONFIG_SECURITY */
#if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE)
-diff --git a/include/sound/memalloc.h b/include/sound/memalloc.h
-index 653dfffb3ac8..8d79cebf95f3 100644
---- a/include/sound/memalloc.h
-+++ b/include/sound/memalloc.h
-@@ -51,6 +51,11 @@ struct snd_dma_device {
- #define SNDRV_DMA_TYPE_DEV_SG SNDRV_DMA_TYPE_DEV /* no SG-buf support */
- #define SNDRV_DMA_TYPE_DEV_WC_SG SNDRV_DMA_TYPE_DEV_WC
- #endif
-+/* fallback types, don't use those directly */
-+#ifdef CONFIG_SND_DMA_SGBUF
-+#define SNDRV_DMA_TYPE_DEV_SG_FALLBACK 10
-+#define SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK 11
-+#endif
-
- /*
- * info for buffer allocation
diff --git a/init/Kconfig b/init/Kconfig
index e9119bf54b1f..e3b57b4898fe 100644
--- a/init/Kconfig
@@ -2076,154 +2035,3 @@ index b7cf5cbfdc67..3cde9062fcf6 100644
#ifdef CONFIG_PERF_EVENTS
int security_perf_event_open(struct perf_event_attr *attr, int type)
{
-diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c
-index 6fd763d4d15b..15dc7160ba34 100644
---- a/sound/core/memalloc.c
-+++ b/sound/core/memalloc.c
-@@ -499,6 +499,10 @@ static const struct snd_malloc_ops snd_dma_wc_ops = {
- };
- #endif /* CONFIG_X86 */
-
-+#ifdef CONFIG_SND_DMA_SGBUF
-+static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size);
-+#endif
-+
- /*
- * Non-contiguous pages allocator
- */
-@@ -509,8 +513,18 @@ static void *snd_dma_noncontig_alloc(struct snd_dma_buffer *dmab, size_t size)
-
- sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir,
- DEFAULT_GFP, 0);
-- if (!sgt)
-+ if (!sgt) {
-+#ifdef CONFIG_SND_DMA_SGBUF
-+ if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG)
-+ dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK;
-+ else
-+ dmab->dev.type = SNDRV_DMA_TYPE_DEV_SG_FALLBACK;
-+ return snd_dma_sg_fallback_alloc(dmab, size);
-+#else
- return NULL;
-+#endif
-+ }
-+
- dmab->dev.need_sync = dma_need_sync(dmab->dev.dev,
- sg_dma_address(sgt->sgl));
- p = dma_vmap_noncontiguous(dmab->dev.dev, size, sgt);
-@@ -633,6 +647,8 @@ static void *snd_dma_sg_wc_alloc(struct snd_dma_buffer *dmab, size_t size)
-
- if (!p)
- return NULL;
-+ if (dmab->dev.type != SNDRV_DMA_TYPE_DEV_WC_SG)
-+ return p;
- for_each_sgtable_page(sgt, &iter, 0)
- set_memory_wc(sg_wc_address(&iter), 1);
- return p;
-@@ -665,6 +681,95 @@ static const struct snd_malloc_ops snd_dma_sg_wc_ops = {
- .get_page = snd_dma_noncontig_get_page,
- .get_chunk_size = snd_dma_noncontig_get_chunk_size,
- };
-+
-+/* Fallback SG-buffer allocations for x86 */
-+struct snd_dma_sg_fallback {
-+ size_t count;
-+ struct page **pages;
-+ dma_addr_t *addrs;
-+};
-+
-+static void __snd_dma_sg_fallback_free(struct snd_dma_buffer *dmab,
-+ struct snd_dma_sg_fallback *sgbuf)
-+{
-+ size_t i;
-+
-+ if (sgbuf->count && dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK)
-+ set_pages_array_wb(sgbuf->pages, sgbuf->count);
-+ for (i = 0; i < sgbuf->count && sgbuf->pages[i]; i++)
-+ dma_free_coherent(dmab->dev.dev, PAGE_SIZE,
-+ page_address(sgbuf->pages[i]),
-+ sgbuf->addrs[i]);
-+ kvfree(sgbuf->pages);
-+ kvfree(sgbuf->addrs);
-+ kfree(sgbuf);
-+}
-+
-+static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size)
-+{
-+ struct snd_dma_sg_fallback *sgbuf;
-+ struct page **pages;
-+ size_t i, count;
-+ void *p;
-+
-+ sgbuf = kzalloc(sizeof(*sgbuf), GFP_KERNEL);
-+ if (!sgbuf)
-+ return NULL;
-+ count = PAGE_ALIGN(size) >> PAGE_SHIFT;
-+ pages = kvcalloc(count, sizeof(*pages), GFP_KERNEL);
-+ if (!pages)
-+ goto error;
-+ sgbuf->pages = pages;
-+ sgbuf->addrs = kvcalloc(count, sizeof(*sgbuf->addrs), GFP_KERNEL);
-+ if (!sgbuf->addrs)
-+ goto error;
-+
-+ for (i = 0; i < count; sgbuf->count++, i++) {
-+ p = dma_alloc_coherent(dmab->dev.dev, PAGE_SIZE,
-+ &sgbuf->addrs[i], DEFAULT_GFP);
-+ if (!p)
-+ goto error;
-+ sgbuf->pages[i] = virt_to_page(p);
-+ }
-+
-+ if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK)
-+ set_pages_array_wc(pages, count);
-+ p = vmap(pages, count, VM_MAP, PAGE_KERNEL);
-+ if (!p)
-+ goto error;
-+ dmab->private_data = sgbuf;
-+ return p;
-+
-+ error:
-+ __snd_dma_sg_fallback_free(dmab, sgbuf);
-+ return NULL;
-+}
-+
-+static void snd_dma_sg_fallback_free(struct snd_dma_buffer *dmab)
-+{
-+ vunmap(dmab->area);
-+ __snd_dma_sg_fallback_free(dmab, dmab->private_data);
-+}
-+
-+static int snd_dma_sg_fallback_mmap(struct snd_dma_buffer *dmab,
-+ struct vm_area_struct *area)
-+{
-+ struct snd_dma_sg_fallback *sgbuf = dmab->private_data;
-+
-+ if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK)
-+ area->vm_page_prot = pgprot_writecombine(area->vm_page_prot);
-+ return vm_map_pages(area, sgbuf->pages, sgbuf->count);
-+}
-+
-+static const struct snd_malloc_ops snd_dma_sg_fallback_ops = {
-+ .alloc = snd_dma_sg_fallback_alloc,
-+ .free = snd_dma_sg_fallback_free,
-+ .mmap = snd_dma_sg_fallback_mmap,
-+ /* reuse vmalloc helpers */
-+ .get_addr = snd_dma_vmalloc_get_addr,
-+ .get_page = snd_dma_vmalloc_get_page,
-+ .get_chunk_size = snd_dma_vmalloc_get_chunk_size,
-+};
- #endif /* CONFIG_SND_DMA_SGBUF */
-
- /*
-@@ -736,6 +841,10 @@ static const struct snd_malloc_ops *dma_ops[] = {
- #ifdef CONFIG_GENERIC_ALLOCATOR
- [SNDRV_DMA_TYPE_DEV_IRAM] = &snd_dma_iram_ops,
- #endif /* CONFIG_GENERIC_ALLOCATOR */
-+#ifdef CONFIG_SND_DMA_SGBUF
-+ [SNDRV_DMA_TYPE_DEV_SG_FALLBACK] = &snd_dma_sg_fallback_ops,
-+ [SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK] = &snd_dma_sg_fallback_ops,
-+#endif
- #endif /* CONFIG_HAS_DMA */
- };
-
diff --git a/sources b/sources
index e172f4b98..dd3fe1104 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (linux-5.17.3.tar.xz) = 94cf35f451ee0d17a36f4d45e99a284e13951f70449f69789b453fc3a053a474519fca3bed0ee84da203b1a9baabb26e7e663034c355f2293fc7704b9b95b23d
-SHA512 (kernel-abi-stablelists-5.17.3-302.tar.bz2) = 7205c3340a1788f6dca4f3d07660cc0d6b532887e77519eaf80defba48d2841c19f7816307f4487f89f4e4823393e9c2e0cb030cebf2a444ad84976a56bd4ae1
-SHA512 (kernel-kabi-dw-5.17.3-302.tar.bz2) = ecf167b10b6d039e1714eb51b175faf48a151c94f716749597d86c93c392cadf9b06694df8a16e186d28ce03b3642ddb0cde13cfe4af826a1a868bc3f069c111
+SHA512 (linux-5.17.4.tar.xz) = cc04ca4e1b925f7ee4ae7513e3ddaf848021a5ee5f7e39e96450f30dc4ba19891d8eed014e5467bf85f35bb3495297291685ee7a6e93d8f66aa7b1e617d610eb
+SHA512 (kernel-abi-stablelists-5.17.4-300.tar.bz2) = 7db9cbac440599e6e04f59f88a139529cafb1804f3b94644593e16244bdbe1b5f9ece90a2ff5bf15b31f1cf657b95482a9bb2f0b1a686872850cb3f48efa3a72
+SHA512 (kernel-kabi-dw-5.17.4-300.tar.bz2) = f89906fae867bef6df9806bd098311c02d373c7930439c205f684140eeb6e32d5e0b3ba450784414c9c34960d933953c1805fcc3dc52716c2f8a2c1325f4baa8