stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, kernel test robot <lkp@intel.com>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	Ritesh Harjani <riteshh@linux.ibm.com>,
	Harshad Shirwadkar <harshadshirwadkar@gmail.com>,
	Xin Yin <yinxin.x@bytedance.com>, Theodore Tso <tytso@mit.edu>,
	stable@kernel.org, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.16 038/186] ext4: fast commit may not fallback for ineligible commit
Date: Mon,  7 Mar 2022 10:17:56 +0100	[thread overview]
Message-ID: <20220307091655.161642496@linuxfoundation.org> (raw)
In-Reply-To: <20220307091654.092878898@linuxfoundation.org>

From: Xin Yin <yinxin.x@bytedance.com>

[ Upstream commit e85c81ba8859a4c839bcd69c5d83b32954133a5b ]

For the follow scenario:
1. jbd start commit transaction n
2. task A get new handle for transaction n+1
3. task A do some ineligible actions and mark FC_INELIGIBLE
4. jbd complete transaction n and clean FC_INELIGIBLE
5. task A call fsync

In this case fast commit will not fallback to full commit and
transaction n+1 also not handled by jbd.

Make ext4_fc_mark_ineligible() also record transaction tid for
latest ineligible case, when call ext4_fc_cleanup() check
current transaction tid, if small than latest ineligible tid
do not clear the EXT4_MF_FC_INELIGIBLE.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Reported-by: Ritesh Harjani <riteshh@linux.ibm.com>
Suggested-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com>
Signed-off-by: Xin Yin <yinxin.x@bytedance.com>
Link: https://lore.kernel.org/r/20220117093655.35160-2-yinxin.x@bytedance.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/ext4/ext4.h        |  3 ++-
 fs/ext4/extents.c     |  4 ++--
 fs/ext4/fast_commit.c | 33 +++++++++++++++++++++++++--------
 fs/ext4/inode.c       |  4 ++--
 fs/ext4/ioctl.c       |  4 ++--
 fs/ext4/namei.c       |  4 ++--
 fs/ext4/super.c       |  1 +
 fs/ext4/xattr.c       |  6 +++---
 fs/jbd2/commit.c      |  2 +-
 fs/jbd2/journal.c     |  2 +-
 include/linux/jbd2.h  |  2 +-
 11 files changed, 42 insertions(+), 23 deletions(-)

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 470fd3c2aef54..8b5015ea46199 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1747,6 +1747,7 @@ struct ext4_sb_info {
 	spinlock_t s_fc_lock;
 	struct buffer_head *s_fc_bh;
 	struct ext4_fc_stats s_fc_stats;
+	tid_t s_fc_ineligible_tid;
 #ifdef CONFIG_EXT4_DEBUG
 	int s_fc_debug_max_replay;
 #endif
@@ -2924,7 +2925,7 @@ void __ext4_fc_track_create(handle_t *handle, struct inode *inode,
 			    struct dentry *dentry);
 void ext4_fc_track_create(handle_t *handle, struct dentry *dentry);
 void ext4_fc_track_inode(handle_t *handle, struct inode *inode);
-void ext4_fc_mark_ineligible(struct super_block *sb, int reason);
+void ext4_fc_mark_ineligible(struct super_block *sb, int reason, handle_t *handle);
 void ext4_fc_start_update(struct inode *inode);
 void ext4_fc_stop_update(struct inode *inode);
 void ext4_fc_del(struct inode *inode);
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index d3a8d704d8b4f..d2667189be7e5 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -5342,7 +5342,7 @@ static int ext4_collapse_range(struct inode *inode, loff_t offset, loff_t len)
 		ret = PTR_ERR(handle);
 		goto out_mmap;
 	}
-	ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_FALLOC_RANGE);
+	ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_FALLOC_RANGE, handle);
 
 	down_write(&EXT4_I(inode)->i_data_sem);
 	ext4_discard_preallocations(inode, 0);
@@ -5482,7 +5482,7 @@ static int ext4_insert_range(struct inode *inode, loff_t offset, loff_t len)
 		ret = PTR_ERR(handle);
 		goto out_mmap;
 	}
