All of lore.kernel.org
 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, Josef Bacik <josef@toxicpanda.com>,
	David Sterba <dsterba@suse.com>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 020/107] btrfs: add wrapper for transaction abort predicate
Date: Mon, 24 Aug 2020 10:29:46 +0200	[thread overview]
Message-ID: <20200824082406.096763389@linuxfoundation.org> (raw)
In-Reply-To: <20200824082405.020301642@linuxfoundation.org>

From: David Sterba <dsterba@suse.com>

[ Upstream commit bf31f87f71cc7a89871ab0a451c047a0c0144bf1 ]

The status of aborted transaction can change between calls and it needs
to be accessed by READ_ONCE. Add a helper that also wraps the unlikely
hint.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/btrfs/block-group.c   |  2 +-
 fs/btrfs/delayed-inode.c |  2 +-
 fs/btrfs/extent-tree.c   | 10 +++++-----
 fs/btrfs/super.c         |  2 +-
 fs/btrfs/transaction.c   | 25 +++++++++++++------------
 fs/btrfs/transaction.h   | 12 ++++++++++++
 6 files changed, 33 insertions(+), 20 deletions(-)

diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 42d69e77f89d9..b167649f5f5de 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -2168,7 +2168,7 @@ static int cache_save_setup(struct btrfs_block_group_cache *block_group,
 		return 0;
 	}
 
-	if (trans->aborted)
+	if (TRANS_ABORTED(trans))
 		return 0;
 again:
 	inode = lookup_free_space_inode(block_group, path);
diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c
index 5bcccfbcc7c15..a34ee9c2f3151 100644
--- a/fs/btrfs/delayed-inode.c
+++ b/fs/btrfs/delayed-inode.c
@@ -1151,7 +1151,7 @@ static int __btrfs_run_delayed_items(struct btrfs_trans_handle *trans, int nr)
 	int ret = 0;
 	bool count = (nr > 0);
 
