From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Jingbo Xu <jefflexu@linux.alibaba.com>,
Gao Xiang <hsiangkao@linux.alibaba.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 7.1 084/438] erofs: remove fscache backend entirely
Date: Fri, 7 Aug 2026 16:34:40 +0200 [thread overview]
Message-ID: <20260807143429.773660398@linuxfoundation.org> (raw)
In-Reply-To: <20260807143428.008222056@linuxfoundation.org>
7.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Gao Xiang <hsiangkao@linux.alibaba.com>
[ Upstream commit c37460cd9b2fcb61ec66b7eb4fde737e65ec2a56 ]
EROFS over fscache was introduced to provide image lazy pulling
functionality. After the feature landed, the fscache subsystem made
netfs a new hard dependency, which is unexpected for a local filesystem
and has an kernel-defined caching hierarchy which could be inflexible
compared to the fanotify pre-content hooks. Therefore, this feature has
been deprecated for almost two years.
As EROFS file-backed mounts and fanotify pre-content hooks both upstream
for a while and already providing equivalent functionality (erofs-utils
has supported fanotify pre-content hooks), let's remove the fscache
backend now.
The main application of this feature is Nydus [1], and they plan to move
to use fanotify pre-content hooks in the near future too.
I hope this patch can be merged into Linux 7.2, which is also motivated
by newly found implementation issues [2][3] that are not worth
investigating given the deprecation and limited development resources.
The associated fscache/cachefiles cleanup patch will follow separately
through the vfs tree (netfs) later: it seems fine since the codebase is
isolated by CONFIG_CACHEFILES_ONDEMAND.
[1] https://github.com/dragonflyoss/nydus/blob/v2.1.0/docs/nydus-fscache.md
[2] https://github.com/dragonflyoss/nydus/pull/1824
[3] https://lore.kernel.org/r/20260619135800.1594811-1-michael.bommarito@gmail.com
Acked-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Stable-dep-of: 96b2dbbe58a1 ("erofs: ensure valid f_path for page cache sharing")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
Documentation/filesystems/erofs.rst | 9 +-
fs/erofs/Kconfig | 21 +-
fs/erofs/Makefile | 1 -
fs/erofs/data.c | 4 +-
fs/erofs/fscache.c | 664 ----------------------------
fs/erofs/inode.c | 2 +-
fs/erofs/internal.h | 70 +--
fs/erofs/ishare.c | 2 +-
fs/erofs/super.c | 94 +---
fs/erofs/zdata.c | 6 -
10 files changed, 26 insertions(+), 847 deletions(-)
delete mode 100644 fs/erofs/fscache.c
diff --git a/Documentation/filesystems/erofs.rst b/Documentation/filesystems/erofs.rst
index fe06308e546c1..4a82e1e31e5fa 100644
--- a/Documentation/filesystems/erofs.rst
+++ b/Documentation/filesystems/erofs.rst
@@ -127,12 +127,9 @@ dax A legacy option which is an alias for ``dax=always``.
device=%s Specify a path to an extra device to be used together.
directio (For file-backed mounts) Use direct I/O to access backing
files, and asynchronous I/O will be enabled if supported.
-fsid=%s Specify a filesystem image ID for Fscache back-end.
-domain_id=%s Specify a trusted domain ID for fscache mode so that
- different images with the same blobs, identified by blob IDs,
- can share storage within the same trusted domain.
- Also used for different filesystems with inode page sharing
- enabled to share page cache within the trusted domain.
+domain_id=%s Specify a trusted domain ID. Filesystems sharing the same
+ domain ID can share page cache across mounts when inode
+ page sharing is enabled. (not shown in mountinfo output)
fsoffset=%llu Specify block-aligned filesystem offset for the primary device.
inode_share Enable inode page sharing for this filesystem. Inodes with
identical content within the same domain ID can share the
diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
index 97c48ebe84584..4789b1077d8ce 100644
--- a/fs/erofs/Kconfig
+++ b/fs/erofs/Kconfig
@@ -3,13 +3,11 @@
config EROFS_FS
tristate "EROFS filesystem support"
depends on BLOCK
- select CACHEFILES if EROFS_FS_ONDEMAND
select CRC32
select CRYPTO if EROFS_FS_ZIP_ACCEL
select CRYPTO_DEFLATE if EROFS_FS_ZIP_ACCEL
select FS_IOMAP
select LZ4_DECOMPRESS if EROFS_FS_ZIP
- select NETFS_SUPPORT if EROFS_FS_ONDEMAND
select XXHASH if EROFS_FS_XATTR
select XZ_DEC if EROFS_FS_ZIP_LZMA
select XZ_DEC_MICROLZMA if EROFS_FS_ZIP_LZMA
@@ -109,9 +107,6 @@ config EROFS_FS_BACKED_BY_FILE
be used to simplify error-prone lifetime management of unnecessary
virtual block devices.
- Note that this feature, along with ongoing fanotify pre-content
- hooks, will eventually replace "EROFS over fscache."
-
If you don't want to enable this feature, say N.
config EROFS_FS_ZIP
@@ -172,20 +167,6 @@ config EROFS_FS_ZIP_ACCEL
If unsure, say N.
-config EROFS_FS_ONDEMAND
- bool "EROFS fscache-based on-demand read support (deprecated)"
- depends on EROFS_FS
- select FSCACHE
- select CACHEFILES_ONDEMAND
- help
- This permits EROFS to use fscache-backed data blobs with on-demand
- read support.
-
- It is now deprecated and scheduled to be removed from the kernel
- after fanotify pre-content hooks are landed.
-
- If unsure, say N.
-
config EROFS_FS_PCPU_KTHREAD
bool "EROFS per-cpu decompression kthread workers"
depends on EROFS_FS_ZIP
@@ -207,7 +188,7 @@ config EROFS_FS_PCPU_KTHREAD_HIPRI
config EROFS_FS_PAGE_CACHE_SHARE
bool "EROFS page cache share support (experimental)"
- depends on EROFS_FS && EROFS_FS_XATTR && !EROFS_FS_ONDEMAND
+ depends on EROFS_FS && EROFS_FS_XATTR
help
This enables page cache sharing among inodes with identical
content fingerprints on the same machine.
diff --git a/fs/erofs/Makefile b/fs/erofs/Makefile
index a80e1762b6079..30423496786fe 100644
--- a/fs/erofs/Makefile
+++ b/fs/erofs/Makefile
@@ -9,5 +9,4 @@ erofs-$(CONFIG_EROFS_FS_ZIP_DEFLATE) += decompressor_deflate.o
erofs-$(CONFIG_EROFS_FS_ZIP_ZSTD) += decompressor_zstd.o
erofs-$(CONFIG_EROFS_FS_ZIP_ACCEL) += decompressor_crypto.o
erofs-$(CONFIG_EROFS_FS_BACKED_BY_FILE) += fileio.o
-erofs-$(CONFIG_EROFS_FS_ONDEMAND) += fscache.o
erofs-$(CONFIG_EROFS_FS_PAGE_CACHE_SHARE) += ishare.o
diff --git a/fs/erofs/data.c b/fs/erofs/data.c
index 44da21c9d7776..af846bab1368c 100644
--- a/fs/erofs/data.c
+++ b/fs/erofs/data.c
@@ -80,9 +80,7 @@ int erofs_init_metabuf(struct erofs_buf *buf, struct super_block *sb,
if (erofs_is_fileio_mode(sbi)) {
buf->file = sbi->dif0.file; /* some fs like FUSE needs it */
buf->mapping = buf->file->f_mapping;
- } else if (erofs_is_fscache_mode(sb))
- buf->mapping = sbi->dif0.fscache->inode->i_mapping;
- else
+ } else
buf->mapping = sb->s_bdev->bd_mapping;
return 0;
}
diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c
deleted file mode 100644
index 685c68774379b..0000000000000
--- a/fs/erofs/fscache.c
+++ /dev/null
@@ -1,664 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * Copyright (C) 2022, Alibaba Cloud
- * Copyright (C) 2022, Bytedance Inc. All rights reserved.
- */
-#include <linux/fscache.h>
-#include "internal.h"
-
-static DEFINE_MUTEX(erofs_domain_list_lock);
-static DEFINE_MUTEX(erofs_domain_cookies_lock);
-static LIST_HEAD(erofs_domain_list);
-static LIST_HEAD(erofs_domain_cookies_list);
-static struct vfsmount *erofs_pseudo_mnt;
-
-struct erofs_fscache_io {
- struct netfs_cache_resources cres;
- struct iov_iter iter;
- netfs_io_terminated_t end_io;
- void *private;
- refcount_t ref;
-};
-
-struct erofs_fscache_rq {
- struct address_space *mapping; /* The mapping being accessed */
- loff_t start; /* Start position */
- size_t len; /* Length of the request */
- size_t submitted; /* Length of submitted */
- short error; /* 0 or error that occurred */
- refcount_t ref;
-};
-
-static bool erofs_fscache_io_put(struct erofs_fscache_io *io)
-{
- if (!refcount_dec_and_test(&io->ref))
- return false;
- if (io->cres.ops)
- io->cres.ops->end_operation(&io->cres);
- kfree(io);
- return true;
-}
-
-static void erofs_fscache_req_complete(struct erofs_fscache_rq *req)
-{
- struct folio *folio;
- bool failed = req->error;
- pgoff_t start_page = req->start / PAGE_SIZE;
- pgoff_t last_page = ((req->start + req->len) / PAGE_SIZE) - 1;
-
- XA_STATE(xas, &req->mapping->i_pages, start_page);
-
- rcu_read_lock();
- xas_for_each(&xas, folio, last_page) {
- if (xas_retry(&xas, folio))
- continue;
- if (!failed)
- folio_mark_uptodate(folio);
- folio_unlock(folio);
- }
- rcu_read_unlock();
-}
-
-static void erofs_fscache_req_put(struct erofs_fscache_rq *req)
-{
- if (!refcount_dec_and_test(&req->ref))
- return;
- erofs_fscache_req_complete(req);
- kfree(req);
-}
-
-static struct erofs_fscache_rq *erofs_fscache_req_alloc(struct address_space *mapping,
- loff_t start, size_t len)
-{
- struct erofs_fscache_rq *req = kzalloc_obj(*req);
-
- if (!req)
- return NULL;
- req->mapping = mapping;
- req->start = start;
- req->len = len;
- refcount_set(&req->ref, 1);
- return req;
-}
-
-static void erofs_fscache_req_io_put(struct erofs_fscache_io *io)
-{
- struct erofs_fscache_rq *req = io->private;
-
- if (erofs_fscache_io_put(io))
- erofs_fscache_req_put(req);
-}
-
-static void erofs_fscache_req_end_io(void *priv, ssize_t transferred_or_error)
-{
- struct erofs_fscache_io *io = priv;
- struct erofs_fscache_rq *req = io->private;
-
- if (IS_ERR_VALUE(transferred_or_error))
- req->error = transferred_or_error;
- erofs_fscache_req_io_put(io);
-}
-
-static struct erofs_fscache_io *erofs_fscache_req_io_alloc(struct erofs_fscache_rq *req)
-{
- struct erofs_fscache_io *io = kzalloc_obj(*io);
-
- if (!io)
- return NULL;
- io->end_io = erofs_fscache_req_end_io;
- io->private = req;
- refcount_inc(&req->ref);
- refcount_set(&io->ref, 1);
- return io;
-}
-
-/*
- * Read data from fscache described by cookie at pstart physical address
- * offset, and fill the read data into buffer described by io->iter.
- */
-static int erofs_fscache_read_io_async(struct fscache_cookie *cookie,
- loff_t pstart, struct erofs_fscache_io *io)
-{
- enum netfs_io_source source;
- struct netfs_cache_resources *cres = &io->cres;
- struct iov_iter *iter = &io->iter;
- int ret;
-
- ret = fscache_begin_read_operation(cres, cookie);
- if (ret)
- return ret;
-
- while (iov_iter_count(iter)) {
- size_t orig_count = iov_iter_count(iter), len = orig_count;
- unsigned long flags = 1 << NETFS_SREQ_ONDEMAND;
-
- source = cres->ops->prepare_ondemand_read(cres,
- pstart, &len, LLONG_MAX, &flags, 0);
- if (WARN_ON(len == 0))
- source = NETFS_INVALID_READ;
- if (source != NETFS_READ_FROM_CACHE) {
- erofs_err(NULL, "prepare_ondemand_read failed (source %d)", source);
- return -EIO;
- }
-
- iov_iter_truncate(iter, len);
- refcount_inc(&io->ref);
- ret = fscache_read(cres, pstart, iter, NETFS_READ_HOLE_FAIL,
- io->end_io, io);
- if (ret == -EIOCBQUEUED)
- ret = 0;
- if (ret) {
- erofs_err(NULL, "fscache_read failed (ret %d)", ret);
- return ret;
- }
- if (WARN_ON(iov_iter_count(iter)))
- return -EIO;
-
- iov_iter_reexpand(iter, orig_count - len);
- pstart += len;
- }
- return 0;
-}
-
-struct erofs_fscache_bio {
- struct erofs_fscache_io io;
- struct bio bio; /* w/o bdev to share bio_add_page/endio() */
- struct bio_vec bvecs[BIO_MAX_VECS];
-};
-
-static void erofs_fscache_bio_endio(void *priv, ssize_t transferred_or_error)
-{
- struct erofs_fscache_bio *io = priv;
-
- if (IS_ERR_VALUE(transferred_or_error))
- io->bio.bi_status = errno_to_blk_status(transferred_or_error);
- bio_endio(&io->bio);
- BUILD_BUG_ON(offsetof(struct erofs_fscache_bio, io) != 0);
- erofs_fscache_io_put(&io->io);
-}
-
-struct bio *erofs_fscache_bio_alloc(struct erofs_map_dev *mdev)
-{
- struct erofs_fscache_bio *io;
-
- io = kmalloc_obj(*io, GFP_KERNEL | __GFP_NOFAIL);
- bio_init(&io->bio, NULL, io->bvecs, BIO_MAX_VECS, REQ_OP_READ);
- io->io.private = mdev->m_dif->fscache->cookie;
- io->io.end_io = erofs_fscache_bio_endio;
- refcount_set(&io->io.ref, 1);
- return &io->bio;
-}
-
-void erofs_fscache_submit_bio(struct bio *bio)
-{
- struct erofs_fscache_bio *io = container_of(bio,
- struct erofs_fscache_bio, bio);
- int ret;
-
- iov_iter_bvec(&io->io.iter, ITER_DEST, io->bvecs, bio->bi_vcnt,
- bio->bi_iter.bi_size);
- ret = erofs_fscache_read_io_async(io->io.private,
- bio->bi_iter.bi_sector << 9, &io->io);
- erofs_fscache_io_put(&io->io);
- if (!ret)
- return;
- bio->bi_status = errno_to_blk_status(ret);
- bio_endio(bio);
-}
-
-static int erofs_fscache_meta_read_folio(struct file *data, struct folio *folio)
-{
- struct erofs_fscache *ctx = folio->mapping->host->i_private;
- int ret = -ENOMEM;
- struct erofs_fscache_rq *req;
- struct erofs_fscache_io *io;
-
- req = erofs_fscache_req_alloc(folio->mapping,
- folio_pos(folio), folio_size(folio));
- if (!req) {
- folio_unlock(folio);
- return ret;
- }
-
- io = erofs_fscache_req_io_alloc(req);
- if (!io) {
- req->error = ret;
- goto out;
- }
- iov_iter_xarray(&io->iter, ITER_DEST, &folio->mapping->i_pages,
- folio_pos(folio), folio_size(folio));
-
- ret = erofs_fscache_read_io_async(ctx->cookie, folio_pos(folio), io);
- if (ret)
- req->error = ret;
-
- erofs_fscache_req_io_put(io);
-out:
- erofs_fscache_req_put(req);
- return ret;
-}
-
-static int erofs_fscache_data_read_slice(struct erofs_fscache_rq *req)
-{
- struct address_space *mapping = req->mapping;
- struct inode *inode = mapping->host;
- struct super_block *sb = inode->i_sb;
- struct erofs_fscache_io *io;
- struct erofs_map_blocks map;
- struct erofs_map_dev mdev;
- loff_t pos = req->start + req->submitted;
- size_t count;
- int ret;
-
- map.m_la = pos;
- ret = erofs_map_blocks(inode, &map);
- if (ret)
- return ret;
-
- if (map.m_flags & EROFS_MAP_META) {
- struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
- struct iov_iter iter;
- size_t size = map.m_llen;
- void *src;
-
- src = erofs_read_metabuf(&buf, sb, map.m_pa,
- erofs_inode_in_metabox(inode));
- if (IS_ERR(src))
- return PTR_ERR(src);
-
- iov_iter_xarray(&iter, ITER_DEST, &mapping->i_pages, pos, PAGE_SIZE);
- if (copy_to_iter(src, size, &iter) != size) {
- erofs_put_metabuf(&buf);
- return -EFAULT;
- }
- iov_iter_zero(PAGE_SIZE - size, &iter);
- erofs_put_metabuf(&buf);
- req->submitted += PAGE_SIZE;
- return 0;
- }
-
- count = req->len - req->submitted;
- if (!(map.m_flags & EROFS_MAP_MAPPED)) {
- struct iov_iter iter;
-
- iov_iter_xarray(&iter, ITER_DEST, &mapping->i_pages, pos, count);
- iov_iter_zero(count, &iter);
- req->submitted += count;
- return 0;
- }
-
- count = min_t(size_t, map.m_llen - (pos - map.m_la), count);
- DBG_BUGON(!count || count % PAGE_SIZE);
-
- mdev = (struct erofs_map_dev) {
- .m_deviceid = map.m_deviceid,
- .m_pa = map.m_pa,
- };
- ret = erofs_map_dev(sb, &mdev);
- if (ret)
- return ret;
-
- io = erofs_fscache_req_io_alloc(req);
- if (!io)
- return -ENOMEM;
- iov_iter_xarray(&io->iter, ITER_DEST, &mapping->i_pages, pos, count);
- ret = erofs_fscache_read_io_async(mdev.m_dif->fscache->cookie,
- mdev.m_pa + (pos - map.m_la), io);
- erofs_fscache_req_io_put(io);
-
- req->submitted += count;
- return ret;
-}
-
-static int erofs_fscache_data_read(struct erofs_fscache_rq *req)
-{
- int ret;
-
- do {
- ret = erofs_fscache_data_read_slice(req);
- if (ret)
- req->error = ret;
- } while (!ret && req->submitted < req->len);
- return ret;
-}
-
-static int erofs_fscache_read_folio(struct file *file, struct folio *folio)
-{
- struct erofs_fscache_rq *req;
- int ret;
-
- req = erofs_fscache_req_alloc(folio->mapping,
- folio_pos(folio), folio_size(folio));
- if (!req) {
- folio_unlock(folio);
- return -ENOMEM;
- }
-
- ret = erofs_fscache_data_read(req);
- erofs_fscache_req_put(req);
- return ret;
-}
-
-static void erofs_fscache_readahead(struct readahead_control *rac)
-{
- struct erofs_fscache_rq *req;
-
- if (!readahead_count(rac))
- return;
-
- req = erofs_fscache_req_alloc(rac->mapping,
- readahead_pos(rac), readahead_length(rac));
- if (!req)
- return;
-
- /* The request completion will drop refs on the folios. */
- while (readahead_folio(rac))
- ;
-
- erofs_fscache_data_read(req);
- erofs_fscache_req_put(req);
-}
-
-static const struct address_space_operations erofs_fscache_meta_aops = {
- .read_folio = erofs_fscache_meta_read_folio,
-};
-
-const struct address_space_operations erofs_fscache_access_aops = {
- .read_folio = erofs_fscache_read_folio,
- .readahead = erofs_fscache_readahead,
-};
-
-static void erofs_fscache_domain_put(struct erofs_domain *domain)
-{
- mutex_lock(&erofs_domain_list_lock);
- if (refcount_dec_and_test(&domain->ref)) {
- list_del(&domain->list);
- if (list_empty(&erofs_domain_list)) {
- kern_unmount(erofs_pseudo_mnt);
- erofs_pseudo_mnt = NULL;
- }
- fscache_relinquish_volume(domain->volume, NULL, false);
- mutex_unlock(&erofs_domain_list_lock);
- kfree_sensitive(domain->domain_id);
- kfree(domain);
- return;
- }
- mutex_unlock(&erofs_domain_list_lock);
-}
-
-static int erofs_fscache_register_volume(struct super_block *sb)
-{
- struct erofs_sb_info *sbi = EROFS_SB(sb);
- char *domain_id = sbi->domain_id;
- struct fscache_volume *volume;
- char *name;
- int ret = 0;
-
- name = kasprintf(GFP_KERNEL, "erofs,%s",
- domain_id ? domain_id : sbi->fsid);
- if (!name)
- return -ENOMEM;
-
- volume = fscache_acquire_volume(name, NULL, NULL, 0);
- if (IS_ERR_OR_NULL(volume)) {
- erofs_err(sb, "failed to register volume for %s", name);
- ret = volume ? PTR_ERR(volume) : -EOPNOTSUPP;
- volume = NULL;
- }
-
- sbi->volume = volume;
- kfree(name);
- return ret;
-}
-
-static int erofs_fscache_init_domain(struct super_block *sb)
-{
- int err;
- struct erofs_domain *domain;
- struct erofs_sb_info *sbi = EROFS_SB(sb);
-
- domain = kzalloc_obj(struct erofs_domain);
- if (!domain)
- return -ENOMEM;
-
- domain->domain_id = kstrdup(sbi->domain_id, GFP_KERNEL);
- if (!domain->domain_id) {
- kfree(domain);
- return -ENOMEM;
- }
-
- err = erofs_fscache_register_volume(sb);
- if (err)
- goto out;
-
- if (!erofs_pseudo_mnt) {
- struct vfsmount *mnt = kern_mount(&erofs_anon_fs_type);
- if (IS_ERR(mnt)) {
- err = PTR_ERR(mnt);
- goto out;
- }
- erofs_pseudo_mnt = mnt;
- }
-
- domain->volume = sbi->volume;
- refcount_set(&domain->ref, 1);
- list_add(&domain->list, &erofs_domain_list);
- sbi->domain = domain;
- return 0;
-out:
- kfree_sensitive(domain->domain_id);
- kfree(domain);
- return err;
-}
-
-static int erofs_fscache_register_domain(struct super_block *sb)
-{
- int err;
- struct erofs_domain *domain;
- struct erofs_sb_info *sbi = EROFS_SB(sb);
-
- mutex_lock(&erofs_domain_list_lock);
- list_for_each_entry(domain, &erofs_domain_list, list) {
- if (!strcmp(domain->domain_id, sbi->domain_id)) {
- sbi->domain = domain;
- sbi->volume = domain->volume;
- refcount_inc(&domain->ref);
- mutex_unlock(&erofs_domain_list_lock);
- return 0;
- }
- }
- err = erofs_fscache_init_domain(sb);
- mutex_unlock(&erofs_domain_list_lock);
- return err;
-}
-
-static struct erofs_fscache *erofs_fscache_acquire_cookie(struct super_block *sb,
- char *name, unsigned int flags)
-{
- struct fscache_volume *volume = EROFS_SB(sb)->volume;
- struct erofs_fscache *ctx;
- struct fscache_cookie *cookie;
- struct super_block *isb;
- struct inode *inode;
- int ret;
-
- ctx = kzalloc_obj(*ctx);
- if (!ctx)
- return ERR_PTR(-ENOMEM);
- INIT_LIST_HEAD(&ctx->node);
- refcount_set(&ctx->ref, 1);
-
- cookie = fscache_acquire_cookie(volume, FSCACHE_ADV_WANT_CACHE_SIZE,
- name, strlen(name), NULL, 0, 0);
- if (!cookie) {
- erofs_err(sb, "failed to get cookie for %s", name);
- ret = -EINVAL;
- goto err;
- }
- fscache_use_cookie(cookie, false);
-
- /*
- * Allocate anonymous inode in global pseudo mount for shareable blobs,
- * so that they are accessible among erofs fs instances.
- */
- isb = flags & EROFS_REG_COOKIE_SHARE ? erofs_pseudo_mnt->mnt_sb : sb;
- inode = new_inode(isb);
- if (!inode) {
- erofs_err(sb, "failed to get anon inode for %s", name);
- ret = -ENOMEM;
- goto err_cookie;
- }
-
- inode->i_size = OFFSET_MAX;
- inode->i_mapping->a_ops = &erofs_fscache_meta_aops;
- mapping_set_gfp_mask(inode->i_mapping, GFP_KERNEL);
- inode->i_blkbits = EROFS_SB(sb)->blkszbits;
- inode->i_private = ctx;
-
- ctx->cookie = cookie;
- ctx->inode = inode;
- return ctx;
-
-err_cookie:
- fscache_unuse_cookie(cookie, NULL, NULL);
- fscache_relinquish_cookie(cookie, false);
-err:
- kfree(ctx);
- return ERR_PTR(ret);
-}
-
-static void erofs_fscache_relinquish_cookie(struct erofs_fscache *ctx)
-{
- fscache_unuse_cookie(ctx->cookie, NULL, NULL);
- fscache_relinquish_cookie(ctx->cookie, false);
- iput(ctx->inode);
- kfree(ctx->name);
- kfree(ctx);
-}
-
-static struct erofs_fscache *erofs_domain_init_cookie(struct super_block *sb,
- char *name, unsigned int flags)
-{
- struct erofs_fscache *ctx;
- struct erofs_domain *domain = EROFS_SB(sb)->domain;
-
- ctx = erofs_fscache_acquire_cookie(sb, name, flags);
- if (IS_ERR(ctx))
- return ctx;
-
- ctx->name = kstrdup(name, GFP_KERNEL);
- if (!ctx->name) {
- erofs_fscache_relinquish_cookie(ctx);
- return ERR_PTR(-ENOMEM);
- }
-
- refcount_inc(&domain->ref);
- ctx->domain = domain;
- list_add(&ctx->node, &erofs_domain_cookies_list);
- return ctx;
-}
-
-static struct erofs_fscache *erofs_domain_register_cookie(struct super_block *sb,
- char *name, unsigned int flags)
-{
- struct erofs_fscache *ctx;
- struct erofs_domain *domain = EROFS_SB(sb)->domain;
-
- flags |= EROFS_REG_COOKIE_SHARE;
- mutex_lock(&erofs_domain_cookies_lock);
- list_for_each_entry(ctx, &erofs_domain_cookies_list, node) {
- if (ctx->domain != domain || strcmp(ctx->name, name))
- continue;
- if (!(flags & EROFS_REG_COOKIE_NEED_NOEXIST)) {
- refcount_inc(&ctx->ref);
- } else {
- erofs_err(sb, "%s already exists in domain %s", name,
- domain->domain_id);
- ctx = ERR_PTR(-EEXIST);
- }
- mutex_unlock(&erofs_domain_cookies_lock);
- return ctx;
- }
- ctx = erofs_domain_init_cookie(sb, name, flags);
- mutex_unlock(&erofs_domain_cookies_lock);
- return ctx;
-}
-
-struct erofs_fscache *erofs_fscache_register_cookie(struct super_block *sb,
- char *name,
- unsigned int flags)
-{
- if (EROFS_SB(sb)->domain_id)
- return erofs_domain_register_cookie(sb, name, flags);
- return erofs_fscache_acquire_cookie(sb, name, flags);
-}
-
-void erofs_fscache_unregister_cookie(struct erofs_fscache *ctx)
-{
- struct erofs_domain *domain = NULL;
-
- if (!ctx)
- return;
- if (!ctx->domain)
- return erofs_fscache_relinquish_cookie(ctx);
-
- mutex_lock(&erofs_domain_cookies_lock);
- if (refcount_dec_and_test(&ctx->ref)) {
- domain = ctx->domain;
- list_del(&ctx->node);
- erofs_fscache_relinquish_cookie(ctx);
- }
- mutex_unlock(&erofs_domain_cookies_lock);
- if (domain)
- erofs_fscache_domain_put(domain);
-}
-
-int erofs_fscache_register_fs(struct super_block *sb)
-{
- int ret;
- struct erofs_sb_info *sbi = EROFS_SB(sb);
- struct erofs_fscache *fscache;
- unsigned int flags = 0;
-
- if (sbi->domain_id)
- ret = erofs_fscache_register_domain(sb);
- else
- ret = erofs_fscache_register_volume(sb);
- if (ret)
- return ret;
-
- /*
- * When shared domain is enabled, using NEED_NOEXIST to guarantee
- * the primary data blob (aka fsid) is unique in the shared domain.
- *
- * For non-shared-domain case, fscache_acquire_volume() invoked by
- * erofs_fscache_register_volume() has already guaranteed
- * the uniqueness of primary data blob.
- *
- * Acquired domain/volume will be relinquished in kill_sb() on error.
- */
- if (sbi->domain_id)
- flags |= EROFS_REG_COOKIE_NEED_NOEXIST;
- fscache = erofs_fscache_register_cookie(sb, sbi->fsid, flags);
- if (IS_ERR(fscache))
- return PTR_ERR(fscache);
-
- sbi->dif0.fscache = fscache;
- return 0;
-}
-
-void erofs_fscache_unregister_fs(struct super_block *sb)
-{
- struct erofs_sb_info *sbi = EROFS_SB(sb);
-
- erofs_fscache_unregister_cookie(sbi->dif0.fscache);
-
- if (sbi->domain)
- erofs_fscache_domain_put(sbi->domain);
- else
- fscache_relinquish_volume(sbi->volume, NULL, false);
-
- sbi->dif0.fscache = NULL;
- sbi->volume = NULL;
- sbi->domain = NULL;
-}
diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index e0c47da4f09e0..45afe5c50de83 100644
--- a/fs/erofs/inode.c
+++ b/fs/erofs/inode.c
@@ -256,7 +256,7 @@ static int erofs_fill_inode(struct inode *inode)
}
mapping_set_large_folios(inode->i_mapping);
- aops = erofs_get_aops(inode, false);
+ aops = erofs_get_aops(inode);
if (IS_ERR(aops))
return PTR_ERR(aops);
inode->i_mapping->a_ops = aops;
diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
index 9e2ae7b619773..580f8d9f14e7f 100644
--- a/fs/erofs/internal.h
+++ b/fs/erofs/internal.h
@@ -43,7 +43,6 @@ typedef u64 erofs_blk_t;
struct erofs_device_info {
char *path;
- struct erofs_fscache *fscache;
struct file *file;
struct dax_device *dax_dev;
u64 fsoff, dax_part_off;
@@ -80,24 +79,6 @@ struct erofs_sb_lz4_info {
u16 max_pclusterblks;
};
-struct erofs_domain {
- refcount_t ref;
- struct list_head list;
- struct fscache_volume *volume;
- char *domain_id;
-};
-
-struct erofs_fscache {
- struct fscache_cookie *cookie;
- struct inode *inode; /* anonymous inode for the blob */
-
- /* used for share domain mode */
- struct erofs_domain *domain;
- struct list_head node;
- refcount_t ref;
- char *name;
-};
-
struct erofs_xattr_prefix_item {
struct erofs_xattr_long_prefix *prefix;
u8 infix_len;
@@ -162,10 +143,6 @@ struct erofs_sb_info {
struct completion s_kobj_unregister;
erofs_off_t dir_ra_bytes;
- /* fscache support */
- struct fscache_volume *volume;
- struct erofs_domain *domain;
- char *fsid;
char *domain_id;
};
@@ -191,12 +168,6 @@ static inline bool erofs_is_fileio_mode(struct erofs_sb_info *sbi)
extern struct file_system_type erofs_anon_fs_type;
-static inline bool erofs_is_fscache_mode(struct super_block *sb)
-{
- return IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) &&
- !erofs_is_fileio_mode(EROFS_SB(sb)) && !sb->s_bdev;
-}
-
enum {
EROFS_ZIP_CACHE_DISABLED,
EROFS_ZIP_CACHE_READAHEAD,
@@ -413,11 +384,9 @@ struct erofs_map_dev {
};
extern const struct super_operations erofs_sops;
-
extern const struct address_space_operations erofs_aops;
extern const struct address_space_operations erofs_fileio_aops;
extern const struct address_space_operations z_erofs_aops;
-extern const struct address_space_operations erofs_fscache_access_aops;
extern const struct inode_operations erofs_generic_iops;
extern const struct inode_operations erofs_symlink_iops;
@@ -430,10 +399,6 @@ extern const struct file_operations erofs_ishare_fops;
extern const struct iomap_ops z_erofs_iomap_report_ops;
-/* flags for erofs_fscache_register_cookie() */
-#define EROFS_REG_COOKIE_SHARE 0x0001
-#define EROFS_REG_COOKIE_NEED_NOEXIST 0x0002
-
void *erofs_read_metadata(struct super_block *sb, struct erofs_buf *buf,
erofs_off_t *offset, int *lengthp);
void erofs_unmap_metabuf(struct erofs_buf *buf);
@@ -473,7 +438,7 @@ static inline void *erofs_vm_map_ram(struct page **pages, unsigned int count)
}
static inline const struct address_space_operations *
-erofs_get_aops(struct inode *realinode, bool no_fscache)
+erofs_get_aops(struct inode *realinode)
{
if (erofs_inode_is_data_compressed(EROFS_I(realinode)->datalayout)) {
if (!IS_ENABLED(CONFIG_EROFS_FS_ZIP))
@@ -483,9 +448,6 @@ erofs_get_aops(struct inode *realinode, bool no_fscache)
"EXPERIMENTAL EROFS subpage compressed block support in use. Use at your own risk!");
return &z_erofs_aops;
}
- if (IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) && !no_fscache &&
- erofs_is_fscache_mode(realinode->i_sb))
- return &erofs_fscache_access_aops;
if (IS_ENABLED(CONFIG_EROFS_FS_BACKED_BY_FILE) &&
erofs_is_fileio_mode(EROFS_SB(realinode->i_sb)))
return &erofs_fileio_aops;
@@ -548,36 +510,6 @@ static inline struct bio *erofs_fileio_bio_alloc(struct erofs_map_dev *mdev) { r
static inline void erofs_fileio_submit_bio(struct bio *bio) {}
#endif
-#ifdef CONFIG_EROFS_FS_ONDEMAND
-int erofs_fscache_register_fs(struct super_block *sb);
-void erofs_fscache_unregister_fs(struct super_block *sb);
-
-struct erofs_fscache *erofs_fscache_register_cookie(struct super_block *sb,
- char *name, unsigned int flags);
-void erofs_fscache_unregister_cookie(struct erofs_fscache *fscache);
-struct bio *erofs_fscache_bio_alloc(struct erofs_map_dev *mdev);
-void erofs_fscache_submit_bio(struct bio *bio);
-#else
-static inline int erofs_fscache_register_fs(struct super_block *sb)
-{
- return -EOPNOTSUPP;
-}
-static inline void erofs_fscache_unregister_fs(struct super_block *sb) {}
-
-static inline
-struct erofs_fscache *erofs_fscache_register_cookie(struct super_block *sb,
- char *name, unsigned int flags)
-{
- return ERR_PTR(-EOPNOTSUPP);
-}
-
-static inline void erofs_fscache_unregister_cookie(struct erofs_fscache *fscache)
-{
-}
-static inline struct bio *erofs_fscache_bio_alloc(struct erofs_map_dev *mdev) { return NULL; }
-static inline void erofs_fscache_submit_bio(struct bio *bio) {}
-#endif
-
#ifdef CONFIG_EROFS_FS_PAGE_CACHE_SHARE
int __init erofs_init_ishare(void);
void erofs_exit_ishare(void);
diff --git a/fs/erofs/ishare.c b/fs/erofs/ishare.c
index 35cbd0bc04d7d..0868c12fc15b4 100644
--- a/fs/erofs/ishare.c
+++ b/fs/erofs/ishare.c
@@ -45,7 +45,7 @@ bool erofs_ishare_fill_inode(struct inode *inode)
struct erofs_inode_fingerprint fp;
struct inode *si;
- aops = erofs_get_aops(inode, true);
+ aops = erofs_get_aops(inode);
if (IS_ERR(aops))
return false;
if (erofs_xattr_fill_inode_fingerprint(&fp, inode, sbi->domain_id))
diff --git a/fs/erofs/super.c b/fs/erofs/super.c
index 579443e6acfeb..86fa5c6a0c708 100644
--- a/fs/erofs/super.c
+++ b/fs/erofs/super.c
@@ -126,7 +126,6 @@ static int erofs_init_device(struct erofs_buf *buf, struct super_block *sb,
struct erofs_device_info *dif, erofs_off_t *pos)
{
struct erofs_sb_info *sbi = EROFS_SB(sb);
- struct erofs_fscache *fscache;
struct erofs_deviceslot *dis;
struct file *file;
bool _48bit;
@@ -145,12 +144,7 @@ static int erofs_init_device(struct erofs_buf *buf, struct super_block *sb,
return -ENOMEM;
}
- if (erofs_is_fscache_mode(sb)) {
- fscache = erofs_fscache_register_cookie(sb, dif->path, 0);
- if (IS_ERR(fscache))
- return PTR_ERR(fscache);
- dif->fscache = fscache;
- } else if (!sbi->devs->flatdev) {
+ if (!sbi->devs->flatdev) {
file = erofs_is_fileio_mode(sbi) ?
filp_open(dif->path, O_RDONLY | O_LARGEFILE, 0) :
bdev_file_open_by_path(dif->path,
@@ -216,7 +210,7 @@ static int erofs_scan_devices(struct super_block *sb,
if (!ondisk_extradevs)
return 0;
- if (!sbi->devs->extra_devices && !erofs_is_fscache_mode(sb))
+ if (!sbi->devs->extra_devices)
sbi->devs->flatdev = true;
sbi->device_id_mask = roundup_pow_of_two(ondisk_extradevs + 1) - 1;
@@ -372,8 +366,6 @@ static int erofs_read_superblock(struct super_block *sb)
erofs_info(sb, "EXPERIMENTAL 48-bit layout support in use. Use at your own risk!");
if (erofs_sb_has_metabox(sbi))
erofs_info(sb, "EXPERIMENTAL metadata compression support in use. Use at your own risk!");
- if (erofs_is_fscache_mode(sb))
- erofs_info(sb, "[deprecated] fscache-based on-demand read feature in use. Use at your own risk!");
out:
erofs_put_metabuf(&buf);
return ret;
@@ -393,8 +385,7 @@ static void erofs_default_options(struct erofs_sb_info *sbi)
enum {
Opt_user_xattr, Opt_acl, Opt_cache_strategy, Opt_dax, Opt_dax_enum,
- Opt_device, Opt_fsid, Opt_domain_id, Opt_directio, Opt_fsoffset,
- Opt_inode_share,
+ Opt_device, Opt_domain_id, Opt_directio, Opt_fsoffset, Opt_inode_share,
};
static const struct constant_table erofs_param_cache_strategy[] = {
@@ -418,7 +409,6 @@ static const struct fs_parameter_spec erofs_fs_parameters[] = {
fsparam_flag("dax", Opt_dax),
fsparam_enum("dax", Opt_dax_enum, erofs_dax_param_enums),
fsparam_string("device", Opt_device),
- fsparam_string("fsid", Opt_fsid),
fsparam_string("domain_id", Opt_domain_id),
fsparam_flag_no("directio", Opt_directio),
fsparam_u64("fsoffset", Opt_fsoffset),
@@ -509,25 +499,14 @@ static int erofs_fc_parse_param(struct fs_context *fc,
}
++sbi->devs->extra_devices;
break;
-#ifdef CONFIG_EROFS_FS_ONDEMAND
- case Opt_fsid:
- kfree(sbi->fsid);
- sbi->fsid = kstrdup(param->string, GFP_KERNEL);
- if (!sbi->fsid)
- return -ENOMEM;
- break;
-#endif
-#if defined(CONFIG_EROFS_FS_ONDEMAND) || defined(CONFIG_EROFS_FS_PAGE_CACHE_SHARE)
case Opt_domain_id:
- kfree_sensitive(sbi->domain_id);
- sbi->domain_id = no_free_ptr(param->string);
- break;
-#else
- case Opt_fsid:
- case Opt_domain_id:
- errorfc(fc, "%s option not supported", erofs_fs_parameters[opt].name);
+ if (!IS_ENABLED(CONFIG_EROFS_FS_PAGE_CACHE_SHARE)) {
+ errorfc(fc, "%s option not supported", erofs_fs_parameters[opt].name);
+ } else {
+ kfree_sensitive(sbi->domain_id);
+ sbi->domain_id = no_free_ptr(param->string);
+ }
break;
-#endif
case Opt_directio:
if (!IS_ENABLED(CONFIG_EROFS_FS_BACKED_BY_FILE))
errorfc(fc, "%s option not supported", erofs_fs_parameters[opt].name);
@@ -620,12 +599,7 @@ static void erofs_set_sysfs_name(struct super_block *sb)
{
struct erofs_sb_info *sbi = EROFS_SB(sb);
- if (sbi->domain_id && sbi->fsid)
- super_set_sysfs_name_generic(sb, "%s,%s", sbi->domain_id,
- sbi->fsid);
- else if (sbi->fsid)
- super_set_sysfs_name_generic(sb, "%s", sbi->fsid);
- else if (erofs_is_fileio_mode(sbi))
+ if (erofs_is_fileio_mode(sbi))
super_set_sysfs_name_generic(sb, "%s",
bdi_dev_name(sb->s_bdi));
else
@@ -680,11 +654,6 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
sb->s_blocksize = PAGE_SIZE;
sb->s_blocksize_bits = PAGE_SHIFT;
- if (erofs_is_fscache_mode(sb)) {
- err = erofs_fscache_register_fs(sb);
- if (err)
- return err;
- }
err = super_setup_bdi(sb);
if (err)
return err;
@@ -703,11 +672,6 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
return err;
if (sb->s_blocksize_bits != sbi->blkszbits) {
- if (erofs_is_fscache_mode(sb)) {
- errorfc(fc, "unsupported blksize for fscache mode");
- return -EINVAL;
- }
-
if (erofs_is_fileio_mode(sbi)) {
sb->s_blocksize = 1 << sbi->blkszbits;
sb->s_blocksize_bits = sbi->blkszbits;
@@ -716,14 +680,9 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
return -EINVAL;
}
}
-
- if (sbi->dif0.fsoff) {
- if (sbi->dif0.fsoff & (sb->s_blocksize - 1))
- return invalfc(fc, "fsoffset %llu is not aligned to block size %lu",
- sbi->dif0.fsoff, sb->s_blocksize);
- if (erofs_is_fscache_mode(sb))
- return invalfc(fc, "cannot use fsoffset in fscache mode");
- }
+ if (sbi->dif0.fsoff & (sb->s_blocksize - 1))
+ return invalfc(fc, "fsoffset %llu is not aligned to block size %lu",
+ sbi->dif0.fsoff, sb->s_blocksize);
if (test_opt(&sbi->opt, DAX_ALWAYS) && sbi->blkszbits != PAGE_SHIFT) {
erofs_info(sb, "unsupported blocksize for DAX");
@@ -793,16 +752,13 @@ static int erofs_fc_fill_super(struct super_block *sb, struct fs_context *fc)
static int erofs_fc_get_tree(struct fs_context *fc)
{
- struct erofs_sb_info *sbi = fc->s_fs_info;
int ret;
- if (IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) && sbi->fsid)
- return get_tree_nodev(fc, erofs_fc_fill_super);
-
ret = get_tree_bdev_flags(fc, erofs_fc_fill_super,
IS_ENABLED(CONFIG_EROFS_FS_BACKED_BY_FILE) ?
GET_TREE_BDEV_QUIET_LOOKUP : 0);
if (IS_ENABLED(CONFIG_EROFS_FS_BACKED_BY_FILE) && ret == -ENOTBLK) {
+ struct erofs_sb_info *sbi = fc->s_fs_info;
struct file *file;
if (!fc->source)
@@ -827,8 +783,8 @@ static int erofs_fc_reconfigure(struct fs_context *fc)
DBG_BUGON(!sb_rdonly(sb));
- if (new_sbi->fsid || new_sbi->domain_id)
- erofs_info(sb, "ignoring reconfiguration for fsid|domain_id.");
+ if (new_sbi->domain_id)
+ erofs_info(sb, "ignoring reconfiguration for domain_id.");
if (test_opt(&new_sbi->opt, POSIX_ACL))
fc->sb_flags |= SB_POSIXACL;
@@ -848,8 +804,6 @@ static int erofs_release_device_info(int id, void *ptr, void *data)
fs_put_dax(dif->dax_dev, NULL);
if (dif->file)
fput(dif->file);
- erofs_fscache_unregister_cookie(dif->fscache);
- dif->fscache = NULL;
kfree(dif->path);
kfree(dif);
return 0;
@@ -867,7 +821,6 @@ static void erofs_free_dev_context(struct erofs_dev_context *devs)
static void erofs_sb_free(struct erofs_sb_info *sbi)
{
erofs_free_dev_context(sbi->devs);
- kfree(sbi->fsid);
kfree_sensitive(sbi->domain_id);
if (sbi->dif0.file)
fput(sbi->dif0.file);
@@ -928,14 +881,12 @@ static void erofs_kill_sb(struct super_block *sb)
{
struct erofs_sb_info *sbi = EROFS_SB(sb);
- if ((IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) && sbi->fsid) ||
- sbi->dif0.file)
+ if (sbi->dif0.file)
kill_anon_super(sb);
else
kill_block_super(sb);
erofs_drop_internal_inodes(sbi);
fs_put_dax(sbi->dif0.dax_dev, NULL);
- erofs_fscache_unregister_fs(sb);
erofs_sb_free(sbi);
sb->s_fs_info = NULL;
}
@@ -950,7 +901,6 @@ static void erofs_put_super(struct super_block *sb)
erofs_drop_internal_inodes(sbi);
erofs_free_dev_context(sbi->devs);
sbi->devs = NULL;
- erofs_fscache_unregister_fs(sb);
}
static struct file_system_type erofs_fs_type = {
@@ -962,14 +912,12 @@ static struct file_system_type erofs_fs_type = {
};
MODULE_ALIAS_FS("erofs");
-#if defined(CONFIG_EROFS_FS_ONDEMAND) || defined(CONFIG_EROFS_FS_PAGE_CACHE_SHARE)
+#ifdef CONFIG_EROFS_FS_PAGE_CACHE_SHARE
static void erofs_free_anon_inode(struct inode *inode)
{
struct erofs_inode *vi = EROFS_I(inode);
-#ifdef CONFIG_EROFS_FS_PAGE_CACHE_SHARE
kfree(vi->fingerprint.opaque);
-#endif
kmem_cache_free(erofs_inode_cachep, vi);
}
@@ -1099,12 +1047,6 @@ static int erofs_show_options(struct seq_file *seq, struct dentry *root)
seq_puts(seq, ",dax=never");
if (erofs_is_fileio_mode(sbi) && test_opt(opt, DIRECT_IO))
seq_puts(seq, ",directio");
- if (IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND)) {
- if (sbi->fsid)
- seq_printf(seq, ",fsid=%s", sbi->fsid);
- if (sbi->domain_id)
- seq_printf(seq, ",domain_id=%s", sbi->domain_id);
- }
if (sbi->dif0.fsoff)
seq_printf(seq, ",fsoffset=%llu", sbi->dif0.fsoff);
if (test_opt(opt, INODE_SHARE))
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index c6240dccbb0f0..5fa6651147eaa 100644
--- a/fs/erofs/zdata.c
+++ b/fs/erofs/zdata.c
@@ -1714,8 +1714,6 @@ static void z_erofs_submit_queue(struct z_erofs_frontend *f,
drain_io:
if (erofs_is_fileio_mode(EROFS_SB(sb)))
erofs_fileio_submit_bio(bio);
- else if (erofs_is_fscache_mode(sb))
- erofs_fscache_submit_bio(bio);
else
submit_bio(bio);
@@ -1744,8 +1742,6 @@ static void z_erofs_submit_queue(struct z_erofs_frontend *f,
if (!bio) {
if (erofs_is_fileio_mode(EROFS_SB(sb)))
bio = erofs_fileio_bio_alloc(&mdev);
- else if (erofs_is_fscache_mode(sb))
- bio = erofs_fscache_bio_alloc(&mdev);
else
bio = bio_alloc(mdev.m_bdev, BIO_MAX_VECS,
REQ_OP_READ, GFP_NOIO);
@@ -1774,8 +1770,6 @@ static void z_erofs_submit_queue(struct z_erofs_frontend *f,
if (bio) {
if (erofs_is_fileio_mode(EROFS_SB(sb)))
erofs_fileio_submit_bio(bio);
- else if (erofs_is_fscache_mode(sb))
- erofs_fscache_submit_bio(bio);
else
submit_bio(bio);
}
--
2.53.0
next prev parent reply other threads:[~2026-08-07 15:32 UTC|newest]
Thread overview: 456+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-07 14:33 [PATCH 7.1 000/438] 7.1.8-rc1 review Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 001/438] net: mpls: initialize rtm_tos in mpls_getroute() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 002/438] mm/slab: decouple SLAB_NO_SHEAVES from SLAB_NO_OBJ_EXT Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 003/438] lib/alloc_tag: introduce mem_alloc_profiling_permanently_disabled() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 004/438] mm/slab: prevent unbounded recursion in free path with new kmalloc type Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 005/438] ALSA: hda/realtek: Add quirk for HP Dragonfly Folio G3 2-in-1 (103c:8a05) Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 006/438] thunderbolt: Prevent XDomain delayed work use-after-free on disconnect Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 007/438] KVM: arm64: vgic: Avoid double-deactivate of IRQs in the nested context Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 008/438] dmaengine: switchtec-dma: fix FIELD_GET misuse when programming SE threshold Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 009/438] pinctrl: qcom: Unconditionally mark gpio as wakeup enable Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 010/438] pinctrl: qcom: sc8280xp: Add missing wakeup entries for GPIO143/151 Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 011/438] dmaengine: sun6i-dma: Fix reclaim descriptors while terminating DMA Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 012/438] dmaengine: idxd: fix double free of wq, engine, and group structs Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 013/438] dmaengine: idxd: fix fdev setup failure cleanup in idxd_cdev_open() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 014/438] iommu/arm-smmu-v3-iommufd: Require exactly one Stream ID for a vDEVICE Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 015/438] gpio: sloppy-logic-analyzer: Fix memory leak in gpio_la_poll_probe() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 016/438] selftests/lkdtm: rename STACKLEAK_ERASING to KSTACK_ERASE Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 017/438] selftests/seccomp: Fix pointer type mismatch build error Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 018/438] ntfs: preserve RECALL_ON_OPEN on WSL special-file reparse points Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 019/438] ata: sata_mv: accept 1 or 2 resources in platform probe Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 020/438] ata: ahci_ceva: fix error paths in ceva_ahci_platform_enable_resources() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 021/438] phy: qcom: m31-eusb2: Fix return value of init call Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 022/438] ASoC: max98095: fix missing IS_ERR() before PTR_ERR() on mclk lookup Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 023/438] ASoC: max98090: " Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 024/438] of: reserved_mem: prevent OOB when too many dynamic regions are defined Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 025/438] btrfs: fix leaking BTRFS_FS_STATE_REMOUNTING flag Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 026/438] btrfs: zoned: fix deadlock between metadata writeback and transaction commit Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 027/438] btrfs: zoned: reset meta_write_pointer on zone reset Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 028/438] btrfs: warn about extent buffer that can not be released Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 029/438] btrfs: skip global block reserve accounting for rescue mounts Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 030/438] btrfs: raid56: fix an incorrect csum skip during scrub Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 031/438] btrfs: zoned: skip fully truncated ordered extents at zone finish Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 032/438] ntfs: harden runlist realloc size calculations Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 033/438] ntfs: drop stale page-cache when shrinking a non-resident attr Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 034/438] rtla/timerlat_top: Fix on-threshold actions firing on signal Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 035/438] phy: zynqmp: fix clock error handling in xpsgtr_phy_init() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 036/438] phy: zynqmp: fix runtime PM leak on probe allocation failure Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 037/438] netfilter: nf_conntrack_sip: widen NAT rewrite delta to s32 in sip_help_tcp() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 038/438] selftests: netfilter: nft_flowtable.sh: fix offload counter verification for tunnel tests Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 039/438] netfilter: nf_conntrack_expect: add and use nf_ct_expect_related_pair() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 040/438] drm/mediatek: Check CRTC state before freeing Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 041/438] mshv_vtl: fix fd leak in mshv_ioctl_create_vtl() Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 042/438] Drivers: hv: vmbus: Replace lockdep_hardirq_threaded() with lockdep annotation Greg Kroah-Hartman
2026-08-07 14:33 ` [PATCH 7.1 043/438] mshv: Fix duplicate GSI detection for GSI 0 Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 044/438] mshv: Fix sleeping under spinlock in mshv_portid_alloc Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 045/438] KVM: arm64: vgic: Fix race between LPI release and re-registration Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 046/438] KVM: arm64: vgic: Mitigate potential LPI registration failure Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 047/438] KVM: arm64: Fix hyp_trace clock disabling Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 048/438] KVM: arm64: Fix potential leak in hyp_trace_buffer_alloc_bpages_backing Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 049/438] KVM: arm64: Fix hyp_trace_desc allocation size in hyp_trace_load() Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 050/438] KVM: arm64: Add missing hyp_enter when trapping sysreg Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 051/438] KVM: arm64: Reject guest_memfd memslots when the VM has MTE Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 052/438] KEYS: trusted: dcp: fix key_len validation and calc_blob_len() return type Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 053/438] keys: fix out-of-bounds read in keyring_get_key_chunk() Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 054/438] keys: make keyring key-chunk byte order agree with keyring_diff_objects() Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 055/438] assoc_array: trim the final shortcut word using the current chunk end Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 056/438] ipvs: adjust double hashing when fwd method changes Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 057/438] netfilter: nf_tables: make nft_object rhltable per table Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 058/438] netfilter: xt_hashlimit: validate hashtable supports XT_HASHLIMIT_RATE_MATCH Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 059/438] ipvs: fix the checksum validations Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 060/438] ipvs: fix places with wrong packet offsets Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 061/438] ipvs: do not mangle ICMP replies for non-first fragments Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 062/438] ipvs: clear the nfct flag under lock Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 063/438] netfilter: nft_payload: fix mask build for partial field offload Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 064/438] ASoC: SDCA: Correct pointer passed to devm_acpi_table_put Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 065/438] ASoC: SDCA: Always free firmware in FDL path Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 066/438] ASoC: SDCA: Make UMP message size check more robust Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 067/438] ASoC: SDCA: Ensure that Control Range is large enough for header Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 068/438] rds: tcp: hold the RCU lock across ipv6_chk_addr() in rds_tcp_laddr_check() Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 069/438] nexthop: take nh->lock for f6i_list walks in replace check and notify Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 070/438] nexthop: avoid unlocked f6i_list walk in nh_rt_cache_flush Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 071/438] af_unix: fix listen() succeeding on sockets in the wrong state Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 072/438] selftests/net/af_unix: test listen() rejects wrong socket states Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 073/438] xsk: fix buffer leak in xsk_drop_skb() for AF_XDP multi-buffer Tx Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 074/438] xsk: drain continuation descs after overflow in xsk_build_skb() Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 075/438] xsk: provide sufficient space in pool->tx_descs Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 076/438] xsk: reclaim invalid Tx descriptors in ZC batch path Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 077/438] net/sched: sch_cake: skip clearing unused tins during rate adjustment Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 078/438] pinctrl-amd: Dont clear S4 wake bits at probe Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 079/438] scsi: libiscsi: Fix stale-data leak into the SCSI sense buffer Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 080/438] scsi: libiscsi_tcp: Bound SCSI Response data segment to the connection buffer Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 081/438] scsi: libsas: Fix HA resume deadlock and hisi_sas disk-wake race Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 082/438] smb: client: fix buffer leaks in SMB1 read and write Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 083/438] erofs: clean up erofs_ishare_fill_inode() Greg Kroah-Hartman
2026-08-07 14:34 ` Greg Kroah-Hartman [this message]
2026-08-07 14:34 ` [PATCH 7.1 085/438] erofs: ensure valid f_path for page cache sharing Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 086/438] gpio: gpio-by-pinctrl: Apply initial value in direction output wrapper Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 087/438] ACPI: CPPC: Skip writes to unsupported performance controls Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 088/438] wifi: ath12k: fix out-of-bounds clear_bit in ath12k_mac_dp_peer_cleanup() Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 089/438] ASoC: tas2781: Use correct calibration data for SINEGAIN2 register Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 090/438] spi: spi-cadence: Move TX FIFO full busy-wait into FIFO Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 091/438] hwmon: (nct6775-core) Fix number of temperature registers for NCT6116 Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 092/438] hwmon: (ina2xx) Fix various overflow issues Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 093/438] hwmon: (ltc4282) Fix reading the minimum alarm voltage Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 094/438] hwmon: (sht3x) Fix unaligned accesses Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 095/438] hwmon: (lm90) Only report alarms if driver is ready Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 096/438] hwmon: (nzxt-smart2) DMA-align output buffer Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 097/438] net: do not send ICMP/NDISC Redirects when peer allocation fails Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 098/438] hwmon: (nct6775-core) Prevent access to unsupported weight registers Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 099/438] net: bridge: mrp: fix Option TLV length in MRP_Test frames Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 100/438] ASoC: sophgo: return 1 on volume change in cv1800b_adc_volume_set() Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 101/438] forcedeth: fix UAF of txrx_stats in nv_remove Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 102/438] hwmon: (adt7470) Fix fans stuck in manual mode on I2C errors Greg Kroah-Hartman
2026-08-07 14:34 ` [PATCH 7.1 103/438] hwmon: (adt7470) Fix cache updated before hardware write on I2C error Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 104/438] hwmon: (adt7470) Fix busy-loop and I2C flooding in update thread Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 105/438] hwmon: (adt7470) Fix temperature alarm logic in hwmon_temp_read() Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 106/438] hwmon: (adt7470) Fix swapped PWM3 and PWM4 auto mode masks Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 107/438] hwmon: (adt7470) Use cached PWM frequency value Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 108/438] hwmon: (adt7470) Fix divide-by-zero TOCTOU crash in fan speed read Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 109/438] hwmon: (adt7470) Fix PWM auto temp state array and bounds check Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 110/438] rtase: fix double free of multi-frag skb on DMA map failure Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 111/438] ethtool: Embed FEC hist ranges as buffer in struct Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 112/438] powerpc/boot: Fix simpleboot CPU node lookup check Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 113/438] powerpc/boot: Fix treeboot-currituck " Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 114/438] powerpc/boot: Fix treeboot-akebono " Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 115/438] net/sched: cls_u32: validate offshift to prevent shift-out-of-bounds Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 116/438] net: udp_tunnel: fix memory leak in udp_tunnel_nic_unregister() Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 117/438] wifi: mac80211: validate individual TWT params before driver setup Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 118/438] netfs: clear PG_private_2 on copy-to-cache append failure Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 119/438] netfs: handle single writeback rolling buffer allocation failure Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 120/438] netfs: release readahead folios on iterator preparation failure Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 121/438] netfs: Fix folio_queue ENOMEM in writeback by adding a mempool Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 122/438] net: ethernet: mtk_eth_soc: pass eth to mtk_handle_irq_rx in poll_controller Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 123/438] hwmon: (pmbus) Fix return value from pmbus_update_byte_data() Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 124/438] idpf: bound interrupt-vector register fill to the allocated array Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 125/438] idpf: adjust TxQ ring count minimum Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 126/438] idpf: Fix mailbox IRQ name leak on request failure Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 127/438] ice: suppress DPLL errors during reset recovery Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 128/438] Bluetooth: ISO: clear iso_data always when detaching conn from hcon Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 129/438] Bluetooth: L2CAP: fix UAF in l2cap_le_connect_rsp Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 130/438] Bluetooth: ISO: fix CONNECTED -> CLOSED transition on shutdown/release Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 131/438] Bluetooth: ISO: lock sk in iso_sock_getname Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 132/438] Bluetooth: ISO: lock sk in iso_connect_ind Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 133/438] Bluetooth: ISO: fix timeout vs sync_timeout typo in check_bcast_qos Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 134/438] Bluetooth: ISO: validate sockaddr_iso first in iso_sock_rebind_bis() Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 135/438] Bluetooth: ISO: hold sk properly in iso_conn_ready Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 136/438] Bluetooth: ISO: fix leaking sk after socket release Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 137/438] Bluetooth: ISO: avoid deadlocks in iso_sock_timeout Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 138/438] Bluetooth: ISO: ensure no dangling hcon references in iso_conn Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 139/438] Bluetooth: ISO: fix refcounting of iso_conn Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 140/438] Bluetooth: ISO: fix race of kfree vs kref_get_unless_zero Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 141/438] Bluetooth: btintel: Validate length before parsing diagnostics TLV Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 142/438] Bluetooth: hci_conn: hold conn reference in abort_conn_sync() Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 143/438] Bluetooth: hci_sync: hold conn in hci_connect_acl/le_sync() callbacks Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 144/438] Bluetooth: hci_sync: hold conn in hci_connect_big_sync() callback Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 145/438] Bluetooth: hci_sync: hold conn in hci_connect_pa_sync() callback Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 146/438] Bluetooth: hci_sync: hold conn in hci_past_sync() callback Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 147/438] Bluetooth: hci_sync: fix hci_conn_del() use in hci_le_create_conn_sync Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 148/438] Bluetooth: hci_sync: remove unnecessary hci_conn_get in create_conn_sync Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 149/438] x86/boot: Add volatile, clobbers and zero-length test in memcmp() Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 150/438] net: phylink: put link_gpio if phylink_create fails Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 151/438] scsi: target: iblock: Fix wrong PR ops NULL check for PREEMPT/RELEASE Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 152/438] scsi: ufs: core: Cancel RTC work in active-active suspend Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 153/438] scsi: ufs: core: Revert "Delegate the interrupt service routine to a threaded IRQ handler" Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 154/438] scsi: zfcp: Fix memory leak during adapter release by destroying gid_pn_req Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 155/438] scsi: target: Clear cmd_cnt when initial counter enrollment fails Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 156/438] octeontx2: cn20k: Coordinate default rules with NIX LF lifecycle Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 157/438] octeontx2-af: Block VFs from clobbering special CGX PKIND state Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 158/438] scsi: mpi3mr: Fix potential deadlock in mpi3mr_fault_uevent_emit Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 159/438] scsi: ufs: core: Initialize hba->rpmbs list in ufshcd Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 160/438] net: sxgbe: free TX rings on RX allocation failure Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 161/438] net: sxgbe: check descriptor ring allocation failures Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 162/438] can: isotp: check register_netdevice_notifier() error in module init Greg Kroah-Hartman
2026-08-07 14:35 ` [PATCH 7.1 163/438] drm/i915/dp: Ignore the sinks DSC max FRL rate without a PCON DSC encoder Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 164/438] drm/xe/pt: check no-DMA huge-pte cases before DMA segment test Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 165/438] fprobe: Fix module reference count leak on error in register_fprobe() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 166/438] tracing/mmiotrace: Reset dropped_count in mmio_reset_data() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 167/438] tracing/mmiotrace: Add NULL check for mmio_trace_array in logging functions Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 168/438] riscv: drop __init from vec_check_unaligned_access_speed_all_cpus Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 169/438] accel/qaic: use sizeof(*trans_hdr) for transaction length check Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 170/438] riscv: mm: Fix out-of-bounds page-table walk during memory hot-remove Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 171/438] ring-buffer: Fix reader page read offset for remote buffers Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 172/438] ipv6: release fib6_null_entry on subtree failure Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 173/438] riscv: vdso: Only try to install vDSO when present Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 174/438] net: dsa: mt7530: check bus->read() errors in the MDIO regmap backend Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 175/438] net: dsa: mt7530: error out on failed reads in ATC/VTCR command polling Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 176/438] net: dsa: mt7530: error out on failed reads in MT7531 PHY polling Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 177/438] net: stmmac: Fix E2E delay mechanism Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 178/438] net: mana: Create separate EQs for each vPort Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 179/438] net: mana: Return error code from mana_create_rxq() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 180/438] ptp: netc: fix potential interrupt storm caused by incorrect unbind order Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 181/438] net: libwx: fix FDIR ATR queue mismatch for software VLAN packets Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 182/438] octeontx2-pf: Set correct sequence for carrier off and tx queue stop Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 183/438] sched/deadline: Use revised wakeup rule only for running dl_server Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 184/438] spi: spi-nxp-fspi: add per-SoC SDR/DTR clock rate limits for all supported SoCs Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 185/438] qede: sync udp_tunnel ports outside qede_lock in the recovery path Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 186/438] drm/i915/hdmi: Poll for 200 msec for TMDS_Scrambler_Status Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 187/438] ksmbd: return success for deferred final close Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 188/438] ksmbd: fix use-after-free in __close_file_table_ids() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 189/438] ksmbd: use memcmp() to compare ClientGUIDs Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 190/438] iomap: add a separate bio_set for iomap_split_ioend Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 191/438] mshv: Fix race in mshv_irqfd_deassign Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 192/438] mshv: Fix level-triggered check on uninitialized data Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 193/438] mshv: Fix missing error code on VP allocation failure Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 194/438] mshv: Order pt_vp_array publish against irqfd assertion path Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 195/438] mshv: Publish VP to pt_vp_array before installing the file descriptor Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 196/438] ring-buffer: Fix subbuf_ids memory leak in rb_allocate_cpu_buffer() error path Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 197/438] iommufd/viommu: Release the igroup lock on the vdevice_size " Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 198/438] iommufd/viommu: Publish a vDEVICE only after vdevice_init() succeeds Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 199/438] iommufd: Reject DMABUF pages from the access pin path Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 200/438] iommufd: Fix wrong hwpt passed to iommufd_auto_response_faults on replace Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 201/438] iommu/iommufd: Fix IOPF group ownership UAF Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 202/438] kbuild: Stop modifying $(objtree)/Makefile when building oot-kmods oos Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 203/438] ACPI: CPPC: Check all controls for fast switching Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 204/438] mm: mglru: fix stale batch updates after memcg reparenting Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 205/438] mm/hugetlb: fix swap entry corruption when clearing uffd-wp at fork() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 206/438] pinctrl: microchip-sgpio: add missing select REGMAP_MMIO Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 207/438] pinctrl: devicetree: dont free uninitialized dev_name on error path Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 208/438] btrfs: raid56: fix scrub read assembly submitting no reads Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 209/438] erofs: cap LZMA stream pool size Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 210/438] pinctrl: bm1880: add missing select GENERIC_PINCONF Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 211/438] fortify: Disable -Wstringop-overread in tests Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 212/438] lib: test_hmm: use device devt for coherent device range selection Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 213/438] btrfs: zoned: fix missing chunk metadata reservation Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 214/438] ocfs2: fix boundary check in ocfs2_check_dir_entry() to use buffer offset Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 215/438] mm: migrate_device: fix pte_pfn/pte_dirty called on non-present PTE Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 216/438] mm/util: dont read __page_2 for order-1 folios in snapshot_page() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 217/438] selftest: fix headers in fclog.c Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 218/438] fs/proc/task_mmu: fix PAGEMAP_SCAN written state for unpopulated ptes Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 219/438] fs/proc/task_mmu: fix PAGEMAP_SCAN written state for PMD holes Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 220/438] mm/percpu-km: fix bitmap overflow and accounting in pcpu_create_chunk() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 221/438] mm/hugetlb: fix list corruption in allocate_file_region_entries() Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 222/438] userfaultfd: wait on source PMD during UFFDIO_MOVE Greg Kroah-Hartman
2026-08-07 14:36 ` [PATCH 7.1 223/438] mm/vmstat: fold stranded per-cpu node stats when a node comes online Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 224/438] KVM: x86: Cancel delayed I/O APIC EOI handling before destroying vCPUs Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 225/438] tracing/probes: Reject $arg0 in meta argument expansion Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 226/438] tracing/fprobe: Roll back on enable_trace_fprobe() failure Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 227/438] KVM: VMX: add memory clobber to asm for VMX instructions Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 228/438] KVM: SVM: Update x2APIC MSR intercepts if AVIC is inhibited while L2 is active Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 229/438] KVM: s390: pci: Reject adapter interrupt forwarding if already enabled Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 230/438] KVM: s390: pci: Fix memory accounting for pinned/unpinned pages Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 231/438] KVM: s390: pci: Fix missing error codes and memory unaccounting Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 232/438] KVM: s390: pci: Fix resource leak on IRQ registration failure Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 233/438] KVM: s390: pci: Fix NULL dereference on AIBV allocation failure Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 234/438] KVM: s390: pci: Validate AIBV and AISB before pinning guest pages Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 235/438] dibs: fix use-after-free of dmb_node in loopback attach/detach/unregister Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 236/438] sctp: validate Adaptation Indication parameter length Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 237/438] audit: fix potential integer overflow in audit_log_n_string() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 238/438] audit: fix potential use-after-free in audit_del_rule() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 239/438] Bluetooth: btusb: Fix short read errors in btusb_qca_send_vendor_req() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 240/438] Bluetooth: btmtk: Fix short read errors in btmtk_usb_uhw_reg_read() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 241/438] Bluetooth: btmtk: Fix short read errors in btmtk_usb_reg_read() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 242/438] Bluetooth: mgmt: fix pending command UAF in EIR updates Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 243/438] Bluetooth: SCO: give the socket its own sco_conn reference Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 244/438] Bluetooth: mgmt: fix UAF in pair command cancellation Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 245/438] Bluetooth: hci_sync: Fix advertising data UAFs Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 246/438] Bluetooth: HIDP: reject frames without a transaction header Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 247/438] Bluetooth: HIDP: validate numbered report payloads Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 248/438] bpf: lwt: Fix dst reference leak on reroute failure Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 249/438] afs: Fix afs_fs_fetch_data() to set call->async Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 250/438] afs: Fix afs_fs_fetch_data() to subtract transferred from len Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 251/438] afs: Fix UAF when sending a message Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 252/438] ALSA: 6fire: Fix UAF at error handling during probe Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 253/438] ALSA: hda/realtek: Add quirk for TongFang X6SP45xU Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 254/438] ALSA: lx6464es: fix period byte count for 16-bit streams Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 255/438] ALSA: pcm: wake linked drain waiters on unlink Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 256/438] ALSA: seq: Fix division by zero in initialize_timer() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 257/438] ALSA: timer: Clear SNDRV_TIMER_IFLG_DEAD once the close completes Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 258/438] ALSA: ump: fix double free of out_cvts on rawmidi error Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 259/438] ASoC: fsl_asrc: fix m2m_init error path to use goto instead of bare return Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 260/438] ASoC: fsl_easrc: " Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 261/438] ASoC: tas2562: fix DVC coefficient write order Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 262/438] ASoC: tas2562: fix broken entries in the volume lookup table Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 263/438] ata: libata-eh: Increase STANDBY IMMEDIATE timeout Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 264/438] ata: libata-sata: fix ata_scsi_lpm_supported() iteration Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 265/438] ata: libata-scsi: terminate deferred commands on time out Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 266/438] ata: libata-scsi: schedule deferred atapi command Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 267/438] ALSA: usb-audio: fix use-after-free in ump_to_endpoint() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 268/438] ALSA: usb-audio: fix stack info leak in RME Digiface status Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 269/438] ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 270/438] ALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 271/438] ALSA: usb-audio: Clamp frame size in implicit-feedback mode Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 272/438] dmaengine: qcom: bam_dma: Fix command element mask field for BAM v1.6.0+ Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 273/438] e1000: fix memory leak in e1000_probe() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 274/438] fou: Fix use-after-free in fou_create() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 275/438] igbvf: Fix leak in TX DMA error cleanup Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 276/438] igc: remove napi_synchronize() in igc_down() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 277/438] ipvs: do not propagate one-packet flag to synced conns Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 278/438] ksmbd: reject repeated SMB2 NEGOTIATE requests Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 279/438] mshv: fix hv_input_get_system_property struct Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 280/438] net/smc: fix socket use-after-free during link group termination Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 281/438] netfilter: ipset: do not update comments from kernel-side hash adds Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 282/438] of/address: Fix NULL bus dereference in of_pci_range_parser_one() Greg Kroah-Hartman
2026-08-07 14:37 ` [PATCH 7.1 283/438] PCI: imx6: Keep i.MX6 Root Port MSI/MSI-X Capabilities with iMSI-RX to work around hardware bug Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 284/438] tipc: avoid use-after-free in poll trace queue dumps Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 285/438] x86/CPU/AMD: Carve out a Zen5 models range Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 286/438] wifi: mac80211: fix tid_tx use-after-free on BA session stop Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 287/438] wifi: mwifiex: use the subframe length when parsing A-MSDU TDLS frames Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 288/438] binfmt_misc: restore write access when removing an entry Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 289/438] binfmt_misc: use exe_file_deny_write_access() for the interpreter clone Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 290/438] binfmt_misc: reject a flag character as the field delimiter Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 291/438] binfmt_misc: dont let an F entry pin its own instance Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 292/438] binfmt_misc: dont leak the user namespace when the mount fails Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 293/438] io_uring/net: initialize mshot_len for send Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 294/438] io_uring: preserve task restrictions across exec Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 295/438] mm/huge_memory: unlock i_mmap_rwsem before releasing after-split folios Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 296/438] mm/page_reporting: use system_freezable_wq to fix UAF during suspend Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 297/438] mm: memcg: initialize *locked in memcg1_oom_prepare() stub Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 298/438] net: bridge: stop fast-leave after deleting a port group Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 299/438] net: ipv6: clear suppressed fib6 rule result Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 300/438] net: pktgen: fix proc entry use-after-free Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 301/438] riscv/mm: use physical alignment for vmemmap_start_pfn Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 302/438] powerpc/ps3: Fix map failure path in dma_ioc0_map_pages() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 303/438] um: vector: fix use-after-free in vector_mmsg_rx() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 304/438] uprobes: Fix NULL pointer dereference in hprobe_expire() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 305/438] veth: convert frag_list skbs before running XDP Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 306/438] vxlan: re-fetch eth header after route_shortcircuit() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 307/438] vxlan: unclone skb head before modifying eth header in route_shortcircuit() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 308/438] vxlan: use neigh_ha_snapshot() " Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 309/438] vxlan: use pskb_network_may_pull() for transmit path header pulls Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 310/438] vxlan: use pskb_network_may_pull() in route_shortcircuit() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 311/438] ublk: reset kernel-owned dev_info fields in ublk_ctrl_add_dev() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 312/438] tracing: Check return value of __register_event() in trace_module_add_events() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 313/438] tracing/filters: Fix false positive match in regex_match_full() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 314/438] spi: spi-qpic-snand: write the feature value before executing SET_FEATURE Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 315/438] spi: qcom-qspi: Correct max DMA length to avoid 64K boundary failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 316/438] selftests/mm: fix potential wild pointer access of getline due to missing init Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 317/438] selftests/clone3: fix " Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 318/438] scsi: libsas: terminate deferred commands on time out Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 319/438] scsi: scsi_debug: Fix REPORT ZONES alloc_len underflow OOB write Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 320/438] scsi: ufs: dt-bindings: Add missing mcq reg for qcom,sa8255p-ufshc Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 321/438] sctp: reject stale cookies with mismatched verification tags Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 322/438] sctp: prevent peer transport count overflow Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 323/438] hwmon: (npcm750-pwm-fan): stop fan timer on device detach Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 324/438] hwmon: (pmbus/core) notify on the hwmon device, not the i2c client Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 325/438] i2c: amd-mp2: Unregister callback on adapter add failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 326/438] i2c: designware: defer probe if child GpioInt controllers are not bound Greg Kroah-Hartman
2026-08-08 9:05 ` Thorsten Leemhuis
2026-08-08 14:59 ` Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 327/438] gpiolib: tolerate gpio-hogs lacking a hogging state Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 328/438] gpio: pca953x: fix cache_only and IRQ state on restore_context() failure Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 329/438] gpio: pch: use raw_spinlock_t for the register lock Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 330/438] cifs: add fscache_resize_cookie() to cifs_setsize() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 331/438] cpufreq: cppc: Sanitize lockless policy limit snapshots Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 332/438] cpufreq: powernow-k8: Fix possible memory leak in powernowk8_cpu_init() Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 333/438] cpufreq: schedutil: Publish util hooks only after all sg_cpu are initialized Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 334/438] power: supply: bq25890: fix the -10 C NTC lookup entry Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 335/438] power: supply: macsmc: Support macOS 27 SMC firmware Greg Kroah-Hartman
2026-08-07 16:06 ` Joshua Peisach
2026-08-07 14:38 ` [PATCH 7.1 336/438] power: supply: max17040: handle missing status supplier Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 337/438] s390/pci: Fix s390_pci_mmio_write syscall error return without MIO Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 338/438] s390/qeth: Check CAP_NET_ADMIN for private ioctls Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 339/438] s390/dasd: Fix potential NULL pointer dereference Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 340/438] s390/dasd: Fix undersized format-check buffer Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 341/438] s390/zcrypt: Fix wrong domain value verification with EP11 CPRBs Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 342/438] s390/zcrypt: Close speculative mem read possibility Greg Kroah-Hartman
2026-08-07 14:38 ` [PATCH 7.1 343/438] s390/zcrypt: Fix buffer over-read in cca_cipher2protkey Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 344/438] s390/zcrypt: Fix missing mem scrub at clear key import in cca_clr2cipherkey() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 345/438] s390/zcrypt: Validate length for CCA AES cipher key requests Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 346/438] s390/zcrypt: Validate length for CCA ECC private " Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 347/438] phy: zynqmp: fix L0_TM_DISABLE_SCRAMBLE_ENCODER mask Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 348/438] phy: zynqmp: use read-modify-write for SERDES scrambler bypass Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 349/438] phy: zynqmp: keep SERDES scrambler and 8b/10b enabled for USB Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 350/438] net: openvswitch: fix potential UAF on meter attach failure Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 351/438] net: openvswitch: fix skb leak on flow key update failure during recirculation Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 352/438] net: openvswitch: fix skb leak on flow key update failure during ct Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 353/438] ice: wait for reset completion in ice_resume() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 354/438] ice: fix VF interrupts cleanup Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 355/438] ice: fix memory leak in ice_lbtest_prepare_rings() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 356/438] i2c: spacemit: request IRQ after controller initialization Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 357/438] i2c: qcom-cci: drop custom suspend/resume and rely on runtime PM helpers Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 358/438] i2c: jz4780: Cache host clock rate at probe to prevent CCF prepare_lock deadlock Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 359/438] i2c: iproc: reset bus after timeout if START_BUSY is stuck Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 360/438] i2c: imx: mark I2C adapter when hardware is powered down Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 361/438] i2c: imx: Fix slave registration race and error handling Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 362/438] i2c: imx: Cancel hrtimer before clearing slave pointer Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 363/438] can: c_can: c_can_chip_config(): keep controller in init mode until bittiming is configured Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 364/438] can: ems_usb: validate CPC message lengths Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 365/438] can: etas_es58x: es58x_read_bulk_callback(): fix RX buffer leak on URB resubmit failure Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 366/438] can: gs_usb: gs_usb_receive_bulk_callback(): resubmit URB on skb allocation failure Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 367/438] can: isotp: fix timer drain order, wakeup handling and tx_gen ordering Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 368/438] can: j1939: transport: j1939_session_fresh_new(): initialize receive buffer Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 369/438] can: j1939: use netdevice_tracker for j1939_{priv,session,ecu} tracking Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 370/438] can: kvaser_usb: kvaser_usb_hydra_get_busparams(): fix memory leak in kvaser_usb_hydra_get_busparams() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 371/438] can: kvaser_usb_leaf: kvaser_usb_leaf_wait_cmd(): validate received command extents Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 372/438] can: rcar_canfd: change the initializing flow for clocks and resets Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 373/438] can: softing: fw_parse(): validate firmware record spans Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 374/438] can: peak_usb: add bounds check for USB channel index Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 375/438] can: peak_usb: peak_usb_start(): fix double free of transfer buffer on URB submit error Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 376/438] can: peak_usb: validate uCAN receive record lengths Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 377/438] can: ctucanfd: add missing MODULE_DEVICE_TABLE() Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 378/438] can: ctucanfd: use self-test mode for PRESUME_ACK Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 379/438] can: ctucanfd: unmap BAR0 using base address Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 380/438] can: ctucanfd: handle bus error interrupts Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 381/438] can: ctucanfd: mark error-active controller status valid Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 382/438] drm/dp: Read the PCON max FRL bandwidth only for HDMI DFPs Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 383/438] drm/vc4: Supply the overflow slot size in BPOS, not the whole bin BO size Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 384/438] drm/vc4: Zero the tile state data array before each BIN job Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 385/438] drm/bridge: display-connector: Fix I2C adapter resource leak Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 386/438] drm/panthor: reject firmware sections with oversized data Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 387/438] drm/panthor: validate firmware interface structure sizes Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 388/438] drm/mediatek: mtk_hdmi: Fix DDC adapter double put in v2 Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 389/438] drm/mediatek: ovl_adaptor: balance component registrations Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 390/438] drm/amdgpu: move debug_vm handling to amdgpu_cs_parser_fini Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 391/438] drm/amdgpu: restore UMD profile pstate after runtime resume Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 392/438] drm/amdgpu: cap GTT size to physical RAM on APUs Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 393/438] drm/amd/pm: fix torn gpu metrics reads Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 394/438] drm/amd/pm: fix pptable use-after-free Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 395/438] drm/amd/pm: hide pp_table sysfs on APUs Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 396/438] drm/amd/pm: use milliwatts for GPU power sensors Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 397/438] drm/amd/display: check if dml21_add_phantom_plane() is successful Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 398/438] drm/amd/display: Fix divide-by-zero in calculate_mcache_setting on zero viewport Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 399/438] drm/amd/display: Increase HDMI AV mute wait from 2 to 3 frames Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 400/438] drm/amd/display: Silence link_dpms I2C retimer failures Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 401/438] drm/amd/display: use proper context for logging Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 402/438] drm/amdkfd: Fix missing authorization check in KFD_IOC_DBG_TRAP_DISABLE Greg Kroah-Hartman
2026-08-07 14:39 ` [PATCH 7.1 403/438] drm/amdkfd: fix QID bit leak in pqm_create_queue() Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 404/438] drm/amdkfd: fix uint32_t overflow in EOP ring buffer size alignment Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 405/438] drm/amdkfd: Handle invalid event type in CRIU event restore Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 406/438] drm/amdkfd: hold event_mutex while checkpointing CRIU events Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 407/438] drm/vmwgfx: fix guest_memory_dirty bitfield clobbered as size Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 408/438] drm/vmwgfx: reject DX_BIND_QUERY without a DX context Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 409/438] drm/vmwgfx: clamp dirty-page range with min, not max Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 410/438] drm/vmwgfx: take fman->lock around fence list mutation in fifo_down Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 411/438] drm/vmwgfx: drop dma_buf reference on foreign-fd prime import Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 412/438] drm/vmwgfx: validate DRAW_PRIMITIVES header size before division Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 413/438] drm/vmwgfx: bound DMA command body size against suffix pointer Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 414/438] drm/vmwgfx: avoid destroy_workqueue(NULL) on vkms init failure Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 415/438] drm/vmwgfx: enforce cursor size limits for MOB cursors Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 416/438] drm/vmwgfx: use check_add_overflow for shader size+offset bound Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 417/438] drm/vmwgfx: validate external BO copy bounds for both stride paths Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 418/438] drm/xe/rtp: Maintain OA whitelists separately Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 419/438] drm/xe/rtp: Keep track of non-OA nonpriv slots Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 420/438] drm/xe/rtp: Generalize whitelist_apply_to_hwe Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 421/438] drm/xe/rtp: Save OA nonpriv registers to register save/restore lists Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 422/438] drm/xe/rtp: Toggle deny bit to (de-)whitelist OA regs Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 423/438] drm/xe/rtp: (De-)whitelist OA registers for all hwes for a gt Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 424/438] drm/xe/oa: (De-)whitelist OA registers on OA stream open/release Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 425/438] drm/xe/rtp: Ensure locking/ref counting for OA whitelists Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 426/438] usb: typec: ucsi: split connector lock classes Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 427/438] usb: typec: ucsi: Fix race condition and ordering in port unregistration Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 428/438] drm/xe: Drop unused param from xe_device_create() Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 429/438] drm/xe: Move xe->info.force_execlist initialization Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 430/438] drm/xe: Move xe->info.devid|revid initialization Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 431/438] drm/xe: Separate early xe_device initialization Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 432/438] drm/xe: Set TTM device beneficial_order to 9 (2M) Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 433/438] drm/exec: Remove the index parameter from drm_exec_for_each_locked_obj[_reverse] Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 434/438] drm/xe: Wait on external BO kernel fences in exec IOCTL Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 435/438] media: chips-media: wave5: Support CBP profile Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 436/438] drm/amd/display: check GRPH_FLIP status before sending event Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 437/438] drm/amd/display: Exit idle optimizations before programming Greg Kroah-Hartman
2026-08-07 14:40 ` [PATCH 7.1 438/438] usb: typec: ucsi: Correct teardown ordering in ucsi_init() error path Greg Kroah-Hartman
2026-08-07 17:24 ` [PATCH 7.1 000/438] 7.1.8-rc1 review Ronald Warsow
2026-08-07 18:31 ` Pavel Machek
2026-08-08 0:29 ` Shuah Khan
2026-08-08 10:22 ` Brett A C Sheffield
2026-08-08 11:58 ` Takeshi Ogasawara
2026-08-08 12:33 ` Benjamin Boortz
2026-08-08 17:43 ` Justin Forbes
2026-08-08 18:02 ` Peter Schneider
2026-08-08 20:34 ` Markus Reichelt
2026-08-08 22:42 ` Ron Economos
2026-08-09 8:27 ` Barry K. Nathan
2026-08-09 8:35 ` Miguel Ojeda
2026-08-09 10:34 ` Jeffrin Thalakkottoor
2026-08-09 11:51 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260807143429.773660398@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=hsiangkao@linux.alibaba.com \
--cc=jefflexu@linux.alibaba.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.