-	ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_FALLOC_RANGE);
+	ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_FALLOC_RANGE, handle);
 
 	/* Expand file to avoid data loss if there is error while shifting */
 	inode->i_size += len;
diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
index 1b935feec6f6b..0cdfc5003d91a 100644
--- a/fs/ext4/fast_commit.c
+++ b/fs/ext4/fast_commit.c
@@ -302,18 +302,32 @@ void ext4_fc_del(struct inode *inode)
 }
 
 /*
- * Mark file system as fast commit ineligible. This means that next commit
- * operation would result in a full jbd2 commit.
+ * Mark file system as fast commit ineligible, and record latest
+ * ineligible transaction tid. This means until the recorded
+ * transaction, commit operation would result in a full jbd2 commit.
  */
-void ext4_fc_mark_ineligible(struct super_block *sb, int reason)
+void ext4_fc_mark_ineligible(struct super_block *sb, int reason, handle_t *handle)
 {
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
+	tid_t tid;
 
 	if (!test_opt2(sb, JOURNAL_FAST_COMMIT) ||
 	    (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY))
 		return;
 
 	ext4_set_mount_flag(sb, EXT4_MF_FC_INELIGIBLE);
+	if (handle && !IS_ERR(handle))
+		tid = handle->h_transaction->t_tid;
+	else {
+		read_lock(&sbi->s_journal->j_state_lock);
+		tid = sbi->s_journal->j_running_transaction ?
+				sbi->s_journal->j_running_transaction->t_tid : 0;
+		read_unlock(&sbi->s_journal->j_state_lock);
+	}
+	spin_lock(&sbi->s_fc_lock);
+	if (sbi->s_fc_ineligible_tid < tid)
+		sbi->s_fc_ineligible_tid = tid;
+	spin_unlock(&sbi->s_fc_lock);
 	WARN_ON(reason >= EXT4_FC_REASON_MAX);
 	sbi->s_fc_stats.fc_ineligible_reason_count[reason]++;
 }
@@ -389,7 +403,7 @@ static int __track_dentry_update(struct inode *inode, void *arg, bool update)
 	mutex_unlock(&ei->i_fc_lock);
 	node = kmem_cache_alloc(ext4_fc_dentry_cachep, GFP_NOFS);
 	if (!node) {
-		ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_NOMEM);
+		ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_NOMEM, NULL);
 		mutex_lock(&ei->i_fc_lock);
 		return -ENOMEM;
 	}
@@ -402,7 +416,7 @@ static int __track_dentry_update(struct inode *inode, void *arg, bool update)
 		if (!node->fcd_name.name) {
 			kmem_cache_free(ext4_fc_dentry_cachep, node);
 			ext4_fc_mark_ineligible(inode->i_sb,
-				EXT4_FC_REASON_NOMEM);
+				EXT4_FC_REASON_NOMEM, NULL);
 			mutex_lock(&ei->i_fc_lock);
 			return -ENOMEM;
 		}
@@ -504,7 +518,7 @@ void ext4_fc_track_inode(handle_t *handle, struct inode *inode)
 
 	if (ext4_should_journal_data(inode)) {
 		ext4_fc_mark_ineligible(inode->i_sb,
-					EXT4_FC_REASON_INODE_JOURNAL_DATA);
+					EXT4_FC_REASON_INODE_JOURNAL_DATA, handle);
 		return;
 	}
 
@@ -1182,7 +1196,7 @@ int ext4_fc_commit(journal_t *journal, tid_t commit_tid)
  * Fast commit cleanup routine. This is called after every fast commit and
  * full commit. full is true if we are called after a full commit.
  */
-static void ext4_fc_cleanup(journal_t *journal, int full)
+static void ext4_fc_cleanup(journal_t *journal, int full, tid_t tid)
 {
 	struct super_block *sb = journal->j_private;
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
@@ -1230,7 +1244,10 @@ static void ext4_fc_cleanup(journal_t *journal, int full)
 				&sbi->s_fc_q[FC_Q_MAIN]);
 
 	ext4_clear_mount_flag(sb, EXT4_MF_FC_COMMITTING);