-	if (trans->aborted)
+	if (TRANS_ABORTED(trans))
 		return -EIO;
 
 	path = btrfs_alloc_path();
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 739332b462059..a36bd4507bacd 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -1561,7 +1561,7 @@ static int run_delayed_extent_op(struct btrfs_trans_handle *trans,
 	int err = 0;
 	int metadata = !extent_op->is_data;
 
-	if (trans->aborted)
+	if (TRANS_ABORTED(trans))
 		return 0;
 
 	if (metadata && !btrfs_fs_incompat(fs_info, SKINNY_METADATA))
@@ -1681,7 +1681,7 @@ static int run_one_delayed_ref(struct btrfs_trans_handle *trans,
 {
 	int ret = 0;
 
-	if (trans->aborted) {
+	if (TRANS_ABORTED(trans)) {
 		if (insert_reserved)
 			btrfs_pin_extent(trans->fs_info, node->bytenr,
 					 node->num_bytes, 1);
@@ -2169,7 +2169,7 @@ int btrfs_run_delayed_refs(struct btrfs_trans_handle *trans,
 	int run_all = count == (unsigned long)-1;
 
 	/* We'll clean this up in btrfs_cleanup_transaction */
-	if (trans->aborted)
+	if (TRANS_ABORTED(trans))
 		return 0;
 
 	if (test_bit(BTRFS_FS_CREATING_FREE_SPACE_TREE, &fs_info->flags))
@@ -2892,7 +2892,7 @@ int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans)
 	else
 		unpin = &fs_info->freed_extents[0];
 
-	while (!trans->aborted) {
+	while (!TRANS_ABORTED(trans)) {
 		struct extent_state *cached_state = NULL;
 
 		mutex_lock(&fs_info->unused_bg_unpin_mutex);
@@ -2924,7 +2924,7 @@ int btrfs_finish_extent_commit(struct btrfs_trans_handle *trans)
 		u64 trimmed = 0;
 
 		ret = -EROFS;
-		if (!trans->aborted)
+		if (!TRANS_ABORTED(trans))
 			ret = btrfs_discard_extent(fs_info,
 						   block_group->key.objectid,
 						   block_group->key.offset,
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index e21cae80c6d58..a1498df419b4f 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -241,7 +241,7 @@ void __btrfs_abort_transaction(struct btrfs_trans_handle *trans,
 {
 	struct btrfs_fs_info *fs_info = trans->fs_info;
 
-	trans->aborted = errno;
+	WRITE_ONCE(trans->aborted, errno);
 	/* Nothing used. The other threads that have joined this
 	 * transaction may be able to continue. */
 	if (!trans->dirty && list_empty(&trans->new_bgs)) {
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c
index 465ddb297c381..c346ee7ec18d4 100644
--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -174,7 +174,7 @@ loop:
 
 	cur_trans = fs_info->running_transaction;
 	if (cur_trans) {
-		if (cur_trans->aborted) {
+		if (TRANS_ABORTED(cur_trans)) {
 			spin_unlock(&fs_info->trans_lock);
 			return cur_trans->aborted;
 		}
@@ -390,7 +390,7 @@ static inline int is_transaction_blocked(struct btrfs_transaction *trans)
 {
 	return (trans->state >= TRANS_STATE_BLOCKED &&
 		trans->state < TRANS_STATE_UNBLOCKED &&
-		!trans->aborted);
+		!TRANS_ABORTED(trans));
 }
 
 /* wait for commit against the current transaction to become unblocked
@@ -409,7 +409,7 @@ static void wait_current_trans(struct btrfs_fs_info *fs_info)
 
 		wait_event(fs_info->transaction_wait,
 			   cur_trans->state >= TRANS_STATE_UNBLOCKED ||
-			   cur_trans->aborted);
+			   TRANS_ABORTED(cur_trans));
 		btrfs_put_transaction(cur_trans);
 	} else {
 		spin_unlock(&fs_info->trans_lock);
@@ -870,7 +870,7 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans,
 	if (throttle)
 		btrfs_run_delayed_iputs(info);
 
-	if (trans->aborted ||
+	if (TRANS_ABORTED(trans) ||
 	    test_bit(BTRFS_FS_STATE_ERROR, &info->fs_state)) {
 		wake_up_process(info->transaction_kthread);
 		if (TRANS_ABORTED(trans))
@@ -1730,7 +1730,8 @@ static void wait_current_trans_commit_start(struct btrfs_fs_info *fs_info,
 					    struct btrfs_transaction *trans)
 {
 	wait_event(fs_info->transaction_blocked_wait,
-		   trans->state >= TRANS_STATE_COMMIT_START || trans->aborted);
+		   trans->state >= TRANS_STATE_COMMIT_START ||
+		   TRANS_ABORTED(trans));
 }
 
 /*
@@ -1742,7 +1743,8 @@ static void wait_current_trans_commit_start_and_unblock(
 					struct btrfs_transaction *trans)
 {
 	wait_event(fs_info->transaction_wait,
-		   trans->state >= TRANS_STATE_UNBLOCKED || trans->aborted);
+		   trans->state >= TRANS_STATE_UNBLOCKED ||
+		   TRANS_ABORTED(trans));
 }
 
 /*
@@ -1960,7 +1962,7 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
 	trans->dirty = true;
 
 	/* Stop the commit early if ->aborted is set */
-	if (unlikely(READ_ONCE(cur_trans->aborted))) {
+	if (TRANS_ABORTED(cur_trans)) {
 		ret = cur_trans->aborted;
 		btrfs_end_transaction(trans);
 		return ret;
@@ -2034,7 +2036,7 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
 
 		wait_for_commit(cur_trans);
 
-		if (unlikely(cur_trans->aborted))
+		if (TRANS_ABORTED(cur_trans))
 			ret = cur_trans->aborted;
 
 		btrfs_put_transaction(cur_trans);
@@ -2053,7 +2055,7 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
 			spin_unlock(&fs_info->trans_lock);
 
 			wait_for_commit(prev_trans);
-			ret = prev_trans->aborted;
+			ret = READ_ONCE(prev_trans->aborted);
 
 			btrfs_put_transaction(prev_trans);
 			if (ret)
@@ -2107,8 +2109,7 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
 	wait_event(cur_trans->writer_wait,
 		   atomic_read(&cur_trans->num_writers) == 1);
 
-	/* ->aborted might be set after the previous check, so check it */
-	if (unlikely(READ_ONCE(cur_trans->aborted))) {
+	if (TRANS_ABORTED(cur_trans)) {
 		ret = cur_trans->aborted;
 		goto scrub_continue;
 	}
@@ -2226,7 +2227,7 @@ int btrfs_commit_transaction(struct btrfs_trans_handle *trans)
 	 * The tasks which save the space cache and inode cache may also
 	 * update ->aborted, check it.
 	 */
-	if (unlikely(READ_ONCE(cur_trans->aborted))) {
+	if (TRANS_ABORTED(cur_trans)) {
 		ret = cur_trans->aborted;
 		mutex_unlock(&fs_info->tree_log_mutex);
 		mutex_unlock(&fs_info->reloc_mutex);
diff --git a/fs/btrfs/transaction.h b/fs/btrfs/transaction.h
index b15c31d231488..7291a2a930751 100644
--- a/fs/btrfs/transaction.h
+++ b/fs/btrfs/transaction.h
@@ -116,6 +116,10 @@ struct btrfs_trans_handle {
 	struct btrfs_block_rsv *orig_rsv;
 	refcount_t use_count;
 	unsigned int type;
+	/*
+	 * Error code of transaction abort, set outside of locks and must use
+	 * the READ_ONCE/WRITE_ONCE access
+	 */
 	short aborted;
 	bool adding_csums;
 	bool allocating_chunk;
@@ -127,6 +131,14 @@ struct btrfs_trans_handle {
 	struct list_head new_bgs;
 };
 
+/*
+ * The abort status can be changed between calls and is not protected by locks.
+ * This accepts btrfs_transaction and btrfs_trans_handle as types. Once it's
+ * set to a non-zero value it does not change, so the macro should be in checks
+ * but is not necessary for further reads of the value.
+ */
+#define TRANS_ABORTED(trans)		(unlikely(READ_ONCE((trans)->aborted)))
+
 struct btrfs_pending_snapshot {
 	struct dentry *dentry;
 	struct inode *dir;
-- 
2.25.1




  parent reply	other threads:[~2020-08-24  8:45 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-24  8:29 [PATCH 5.4 000/107] 5.4.61-rc1 review Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 001/107] Documentation/llvm: add documentation on building w/ Clang/LLVM Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 002/107] Documentation/llvm: fix the name of llvm-size Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 003/107] net: wan: wanxl: use allow to pass CROSS_COMPILE_M68k for rebuilding firmware Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 004/107] net: wan: wanxl: use $(M68KCC) instead of $(M68KAS) " Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 005/107] x86/boot: kbuild: allow readelf executable to be specified Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 006/107] kbuild: remove PYTHON2 variable Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 007/107] kbuild: remove AS variable Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 008/107] kbuild: replace AS=clang with LLVM_IAS=1 Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 009/107] kbuild: support LLVM=1 to switch the default tools to Clang/LLVM Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 010/107] drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 011/107] gfs2: Improve mmap write vs. punch_hole consistency Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 012/107] gfs2: Never call gfs2_block_zero_range with an open transaction Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 013/107] perf probe: Fix memory leakage when the probe point is not found Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 014/107] khugepaged: khugepaged_test_exit() check mmget_still_valid() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 015/107] khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 016/107] bcache: avoid nr_stripes overflow in bcache_device_init() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 017/107] btrfs: export helpers for subvolume name/id resolution Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 018/107] btrfs: dont show full path of bind mounts in subvol= Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 019/107] btrfs: return EROFS for BTRFS_FS_STATE_ERROR cases Greg Kroah-Hartman
2020-08-24  8:29 ` Greg Kroah-Hartman [this message]
2020-08-24  8:29 ` [PATCH 5.4 021/107] ALSA: hda/realtek: Add quirk for Samsung Galaxy Flex Book Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 022/107] ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 023/107] can: j1939: transport: j1939_session_tx_dat(): fix use-after-free read in j1939_tp_txtimer() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 024/107] can: j1939: socket: j1939_sk_bind(): make sure ml_priv is allocated Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 025/107] spi: Prevent adding devices below an unregistering controller Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 026/107] romfs: fix uninitialized memory leak in romfs_dev_read() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 027/107] kernel/relay.c: fix memleak on destroy relay channel Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 028/107] uprobes: __replace_page() avoid BUG in munlock_vma_page() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 029/107] mm: include CMA pages in lowmem_reserve at boot Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 030/107] mm, page_alloc: fix core hung in free_pcppages_bulk() Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 031/107] RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 032/107] ext4: fix checking of directory entry validity for inline directories Greg Kroah-Hartman
2020-08-24  8:29 ` [PATCH 5.4 033/107] jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 034/107] scsi: zfcp: Fix use-after-free in request timeout handlers Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 035/107] mm/memory.c: skip spurious TLB flush for retried page fault Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 036/107] drm/amdgpu/display: use GFP_ATOMIC in dcn20_validate_bandwidth_internal Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 037/107] drm/amd/display: Fix EDID parsing after resume from suspend Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 038/107] drm/amd/display: fix pow() crashing when given base 0 Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 039/107] kthread: Do not preempt current task if it is going to call schedule() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 040/107] opp: Enable resources again if they were disabled earlier Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 041/107] scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 042/107] scsi: target: tcmu: Fix crash in tcmu_flush_dcache_range on ARM Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 043/107] media: budget-core: Improve exception handling in budget_register() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 044/107] rtc: goldfish: Enable interrupt in set_alarm() when necessary Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 045/107] media: vpss: clean up resources in init Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 046/107] Input: psmouse - add a newline when printing proto by sysfs Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 047/107] MIPS: Fix unable to reserve memory for Crash kernel Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 048/107] m68knommu: fix overwriting of bits in ColdFire V3 cache control Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 049/107] svcrdma: Fix another Receive buffer leak Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 050/107] xfs: fix inode quota reservation checks Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 051/107] drm/ttm: fix offset in VMAs with a pg_offs in ttm_bo_vm_access Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 052/107] jffs2: fix UAF problem Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 053/107] ceph: fix use-after-free for fsc->mdsc Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 054/107] swiotlb-xen: use vmalloc_to_page on vmalloc virt addresses Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 055/107] cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0 Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 056/107] scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 057/107] virtio_ring: Avoid loop when vq is broken in virtqueue_poll Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 058/107] media: camss: fix memory leaks on error handling paths in probe Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 059/107] tools/testing/selftests/cgroup/cgroup_util.c: cg_read_strcmp: fix null pointer dereference Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 060/107] xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 061/107] alpha: fix annotation of io{read,write}{16,32}be() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 062/107] fs/signalfd.c: fix inconsistent return codes for signalfd4 Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 063/107] ext4: fix potential negative array index in do_split() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 064/107] ext4: dont allow overlapping system zones Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 065/107] netfilter: nf_tables: nft_exthdr: the presence return value should be little-endian Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 066/107] spi: stm32: fixes suspend/resume management Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 067/107] ASoC: q6afe-dai: mark all widgets registers as SND_SOC_NOPM Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 068/107] ASoC: q6routing: add dummy register read/write function Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 069/107] bpf: sock_ops sk access may stomp registers when dst_reg = src_reg Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 070/107] can: j1939: fix kernel-infoleak in j1939_sk_sock2sockaddr_can() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 071/107] can: j1939: transport: j1939_simple_recv(): ignore local J1939 messages send not by J1939 stack Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 072/107] can: j1939: transport: add j1939_session_skb_find_by_offset() function Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 073/107] i40e: Set RX_ONLY mode for unicast promiscuous on VLAN Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 074/107] i40e: Fix crash during removing i40e driver Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 075/107] net: fec: correct the error path for regulator disable in probe Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 076/107] bonding: show saner speed for broadcast mode Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 077/107] can: j1939: fix support for multipacket broadcast message Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 078/107] can: j1939: cancel rxtimer on multipacket broadcast session complete Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 079/107] can: j1939: abort multipacket broadcast session when timeout occurs Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 080/107] can: j1939: add rxtimer for multipacket broadcast session Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 081/107] bonding: fix a potential double-unregister Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 082/107] s390/runtime_instrumentation: fix storage key handling Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 083/107] s390/ptrace: " Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 084/107] ASoC: msm8916-wcd-analog: fix register Interrupt offset Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 085/107] ASoC: intel: Fix memleak in sst_media_open Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 086/107] vfio/type1: Add proper error unwind for vfio_iommu_replay() Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 087/107] kvm: x86: Toggling CR4.SMAP does not load PDPTEs in PAE mode Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 088/107] kvm: x86: Toggling CR4.PKE " Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 089/107] Revert "scsi: qla2xxx: Disable T10-DIF feature with FC-NVMe during probe" Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 090/107] kconfig: qconf: do not limit the pop-up menu to the first row Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 091/107] kconfig: qconf: fix signal connection to invalid slots Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 092/107] efi: avoid error message when booting under Xen Greg Kroah-Hartman
2020-08-24  8:30 ` [PATCH 5.4 093/107] Fix build error when CONFIG_ACPI is not set/enabled: Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 094/107] RDMA/bnxt_re: Do not add user qps to flushlist Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 095/107] afs: Fix NULL deref in afs_dynroot_depopulate() Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 096/107] ARM64: vdso32: Install vdso32 from vdso_install Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 097/107] bonding: fix active-backup failover for current ARP slave Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 098/107] net: ena: Prevent reset after device destruction Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 099/107] net: gemini: Fix missing free_netdev() in error path of gemini_ethernet_port_probe() Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 100/107] hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit() Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 101/107] net: dsa: b53: check for timeout Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 102/107] powerpc/pseries: Do not initiate shutdown when system is running on UPS Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 103/107] efi: add missed destroy_workqueue when efisubsys_init fails Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 104/107] epoll: Keep a reference on files added to the check list Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 105/107] do_epoll_ctl(): clean the failure exits up a bit Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 106/107] mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible Greg Kroah-Hartman
2020-08-24  8:31 ` [PATCH 5.4 107/107] xen: dont reschedule in preemption off sections Greg Kroah-Hartman
2020-08-24 10:16 ` [PATCH 5.4 000/107] 5.4.61-rc1 review Jon Hunter

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=20200824082406.096763389@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dsterba@suse.com \
    --cc=josef@toxicpanda.com \
    --cc=linux-kernel@vger.kernel.org \
    --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.