From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Amir Goldstein <amir73il@gmail.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 010/129] ovl: do not encode lower fh with upper sb_writers held
Date: Wed, 15 Jan 2025 11:36:25 +0100 [thread overview]
Message-ID: <20250115103554.776405922@linuxfoundation.org> (raw)
In-Reply-To: <20250115103554.357917208@linuxfoundation.org>
6.6-stable review patch. If anyone has any objections, please let me know.
------------------
From: Amir Goldstein <amir73il@gmail.com>
[ Upstream commit 5b02bfc1e7e3811c5bf7f0fa626a0694d0dbbd77 ]
When lower fs is a nested overlayfs, calling encode_fh() on a lower
directory dentry may trigger copy up and take sb_writers on the upper fs
of the lower nested overlayfs.
The lower nested overlayfs may have the same upper fs as this overlayfs,
so nested sb_writers lock is illegal.
Move all the callers that encode lower fh to before ovl_want_write().
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Stable-dep-of: c45beebfde34 ("ovl: support encoding fid from inode with no alias")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
fs/overlayfs/copy_up.c | 53 +++++++++++++++++++++++++---------------
fs/overlayfs/namei.c | 37 +++++++++++++++++++++-------
fs/overlayfs/overlayfs.h | 26 ++++++++++++++------
fs/overlayfs/super.c | 20 ++++++++++-----
fs/overlayfs/util.c | 10 ++++++++
5 files changed, 104 insertions(+), 42 deletions(-)
diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c
index ada3fcc9c6d5..5c9af24bae4a 100644
--- a/fs/overlayfs/copy_up.c
+++ b/fs/overlayfs/copy_up.c
@@ -426,29 +426,29 @@ struct ovl_fh *ovl_encode_real_fh(struct ovl_fs *ofs, struct dentry *real,
return ERR_PTR(err);
}
-int ovl_set_origin(struct ovl_fs *ofs, struct dentry *lower,
- struct dentry *upper)
+struct ovl_fh *ovl_get_origin_fh(struct ovl_fs *ofs, struct dentry *origin)
{
- const struct ovl_fh *fh = NULL;
- int err;
-
/*
* When lower layer doesn't support export operations store a 'null' fh,
* so we can use the overlay.origin xattr to distignuish between a copy
* up and a pure upper inode.
*/
- if (ovl_can_decode_fh(lower->d_sb)) {
- fh = ovl_encode_real_fh(ofs, lower, false);
- if (IS_ERR(fh))
- return PTR_ERR(fh);
- }
+ if (!ovl_can_decode_fh(origin->d_sb))
+ return NULL;
+
+ return ovl_encode_real_fh(ofs, origin, false);
+}
+
+int ovl_set_origin_fh(struct ovl_fs *ofs, const struct ovl_fh *fh,
+ struct dentry *upper)
+{
+ int err;
/*
* Do not fail when upper doesn't support xattrs.
*/
err = ovl_check_setxattr(ofs, upper, OVL_XATTR_ORIGIN, fh->buf,
fh ? fh->fb.len : 0, 0);
- kfree(fh);
/* Ignore -EPERM from setting "user.*" on symlink/special */
return err == -EPERM ? 0 : err;
@@ -476,7 +476,7 @@ static int ovl_set_upper_fh(struct ovl_fs *ofs, struct dentry *upper,
*
* Caller must hold i_mutex on indexdir.
*/
-static int ovl_create_index(struct dentry *dentry, struct dentry *origin,
+static int ovl_create_index(struct dentry *dentry, const struct ovl_fh *fh,
struct dentry *upper)
{
struct ovl_fs *ofs = OVL_FS(dentry->d_sb);
@@ -502,7 +502,7 @@ static int ovl_create_index(struct dentry *dentry, struct dentry *origin,
if (WARN_ON(ovl_test_flag(OVL_INDEX, d_inode(dentry))))
return -EIO;
- err = ovl_get_index_name(ofs, origin, &name);
+ err = ovl_get_index_name_fh(fh, &name);
if (err)
return err;
@@ -541,6 +541,7 @@ struct ovl_copy_up_ctx {
struct dentry *destdir;
struct qstr destname;
struct dentry *workdir;
+ const struct ovl_fh *origin_fh;
bool origin;
bool indexed;
bool metacopy;
@@ -637,7 +638,7 @@ static int ovl_copy_up_metadata(struct ovl_copy_up_ctx *c, struct dentry *temp)
* hard link.
*/
if (c->origin) {
- err = ovl_set_origin(ofs, c->lowerpath.dentry, temp);
+ err = ovl_set_origin_fh(ofs, c->origin_fh, temp);
if (err)
return err;
}
@@ -749,7 +750,7 @@ static int ovl_copy_up_workdir(struct ovl_copy_up_ctx *c)
goto cleanup;
if (S_ISDIR(c->stat.mode) && c->indexed) {
- err = ovl_create_index(c->dentry, c->lowerpath.dentry, temp);
+ err = ovl_create_index(c->dentry, c->origin_fh, temp);
if (err)
goto cleanup;
}
@@ -861,6 +862,8 @@ static int ovl_do_copy_up(struct ovl_copy_up_ctx *c)
{
int err;
struct ovl_fs *ofs = OVL_FS(c->dentry->d_sb);
+ struct dentry *origin = c->lowerpath.dentry;
+ struct ovl_fh *fh = NULL;
bool to_index = false;
/*
@@ -877,17 +880,25 @@ static int ovl_do_copy_up(struct ovl_copy_up_ctx *c)
to_index = true;
}
- if (S_ISDIR(c->stat.mode) || c->stat.nlink == 1 || to_index)
+ if (S_ISDIR(c->stat.mode) || c->stat.nlink == 1 || to_index) {
+ fh = ovl_get_origin_fh(ofs, origin);
+ if (IS_ERR(fh))
+ return PTR_ERR(fh);
+
+ /* origin_fh may be NULL */
+ c->origin_fh = fh;
c->origin = true;
+ }
if (to_index) {
c->destdir = ovl_indexdir(c->dentry->d_sb);
- err = ovl_get_index_name(ofs, c->lowerpath.dentry, &c->destname);
+ err = ovl_get_index_name(ofs, origin, &c->destname);
if (err)
- return err;
+ goto out_free_fh;
} else if (WARN_ON(!c->parent)) {
/* Disconnected dentry must be copied up to index dir */
- return -EIO;
+ err = -EIO;
+ goto out_free_fh;
} else {
/*
* Mark parent "impure" because it may now contain non-pure
@@ -895,7 +906,7 @@ static int ovl_do_copy_up(struct ovl_copy_up_ctx *c)
*/
err = ovl_set_impure(c->parent, c->destdir);
if (err)
- return err;
+ goto out_free_fh;
}
/* Should we copyup with O_TMPFILE or with workdir? */
@@ -927,6 +938,8 @@ static int ovl_do_copy_up(struct ovl_copy_up_ctx *c)
out:
if (to_index)
kfree(c->destname.name);
+out_free_fh:
+ kfree(fh);
return err;
}
diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c
index 80391c687c2a..f10ac4ae35f0 100644
--- a/fs/overlayfs/namei.c
+++ b/fs/overlayfs/namei.c
@@ -507,6 +507,19 @@ static int ovl_verify_fh(struct ovl_fs *ofs, struct dentry *dentry,
return err;
}
+int ovl_verify_set_fh(struct ovl_fs *ofs, struct dentry *dentry,
+ enum ovl_xattr ox, const struct ovl_fh *fh,
+ bool is_upper, bool set)
+{
+ int err;
+
+ err = ovl_verify_fh(ofs, dentry, ox, fh);
+ if (set && err == -ENODATA)
+ err = ovl_setxattr(ofs, dentry, ox, fh->buf, fh->fb.len);
+
+ return err;
+}
+
/*
* Verify that @real dentry matches the file handle stored in xattr @name.
*
@@ -515,9 +528,9 @@ static int ovl_verify_fh(struct ovl_fs *ofs, struct dentry *dentry,
*
* Return 0 on match, -ESTALE on mismatch, -ENODATA on no xattr, < 0 on error.
*/
-int ovl_verify_set_fh(struct ovl_fs *ofs, struct dentry *dentry,
- enum ovl_xattr ox, struct dentry *real, bool is_upper,
- bool set)
+int ovl_verify_origin_xattr(struct ovl_fs *ofs, struct dentry *dentry,
+ enum ovl_xattr ox, struct dentry *real,
+ bool is_upper, bool set)
{
struct inode *inode;
struct ovl_fh *fh;
@@ -530,9 +543,7 @@ int ovl_verify_set_fh(struct ovl_fs *ofs, struct dentry *dentry,
goto fail;
}
- err = ovl_verify_fh(ofs, dentry, ox, fh);
- if (set && err == -ENODATA)
- err = ovl_setxattr(ofs, dentry, ox, fh->buf, fh->fb.len);
+ err = ovl_verify_set_fh(ofs, dentry, ox, fh, is_upper, set);
if (err)
goto fail;
@@ -548,6 +559,7 @@ int ovl_verify_set_fh(struct ovl_fs *ofs, struct dentry *dentry,
goto out;
}
+
/* Get upper dentry from index */
struct dentry *ovl_index_upper(struct ovl_fs *ofs, struct dentry *index,
bool connected)
@@ -684,7 +696,7 @@ int ovl_verify_index(struct ovl_fs *ofs, struct dentry *index)
goto out;
}
-static int ovl_get_index_name_fh(struct ovl_fh *fh, struct qstr *name)
+int ovl_get_index_name_fh(const struct ovl_fh *fh, struct qstr *name)
{
char *n, *s;
@@ -873,20 +885,27 @@ int ovl_path_next(int idx, struct dentry *dentry, struct path *path)
static int ovl_fix_origin(struct ovl_fs *ofs, struct dentry *dentry,
struct dentry *lower, struct dentry *upper)
{
+ const struct ovl_fh *fh;
int err;
if (ovl_check_origin_xattr(ofs, upper))
return 0;
+ fh = ovl_get_origin_fh(ofs, lower);
+ if (IS_ERR(fh))
+ return PTR_ERR(fh);
+
err = ovl_want_write(dentry);
if (err)
- return err;
+ goto out;
- err = ovl_set_origin(ofs, lower, upper);
+ err = ovl_set_origin_fh(ofs, fh, upper);
if (!err)
err = ovl_set_impure(dentry->d_parent, upper->d_parent);
ovl_drop_write(dentry);
+out:
+ kfree(fh);
return err;
}
diff --git a/fs/overlayfs/overlayfs.h b/fs/overlayfs/overlayfs.h
index 09ca82ed0f8c..61e03d664d7d 100644
--- a/fs/overlayfs/overlayfs.h
+++ b/fs/overlayfs/overlayfs.h
@@ -632,11 +632,15 @@ struct dentry *ovl_decode_real_fh(struct ovl_fs *ofs, struct ovl_fh *fh,
int ovl_check_origin_fh(struct ovl_fs *ofs, struct ovl_fh *fh, bool connected,
struct dentry *upperdentry, struct ovl_path **stackp);
int ovl_verify_set_fh(struct ovl_fs *ofs, struct dentry *dentry,
- enum ovl_xattr ox, struct dentry *real, bool is_upper,
- bool set);
+ enum ovl_xattr ox, const struct ovl_fh *fh,
+ bool is_upper, bool set);
+int ovl_verify_origin_xattr(struct ovl_fs *ofs, struct dentry *dentry,
+ enum ovl_xattr ox, struct dentry *real,
+ bool is_upper, bool set);
struct dentry *ovl_index_upper(struct ovl_fs *ofs, struct dentry *index,
bool connected);
int ovl_verify_index(struct ovl_fs *ofs, struct dentry *index);
+int ovl_get_index_name_fh(const struct ovl_fh *fh, struct qstr *name);
int ovl_get_index_name(struct ovl_fs *ofs, struct dentry *origin,
struct qstr *name);
struct dentry *ovl_get_index_fh(struct ovl_fs *ofs, struct ovl_fh *fh);
@@ -648,17 +652,24 @@ struct dentry *ovl_lookup(struct inode *dir, struct dentry *dentry,
unsigned int flags);
bool ovl_lower_positive(struct dentry *dentry);
+static inline int ovl_verify_origin_fh(struct ovl_fs *ofs, struct dentry *upper,
+ const struct ovl_fh *fh, bool set)
+{
+ return ovl_verify_set_fh(ofs, upper, OVL_XATTR_ORIGIN, fh, false, set);
+}
+
static inline int ovl_verify_origin(struct ovl_fs *ofs, struct dentry *upper,
struct dentry *origin, bool set)
{
- return ovl_verify_set_fh(ofs, upper, OVL_XATTR_ORIGIN, origin,
- false, set);
+ return ovl_verify_origin_xattr(ofs, upper, OVL_XATTR_ORIGIN, origin,
+ false, set);
}
static inline int ovl_verify_upper(struct ovl_fs *ofs, struct dentry *index,
struct dentry *upper, bool set)
{
- return ovl_verify_set_fh(ofs, index, OVL_XATTR_UPPER, upper, true, set);
+ return ovl_verify_origin_xattr(ofs, index, OVL_XATTR_UPPER, upper,
+ true, set);
}
/* readdir.c */
@@ -823,8 +834,9 @@ int ovl_copy_xattr(struct super_block *sb, const struct path *path, struct dentr
int ovl_set_attr(struct ovl_fs *ofs, struct dentry *upper, struct kstat *stat);
struct ovl_fh *ovl_encode_real_fh(struct ovl_fs *ofs, struct dentry *real,
bool is_upper);
-int ovl_set_origin(struct ovl_fs *ofs, struct dentry *lower,
- struct dentry *upper);
+struct ovl_fh *ovl_get_origin_fh(struct ovl_fs *ofs, struct dentry *origin);
+int ovl_set_origin_fh(struct ovl_fs *ofs, const struct ovl_fh *fh,
+ struct dentry *upper);
/* export.c */
extern const struct export_operations ovl_export_operations;
diff --git a/fs/overlayfs/super.c b/fs/overlayfs/super.c
index 2c056d737c27..e2574034c3fa 100644
--- a/fs/overlayfs/super.c
+++ b/fs/overlayfs/super.c
@@ -879,15 +879,20 @@ static int ovl_get_indexdir(struct super_block *sb, struct ovl_fs *ofs,
{
struct vfsmount *mnt = ovl_upper_mnt(ofs);
struct dentry *indexdir;
+ struct dentry *origin = ovl_lowerstack(oe)->dentry;
+ const struct ovl_fh *fh;
int err;
+ fh = ovl_get_origin_fh(ofs, origin);
+ if (IS_ERR(fh))
+ return PTR_ERR(fh);
+
err = mnt_want_write(mnt);
if (err)
- return err;
+ goto out_free_fh;
/* Verify lower root is upper root origin */
- err = ovl_verify_origin(ofs, upperpath->dentry,
- ovl_lowerstack(oe)->dentry, true);
+ err = ovl_verify_origin_fh(ofs, upperpath->dentry, fh, true);
if (err) {
pr_err("failed to verify upper root origin\n");
goto out;
@@ -919,9 +924,10 @@ static int ovl_get_indexdir(struct super_block *sb, struct ovl_fs *ofs,
* directory entries.
*/
if (ovl_check_origin_xattr(ofs, ofs->indexdir)) {
- err = ovl_verify_set_fh(ofs, ofs->indexdir,
- OVL_XATTR_ORIGIN,
- upperpath->dentry, true, false);
+ err = ovl_verify_origin_xattr(ofs, ofs->indexdir,
+ OVL_XATTR_ORIGIN,
+ upperpath->dentry, true,
+ false);
if (err)
pr_err("failed to verify index dir 'origin' xattr\n");
}
@@ -939,6 +945,8 @@ static int ovl_get_indexdir(struct super_block *sb, struct ovl_fs *ofs,
out:
mnt_drop_write(mnt);
+out_free_fh:
+ kfree(fh);
return err;
}
diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c
index 0bf3ffcd072f..4e6b747e0f2e 100644
--- a/fs/overlayfs/util.c
+++ b/fs/overlayfs/util.c
@@ -976,12 +976,18 @@ static void ovl_cleanup_index(struct dentry *dentry)
struct dentry *index = NULL;
struct inode *inode;
struct qstr name = { };
+ bool got_write = false;
int err;
err = ovl_get_index_name(ofs, lowerdentry, &name);
if (err)
goto fail;
+ err = ovl_want_write(dentry);
+ if (err)
+ goto fail;
+
+ got_write = true;
inode = d_inode(upperdentry);
if (!S_ISDIR(inode->i_mode) && inode->i_nlink != 1) {
pr_warn_ratelimited("cleanup linked index (%pd2, ino=%lu, nlink=%u)\n",
@@ -1019,6 +1025,8 @@ static void ovl_cleanup_index(struct dentry *dentry)
goto fail;
out:
+ if (got_write)
+ ovl_drop_write(dentry);
kfree(name.name);
dput(index);
return;
@@ -1089,6 +1097,8 @@ void ovl_nlink_end(struct dentry *dentry)
{
struct inode *inode = d_inode(dentry);
+ ovl_drop_write(dentry);
+
if (ovl_test_flag(OVL_INDEX, inode) && inode->i_nlink == 0) {
const struct cred *old_cred;
--
2.39.5
next prev parent reply other threads:[~2025-01-15 10:55 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-15 10:36 [PATCH 6.6 000/129] 6.6.72-rc1 review Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 001/129] memblock: make memblock_set_node() also warn about use of MAX_NUMNODES Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 002/129] memblock: use numa_valid_node() helper to check for invalid node ID Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 003/129] jbd2: increase IO priority for writing revoke records Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 004/129] jbd2: flush filesystem device before updating tail sequence Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 005/129] dm array: fix releasing a faulty array block twice in dm_array_cursor_end Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 006/129] dm array: fix unreleased btree blocks on closing a faulty array cursor Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 007/129] dm array: fix cursor index when skipping across block boundaries Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 008/129] exfat: fix the infinite loop in exfat_readdir() Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 009/129] exfat: fix the infinite loop in __exfat_free_cluster() Greg Kroah-Hartman
2025-01-15 10:36 ` Greg Kroah-Hartman [this message]
2025-01-20 17:09 ` [PATCH 6.6 010/129] ovl: do not encode lower fh with upper sb_writers held Ignat Korchagin
2025-01-20 18:54 ` Amir Goldstein
2025-01-20 20:14 ` Ignat Korchagin
2025-01-20 20:45 ` Amir Goldstein
2025-01-20 22:37 ` Ignat Korchagin
2025-01-21 7:55 ` Greg Kroah-Hartman
2025-01-21 8:57 ` Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 011/129] ovl: pass realinode to ovl_encode_real_fh() instead of realdentry Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 012/129] ovl: support encoding fid from inode with no alias Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 013/129] erofs: handle overlapped pclusters out of crafted images properly Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 014/129] erofs: fix PSI memstall accounting Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 015/129] ASoC: rt722: add delay time to wait for the calibration procedure Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 016/129] ASoC: mediatek: disable buffer pre-allocation Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 017/129] selftests/alsa: Fix circular dependency involving global-timer Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 018/129] ieee802154: ca8210: Add missing check for kfifo_alloc() in ca8210_probe() Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 019/129] net: 802: LLC+SNAP OID:PID lookup on start of skb data Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 020/129] tcp/dccp: complete lockless accesses to sk->sk_max_ack_backlog Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 021/129] tcp/dccp: allow a connection when sk_max_ack_backlog is zero Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 022/129] net_sched: cls_flow: validate TCA_FLOW_RSHIFT attribute Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 023/129] net: libwx: fix firmware mailbox abnormal return Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 024/129] btrfs: avoid NULL pointer dereference if no valid extent tree Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 025/129] pds_core: limit loop over fw name list Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 026/129] bnxt_en: Fix possible memory leak when hwrm_req_replace fails Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 027/129] cxgb4: Avoid removal of uninserted tid Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 028/129] ice: fix incorrect PHY settings for 100 GB/s Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 029/129] igc: field get conversion Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 030/129] igc: return early when failing to read EECD register Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 031/129] tls: Fix tls_sw_sendmsg error handling Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 032/129] ipvlan: Fix use-after-free in ipvlan_get_iflink() Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 033/129] eth: gve: use appropriate helper to set xdp_features Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 034/129] Bluetooth: hci_sync: Fix not setting Random Address when required Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 035/129] Bluetooth: MGMT: Fix Add Device to responding before completing Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 036/129] Bluetooth: btnxpuart: Fix driver sending truncated data Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 037/129] tcp: Annotate data-race around sk->sk_mark in tcp_v4_send_reset Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 038/129] riscv: Fix early ftrace nop patching Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 039/129] memblock tests: fix implicit declaration of function numa_valid_node Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 040/129] x86/mm/numa: Use NUMA_NO_NODE when calling memblock_set_node() Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 041/129] iio: imu: inv_icm42600: fix timestamps after suspend if sensor is on Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 042/129] netfilter: nf_tables: imbalance in flowtable binding Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 043/129] netfilter: conntrack: clamp maximum hashtable size to INT_MAX Greg Kroah-Hartman
2025-01-15 10:36 ` [PATCH 6.6 044/129] sched: sch_cake: add bounds checks to host bulk flow fairness counts Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 045/129] net: stmmac: dwmac-tegra: Read iommu stream id from device tree Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 046/129] net/mlx5: Fix variable not being completed when function returns Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 047/129] drm/mediatek: Set private->all_drm_private[i]->drm to NULL if mtk_drm_bind returns err Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 048/129] drm/mediatek: stop selecting foreign drivers Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 049/129] drm/mediatek: Fix YCbCr422 color format issue for DP Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 050/129] drm/mediatek: Fix mode valid issue for dp Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 051/129] drm/mediatek: Add return value check when reading DPCD Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 052/129] ksmbd: fix a missing return value check bug Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 053/129] afs: Fix the maximum cell name length Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 054/129] platform/x86/amd/pmc: Only disable IRQ1 wakeup where i8042 actually enabled it Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 055/129] ksmbd: fix unexpectedly changed path in ksmbd_vfs_kern_path_locked Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 056/129] cpuidle: riscv-sbi: fix device node release in early exit of for_each_possible_cpu Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 057/129] riscv: mm: Fix the out of bound issue of vmemmap address Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 058/129] dm thin: make get_first_thin use rcu-safe list first function Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 059/129] scsi: ufs: qcom: Power off the PHY if it was already powered on in ufs_qcom_power_up_sequence() Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 060/129] dm-ebs: dont set the flag DM_TARGET_PASSES_INTEGRITY Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 061/129] mptcp: sysctl: sched: avoid using current->nsproxy Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 062/129] sctp: sysctl: cookie_hmac_alg: " Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 063/129] sctp: sysctl: rto_min/max: " Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 064/129] sctp: sysctl: auth_enable: " Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 065/129] sctp: sysctl: udp_port: " Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 066/129] sctp: sysctl: plpmtud_probe_interval: " Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 067/129] ksmbd: Implement new SMB3 POSIX type Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 068/129] drm/amd/display: Add check for granularity in dml ceil/floor helpers Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 069/129] thermal: of: fix OF node leak in of_thermal_zone_find() Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 070/129] smb: client: sync the root session and superblock context passwords before automounting Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 071/129] riscv: Fix sleeping in invalid context in die() Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 072/129] ACPI: resource: Add TongFang GM5HG0A to irq1_edge_low_force_override[] Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 073/129] ACPI: resource: Add Asus Vivobook X1504VAP to irq1_level_low_skip_override[] Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 074/129] drm/amdkfd: fixed page fault when enable MES shader debugger Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 075/129] drm/amd/display: increase MAX_SURFACES to the value supported by hw Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 076/129] io_uring/timeout: fix multishot updates Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 077/129] f2fs: fix null-ptr-deref in f2fs_submit_page_bio() Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 078/129] dm-verity FEC: Fix RS FEC repair for roots unaligned to block size (take 2) Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 079/129] USB: serial: option: add MeiG Smart SRM815 Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 080/129] USB: serial: option: add Neoway N723-EA support Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 081/129] staging: iio: ad9834: Correct phase range check Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 082/129] staging: iio: ad9832: " Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 083/129] usb-storage: Add max sectors quirk for Nokia 208 Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 084/129] USB: serial: cp210x: add Phoenix Contact UPS Device Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 085/129] usb: dwc3: gadget: fix writing NYET threshold Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 086/129] topology: Keep the cpumask unchanged when printing cpumap Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 087/129] misc: microchip: pci1xxxx: Resolve kernel panic during GPIO IRQ handling Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 088/129] misc: microchip: pci1xxxx: Resolve return code mismatch during GPIO set config Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 089/129] tty: serial: 8250: Fix another runtime PM usage counter underflow Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 090/129] usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 091/129] x86/fpu: Ensure shadow stack is active before "getting" registers Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 092/129] usb: dwc3-am62: Disable autosuspend during remove Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 093/129] USB: usblp: return error when setting unsupported protocol Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 094/129] USB: core: Disable LPM only for non-suspended ports Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 095/129] usb: fix reference leak in usb_new_device() Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 096/129] usb: gadget: midi2: Reverse-select at the right place Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 097/129] usb: chipidea: ci_hdrc_imx: decrement devices refcount in .remove() and in the error path of .probe() Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 098/129] usb: gadget: f_uac2: Fix incorrect setting of bNumEndpoints Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 099/129] usb: typec: tcpm/tcpci_maxim: fix error code in max_contaminant_read_resistance_kohm() Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 100/129] usb: gadget: f_fs: Remove WARN_ON in functionfs_bind Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 101/129] usb: gadget: configfs: Ignore trailing LF for user strings to cdev Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 102/129] iio: pressure: zpa2326: fix information leak in triggered buffer Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 103/129] iio: dummy: iio_simply_dummy_buffer: " Greg Kroah-Hartman
2025-01-15 10:37 ` [PATCH 6.6 104/129] iio: light: vcnl4035: " Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 105/129] iio: imu: kmx61: " Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 106/129] iio: adc: rockchip_saradc: " Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 107/129] iio: adc: ti-ads8688: " Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 108/129] iio: gyro: fxas21002c: Fix missing data update in trigger handler Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 109/129] iio: adc: ti-ads124s08: Use gpiod_set_value_cansleep() Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 110/129] iio: adc: at91: call input_free_device() on allocated iio_dev Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 111/129] iio: inkern: call iio_device_put() only on mapped devices Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 112/129] iio: adc: ad7124: Disable all channels at probe time Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 113/129] riscv: kprobes: Fix incorrect address calculation Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 114/129] io_uring/eventfd: ensure io_eventfd_signal() defers another RCU period Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 115/129] ARM: dts: imxrt1050: Fix clocks for mmc Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 116/129] hwmon: (drivetemp) Fix driver producing garbage data when SCSI errors occur Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 117/129] block, bfq: fix waker_bfqq UAF after bfq_split_bfqq() Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 118/129] arm64: dts: rockchip: add hevc power domain clock to rk3328 Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 119/129] pmdomain: imx: gpcv2: Simplify with scoped for each OF child loop Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 120/129] pmdomain: imx: gpcv2: fix an OF node reference leak in imx_gpcv2_probe() Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 121/129] workqueue: Add rcu lock check at the end of work item execution Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 122/129] workqueue: Update lock debugging code Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 123/129] workqueue: Do not warn when cancelling WQ_MEM_RECLAIM work from !WQ_MEM_RECLAIM worker Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 124/129] pgtable: fix s390 ptdesc field comments Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 125/129] fs/Kconfig: make hugetlbfs a menuconfig Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 126/129] mm/hugetlb: enforce that PMD PT sharing has split PMD PT locks Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 127/129] mm: hugetlb: independent PMD page table shared count Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 128/129] riscv: Fix text patching when IPI are used Greg Kroah-Hartman
2025-01-15 10:38 ` [PATCH 6.6 129/129] drm/mediatek: Only touch DISP_REG_OVL_PITCH_MSB if AFBC is supported Greg Kroah-Hartman
2025-01-15 13:55 ` [PATCH 6.6 000/129] 6.6.72-rc1 review Pavel Machek
2025-01-15 14:13 ` Jon Hunter
2025-01-15 19:36 ` Mark Brown
2025-01-15 22:29 ` Florian Fainelli
2025-01-15 22:30 ` Shuah Khan
2025-01-16 8:11 ` Ron Economos
2025-01-16 10:25 ` Naresh Kamboju
2025-01-16 15:34 ` Peter Schneider
2025-01-17 2:26 ` [PATCH 6.6] " Hardik Garg
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=20250115103554.776405922@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=amir73il@gmail.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.