-	ext4_clear_mount_flag(sb, EXT4_MF_FC_INELIGIBLE);
+	if (tid >= sbi->s_fc_ineligible_tid) {
+		sbi->s_fc_ineligible_tid = 0;
+		ext4_clear_mount_flag(sb, EXT4_MF_FC_INELIGIBLE);
+	}
 
 	if (full)
 		sbi->s_fc_bytes = 0;
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 3bdfe010e17f9..2f5686dfa30d5 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -337,7 +337,7 @@ void ext4_evict_inode(struct inode *inode)
 	return;
 no_delete:
 	if (!list_empty(&EXT4_I(inode)->i_fc_list))
-		ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_NOMEM);
+		ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_NOMEM, NULL);
 	ext4_clear_inode(inode);	/* We must guarantee clearing of inode... */
 }
 
@@ -5983,7 +5983,7 @@ int ext4_change_inode_journal_flag(struct inode *inode, int val)
 		return PTR_ERR(handle);
 
 	ext4_fc_mark_ineligible(inode->i_sb,
-		EXT4_FC_REASON_JOURNAL_FLAG_CHANGE);
+		EXT4_FC_REASON_JOURNAL_FLAG_CHANGE, handle);
 	err = ext4_mark_inode_dirty(handle, inode);
 	ext4_handle_sync(handle);
 	ext4_journal_stop(handle);
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index fd70bebb14370..f61b59045c6d3 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -169,7 +169,7 @@ static long swap_inode_boot_loader(struct super_block *sb,
 		err = -EINVAL;
 		goto err_out;
 	}
-	ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_SWAP_BOOT);
+	ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_SWAP_BOOT, handle);
 
 	/* Protect extent tree against block allocations via delalloc */
 	ext4_double_down_write_data_sem(inode, inode_bl);
@@ -1075,7 +1075,7 @@ static long __ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 
 		err = ext4_resize_fs(sb, n_blocks_count);
 		if (EXT4_SB(sb)->s_journal) {
-			ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_RESIZE);
+			ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_RESIZE, NULL);
 			jbd2_journal_lock_updates(EXT4_SB(sb)->s_journal);
 			err2 = jbd2_journal_flush(EXT4_SB(sb)->s_journal, 0);
 			jbd2_journal_unlock_updates(EXT4_SB(sb)->s_journal);
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index 52c9bd154122a..47b9f87dbc6f7 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
@@ -3889,7 +3889,7 @@ static int ext4_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
 		 * dirents in directories.
 		 */
 		ext4_fc_mark_ineligible(old.inode->i_sb,
-			EXT4_FC_REASON_RENAME_DIR);
+			EXT4_FC_REASON_RENAME_DIR, handle);
 	} else {
 		if (new.inode)
 			ext4_fc_track_unlink(handle, new.dentry);
@@ -4049,7 +4049,7 @@ static int ext4_cross_rename(struct inode *old_dir, struct dentry *old_dentry,
 	if (unlikely(retval))
 		goto end_rename;
 	ext4_fc_mark_ineligible(new.inode->i_sb,
-				EXT4_FC_REASON_CROSS_RENAME);
+				EXT4_FC_REASON_CROSS_RENAME, handle);
 	if (old.dir_bh) {
 		retval = ext4_rename_dir_finish(handle, &old, new.dir->i_ino);
 		if (retval)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index d304b72593d76..888b2db92924d 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -4627,6 +4627,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
 	sbi->s_fc_bytes = 0;
 	ext4_clear_mount_flag(sb, EXT4_MF_FC_INELIGIBLE);
 	ext4_clear_mount_flag(sb, EXT4_MF_FC_COMMITTING);
+	sbi->s_fc_ineligible_tid = 0;
 	spin_lock_init(&sbi->s_fc_lock);
 	memset(&sbi->s_fc_stats, 0, sizeof(sbi->s_fc_stats));
 	sbi->s_fc_replay_state.fc_regions = NULL;
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 1e0fc1ed845bf..0423253490986 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -2408,7 +2408,7 @@ ext4_xattr_set_handle(handle_t *handle, struct inode *inode, int name_index,
 		if (IS_SYNC(inode))
 			ext4_handle_sync(handle);
 	}
-	ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_XATTR);
+	ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_XATTR, handle);
 
 cleanup:
 	brelse(is.iloc.bh);
