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>
This commit is contained in:
parent
811d2ec22a
commit
b8e4d45cce
17
kernel.spec
17
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]
|
||||
|
|
|
@ -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 */
|
||||
};
|
||||
|
||||
|
|
6
sources
6
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
|
||||
|
|
Loading…
Reference in New Issue