@@ -2486,7 +2486,7 @@ ext4_xattr_set(struct inode *inode, int name_index, const char *name,
 		if (error == 0)
 			error = error2;
 	}
-	ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_XATTR);
+	ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_XATTR, NULL);
 
 	return error;
 }
@@ -2920,7 +2920,7 @@ int ext4_xattr_delete_inode(handle_t *handle, struct inode *inode,
 					 error);
 			goto cleanup;
 		}
-		ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_XATTR);
+		ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_XATTR, handle);
 	}
 	error = 0;
 cleanup:
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c
index 3cc4ab2ba7f4f..d188fa913a075 100644
--- a/fs/jbd2/commit.c
+++ b/fs/jbd2/commit.c
@@ -1170,7 +1170,7 @@ void jbd2_journal_commit_transaction(journal_t *journal)
 	if (journal->j_commit_callback)
 		journal->j_commit_callback(journal, commit_transaction);
 	if (journal->j_fc_cleanup_callback)
-		journal->j_fc_cleanup_callback(journal, 1);
+		journal->j_fc_cleanup_callback(journal, 1, commit_transaction->t_tid);
 
 	trace_jbd2_end_commit(journal, commit_transaction);
 	jbd_debug(1, "JBD2: commit %d complete, head %d\n",
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index bd9ac98916043..1f8493ef181d6 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -769,7 +769,7 @@ EXPORT_SYMBOL(jbd2_fc_begin_commit);
 static int __jbd2_fc_end_commit(journal_t *journal, tid_t tid, bool fallback)
 {
 	if (journal->j_fc_cleanup_callback)
-		journal->j_fc_cleanup_callback(journal, 0);
+		journal->j_fc_cleanup_callback(journal, 0, tid);
 	write_lock(&journal->j_state_lock);
 	journal->j_flags &= ~JBD2_FAST_COMMIT_ONGOING;
 	if (fallback)
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h
index fd933c45281af..d63b8106796e2 100644
--- a/include/linux/jbd2.h
+++ b/include/linux/jbd2.h
@@ -1295,7 +1295,7 @@ struct journal_s
 	 * Clean-up after fast commit or full commit. JBD2 calls this function
 	 * after every commit operation.
 	 */
-	void (*j_fc_cleanup_callback)(struct journal_s *journal, int);
+	void (*j_fc_cleanup_callback)(struct journal_s *journal, int full, tid_t tid);
 
 	/**
 	 * @j_fc_replay_callback:
-- 
2.34.1




  parent reply	other threads:[~2022-03-07 10:02 UTC|newest]

Thread overview: 188+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-07  9:17 [PATCH 5.16 000/186] 5.16.13-rc1 review Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 001/186] mac80211_hwsim: report NOACK frames in tx_status Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 002/186] mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 003/186] i2c: bcm2835: Avoid clock stretching timeouts Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 004/186] ASoC: rt5682s: do not block workqueue if card is unbound Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 005/186] ASoC: rt5668: " Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 006/186] ASoC: rt5682: " Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 007/186] regulator: core: fix false positive in regulator_late_cleanup() Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 008/186] Input: clear BTN_RIGHT/MIDDLE on buttonpads Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 009/186] btrfs: get rid of warning on transaction commit when using flushoncommit Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 010/186] KVM: arm64: vgic: Read HW interrupt pending state from the HW Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 011/186] block: loop:use kstatfs.f_bsize of backing file to set discard granularity Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 012/186] tipc: fix a bit overflow in tipc_crypto_key_rcv() Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 013/186] cifs: do not use uninitialized data in the owner/group sid Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 014/186] cifs: fix double free race when mount fails in cifs_get_root() Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 015/186] HID: amd_sfh: Handle amd_sfh work buffer in PM ops Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 016/186] HID: amd_sfh: Add functionality to clear interrupts Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 017/186] HID: amd_sfh: Add interrupt handler to process interrupts Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 018/186] cifs: modefromsids must add an ACE for authenticated users Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 019/186] selftests/seccomp: Fix seccomp failure by adding missing headers Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 020/186] drm/amd/pm: correct UMD pstate clocks for Dimgrey Cavefish and Beige Goby Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 021/186] selftests/ftrace: Do not trace do_softirq because of PREEMPT_RT Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 022/186] dmaengine: shdma: Fix runtime PM imbalance on error Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 023/186] i2c: cadence: allow COMPILE_TEST Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 024/186] i2c: imx: " Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 025/186] i2c: qup: " Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 026/186] net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990 Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 027/186] block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 028/186] usb: gadget: dont release an existing dev->buf Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 029/186] usb: gadget: clear related members when goto fail Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 030/186] exfat: reuse exfat_inode_info variable instead of calling EXFAT_I() Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 031/186] exfat: fix i_blocks for files truncated over 4 GiB Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 032/186] tracing: Add test for user space strings when filtering on string pointers Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 033/186] arm64: Mark start_backtrace() notrace and NOKPROBE_SYMBOL Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 034/186] serial: stm32: prevent TDR register overwrite when sending x_char Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 035/186] KVM: arm64: Workaround Cortex-A510s single-step and PAC trap errata Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 036/186] ext4: drop ineligible txn start stop APIs Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 037/186] ext4: simplify updating of fast commit stats Greg Kroah-Hartman
2022-03-07  9:17 ` Greg Kroah-Hartman [this message]
2022-03-07  9:17 ` [PATCH 5.16 039/186] ext4: fast commit may miss file actions Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 040/186] sched/fair: Fix fault in reweight_entity Greg Kroah-Hartman
2022-03-07  9:17 ` [PATCH 5.16 041/186] KVM: x86: Add KVM_CAP_ENABLE_CAP to x86 Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 042/186] ata: pata_hpt37x: fix PCI clock detection Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 043/186] drm/amdgpu: check vm ready by amdgpu_vm->evicting flag Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 044/186] tracing: Add ustring operation to filtering string pointers Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 045/186] ipv6: fix skb drops in igmp6_event_query() and igmp6_event_report() Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 046/186] btrfs: defrag: bring back the old file extent search behavior Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 047/186] btrfs: defrag: dont use merged extent map for their generation check Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 048/186] ALSA: intel_hdmi: Fix reference to PCM buffer address Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 049/186] ucounts: Fix systemd LimitNPROC with private users regression Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 050/186] binfmt_elf: Avoid total_mapping_size for ET_EXEC Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 051/186] riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 052/186] riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 053/186] riscv: Fix config KASAN && DEBUG_VIRTUAL Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 054/186] iwlwifi: mvm: check debugfs_dir ptr before use Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 055/186] ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 056/186] iommu/vt-d: Fix double list_add when enabling VMD in scalable mode Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 057/186] iommu/amd: Recover from event log overflow Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 058/186] drm/i915: s/JSP2/ICP2/ PCH Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 059/186] drm/amd/display: Reduce dmesg error to a debug print Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 060/186] xen/netfront: destroy queues before real_num_tx_queues is zeroed Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 061/186] thermal: core: Fix TZ_GET_TRIP NULL pointer dereference Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 062/186] mac80211: fix EAPoL rekey fail in 802.3 rx path Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 063/186] blktrace: fix use after free for struct blk_trace Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 064/186] ntb: intel: fix port config status offset for SPR Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 065/186] mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 066/186] xfrm: fix MTU regression Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 067/186] netfilter: fix use-after-free in __nf_register_net_hook() Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 068/186] bpf, sockmap: Do not ignore orig_len parameter Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 069/186] xfrm: fix the if_id check in changelink Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 070/186] xfrm: enforce validity of offload input flags Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 071/186] e1000e: Correct NVM checksum verification flow Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 072/186] net: fix up skbs delta_truesize in UDP GRO frag_list Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 073/186] netfilter: nf_queue: dont assume sk is full socket Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 074/186] netfilter: nf_queue: fix possible use-after-free Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 075/186] netfilter: nf_queue: handle socket prefetch Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 076/186] batman-adv: Request iflink once in batadv-on-batadv check Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 077/186] batman-adv: Request iflink once in batadv_get_real_netdevice Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 078/186] batman-adv: Dont expect inter-netns unique iflink indices Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 079/186] net: ipv6: ensure we call ipv6_mc_down() at most once Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 080/186] net: dcb: flush lingering app table entries for unregistered devices Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 081/186] net: ipa: fix a build dependency Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 082/186] net: ipa: add an interconnect dependency Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 083/186] net/smc: fix connection leak Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 084/186] net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 085/186] net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 086/186] btrfs: fix ENOSPC failure when attempting direct IO write into NOCOW range Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 087/186] platform/x86: amd-pmc: Set QOS during suspend on CZN w/ timer wakeup Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 088/186] net: dsa: microchip: fix bridging with more than two member ports Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 089/186] mac80211: fix forwarded mesh frames AC & queue selection Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 090/186] net: stmmac: fix return value of __setup handler Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 091/186] mac80211: treat some SAE auth steps as final Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 092/186] iavf: Fix missing check for running netdev Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 093/186] net: sxgbe: fix return value of __setup handler Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 094/186] ibmvnic: register netdev after init of adapter Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 095/186] net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe() Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 096/186] ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc() Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 097/186] iavf: Fix deadlock in iavf_reset_task Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 098/186] efivars: Respect "block" flag in efivar_entry_set_safe() Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 099/186] auxdisplay: lcd2s: Fix lcd2s_redefine_char() feature Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 100/186] firmware: arm_scmi: Remove space in MODULE_ALIAS name Greg Kroah-Hartman
2022-03-07  9:18 ` [PATCH 5.16 101/186] ASoC: cs4265: Fix the duplicated control name Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 102/186] auxdisplay: lcd2s: Fix memory leak in ->remove() Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 103/186] auxdisplay: lcd2s: Use proper API to free the instance of charlcd object Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 104/186] can: gs_usb: change active_channelss type from atomic_t to u8 Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 105/186] iommu/tegra-smmu: Fix missing put_device() call in tegra_smmu_find Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 106/186] arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 107/186] igc: igc_read_phy_reg_gpy: drop premature return Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 108/186] ARM: Fix kgdb breakpoint for Thumb2 Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 109/186] mips: setup: fix setnocoherentio() boolean setting Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 110/186] ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 111/186] mptcp: Correctly set DATA_FIN timeout when number of retransmits is large Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 112/186] selftests: mlxsw: tc_police_scale: Make test more robust Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 113/186] pinctrl: sunxi: Use unique lockdep classes for IRQs Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 114/186] igc: igc_write_phy_reg_gpy: drop premature return Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 115/186] ibmvnic: free reset-work-item when flushing Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 116/186] memfd: fix F_SEAL_WRITE after shmem huge page allocated Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 117/186] s390/setup: preserve memory at OLDMEM_BASE and OLDMEM_SIZE Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 118/186] s390/extable: fix exception table sorting Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 119/186] sched: Fix yet more sched_fork() races Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 120/186] arm64: dts: rockchip: drop pclk_xpcs from gmac0 on rk3568 Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 121/186] arm64: dts: juno: Remove GICv2m dma-range Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 122/186] arm64: dts: rockchip: fix Quartz64-A ddr regulator voltage Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 123/186] arm64: dts: imx8mm: Fix VPU Hanging Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 124/186] iommu/amd: Simplify pagetable freeing Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 125/186] iommu/amd: Use put_pages_list Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 126/186] iommu/amd: Fix I/O page table memory leak Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 127/186] MIPS: ralink: mt7621: do memory detection on KSEG1 Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 128/186] ARM: dts: switch timer config to common devkit8000 devicetree Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 129/186] ARM: dts: Use 32KiHz oscillator on devkit8000 Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 130/186] soc: fsl: guts: Revert commit 3c0d64e867ed Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 131/186] soc: fsl: guts: Add a missing memory allocation failure check Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 132/186] soc: fsl: qe: Check of ioremap return value Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 133/186] soc: imx: gpcv2: Fix clock disabling imbalance in error path Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 134/186] netfilter: nf_tables: prefer kfree_rcu(ptr, rcu) variant Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 135/186] ARM: tegra: Move panels to AUX bus Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 136/186] Bluetooth: Fix bt_skb_sendmmsg not allocating partial chunks Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 137/186] can: etas_es58x: change opened_channel_cnts type from atomic_t to u8 Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 138/186] net: stmmac: enhance XDP ZC driver level switching performance Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 139/186] net: stmmac: only enable DMA interrupts when ready Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 140/186] ibmvnic: initialize rc before completing wait Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 141/186] ibmvnic: define flush_reset_queue helper Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 142/186] ibmvnic: complete init_done on transport events Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 143/186] ibmvnic: Update driver return codes Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 144/186] ibmvnic: init init_done_rc earlier Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 145/186] ibmvnic: clear fop when retrying probe Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 146/186] ibmvnic: Allow queueing resets during probe Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 147/186] net: chelsio: cxgb3: check the return value of pci_find_capability() Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 148/186] net: sparx5: Fix add vlan when invalid operation Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 149/186] iavf: Add trace while removing device Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 150/186] iavf: Rework mutexes for better synchronisation Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 151/186] iavf: Add waiting so the port is initialized in remove Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 152/186] iavf: Fix init state closure on remove Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 153/186] iavf: Fix locking for VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 154/186] iavf: Fix race in init state Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 155/186] iavf: Fix __IAVF_RESETTING state usage Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 156/186] drm/i915/guc/slpc: Correct the param count for unset param Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 157/186] drm/bridge: ti-sn65dsi86: Properly undo autosuspend Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 158/186] e1000e: Fix possible HW unit hang after an s0ix exit Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 159/186] MIPS: ralink: mt7621: use bitwise NOT instead of logical Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 160/186] nl80211: Handle nla_memdup failures in handle_nan_filter Greg Kroah-Hartman
2022-03-07  9:19 ` [PATCH 5.16 161/186] ptp: ocp: Add ptp_ocp_adjtime_coarse for large adjustments Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 162/186] drm/amdgpu: fix suspend/resume hang regression Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 163/186] net: dcb: disable softirqs in dcbnl_flush_dev() Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 164/186] selftests: mlxsw: resource_scale: Fix return value Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 165/186] net: stmmac: perserve TX and RX coalesce value during XDP setup Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 166/186] Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power() Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 167/186] Input: elan_i2c - fix regulator enable count imbalance after suspend/resume Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 168/186] Input: samsung-keypad - properly state IOMEM dependency Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 169/186] HID: add mapping for KEY_DICTATE Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 170/186] HID: add mapping for KEY_ALL_APPLICATIONS Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 171/186] tracing/histogram: Fix sorting on old "cpu" value Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 172/186] tracing: Fix return value of __setup handlers Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 173/186] btrfs: fix lost prealloc extents beyond eof after full fsync Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 174/186] btrfs: fix relocation crash due to premature return from btrfs_commit_transaction() Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 175/186] btrfs: subpage: fix a wrong check on subpage->writers Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 176/186] btrfs: do not WARN_ON() if we have PageError set Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 177/186] btrfs: qgroup: fix deadlock between rescan worker and remove qgroup Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 178/186] btrfs: add missing run of delayed items after unlink during log replay Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 179/186] btrfs: fallback to blocking mode when doing async dio over multiple extents Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 180/186] btrfs: do not start relocation until in progress drops are done Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 181/186] Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6" Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 182/186] proc: fix documentation and description of pagemap Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 183/186] x86/kvmclock: Fix Hyper-V Isolated VMs boot issue when vCPUs > 64 Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 184/186] s390/ftrace: fix arch_ftrace_get_regs implementation Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 185/186] s390/ftrace: fix ftrace_caller/ftrace_regs_caller generation Greg Kroah-Hartman
2022-03-07  9:20 ` [PATCH 5.16 186/186] KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots() Greg Kroah-Hartman
2022-03-07 14:29 ` [PATCH 5.16 000/186] 5.16.13-rc1 review Fox Chen

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=20220307091655.161642496@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dan.carpenter@oracle.com \
    --cc=harshadshirwadkar@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=riteshh@linux.ibm.com \
    --cc=sashal@kernel.org \
    --cc=stable@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=yinxin.x@bytedance.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).