linux-kernel.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, Josef Bacik <josef@toxicpanda.com>,
	David Sterba <dsterba@suse.com>
Subject: [PATCH 5.4 016/152] btrfs: open device without device_list_mutex
Date: Thu, 20 Aug 2020 11:19:43 +0200	[thread overview]
Message-ID: <20200820091554.478080413@linuxfoundation.org> (raw)
In-Reply-To: <20200820091553.615456912@linuxfoundation.org>

From: Josef Bacik <josef@toxicpanda.com>

commit 18c850fdc5a801bad4977b0f1723761d42267e45 upstream.

There's long existed a lockdep splat because we open our bdev's under
the ->device_list_mutex at mount time, which acquires the bd_mutex.
Usually this goes unnoticed, but if you do loopback devices at all
suddenly the bd_mutex comes with a whole host of other dependencies,
which results in the splat when you mount a btrfs file system.

======================================================
WARNING: possible circular locking dependency detected
5.8.0-0.rc3.1.fc33.x86_64+debug #1 Not tainted
------------------------------------------------------
systemd-journal/509 is trying to acquire lock:
ffff970831f84db0 (&fs_info->reloc_mutex){+.+.}-{3:3}, at: btrfs_record_root_in_trans+0x44/0x70 [btrfs]

but task is already holding lock:
ffff97083144d598 (sb_pagefaults){.+.+}-{0:0}, at: btrfs_page_mkwrite+0x59/0x560 [btrfs]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

 -> #6 (sb_pagefaults){.+.+}-{0:0}:
       __sb_start_write+0x13e/0x220
       btrfs_page_mkwrite+0x59/0x560 [btrfs]
       do_page_mkwrite+0x4f/0x130
       do_wp_page+0x3b0/0x4f0
       handle_mm_fault+0xf47/0x1850
       do_user_addr_fault+0x1fc/0x4b0
       exc_page_fault+0x88/0x300
       asm_exc_page_fault+0x1e/0x30

 -> #5 (&mm->mmap_lock#2){++++}-{3:3}:
       __might_fault+0x60/0x80
       _copy_from_user+0x20/0xb0
       get_sg_io_hdr+0x9a/0xb0
       scsi_cmd_ioctl+0x1ea/0x2f0
       cdrom_ioctl+0x3c/0x12b4
       sr_block_ioctl+0xa4/0xd0
       block_ioctl+0x3f/0x50
       ksys_ioctl+0x82/0xc0
       __x64_sys_ioctl+0x16/0x20
       do_syscall_64+0x52/0xb0
       entry_SYSCALL_64_after_hwframe+0x44/0xa9

 -> #4 (&cd->lock){+.+.}-{3:3}:
       __mutex_lock+0x7b/0x820
       sr_block_open+0xa2/0x180
       __blkdev_get+0xdd/0x550
       blkdev_get+0x38/0x150
       do_dentry_open+0x16b/0x3e0
       path_openat+0x3c9/0xa00
       do_filp_open+0x75/0x100
       do_sys_openat2+0x8a/0x140
       __x64_sys_openat+0x46/0x70
       do_syscall_64+0x52/0xb0
       entry_SYSCALL_64_after_hwframe+0x44/0xa9

 -> #3 (&bdev->bd_mutex){+.+.}-{3:3}:
       __mutex_lock+0x7b/0x820
       __blkdev_get+0x6a/0x550
       blkdev_get+0x85/0x150
       blkdev_get_by_path+0x2c/0x70
       btrfs_get_bdev_and_sb+0x1b/0xb0 [btrfs]
       open_fs_devices+0x88/0x240 [btrfs]
       btrfs_open_devices+0x92/0xa0 [btrfs]
       btrfs_mount_root+0x250/0x490 [btrfs]
       legacy_get_tree+0x30/0x50
       vfs_get_tree+0x28/0xc0
       vfs_kern_mount.part.0+0x71/0xb0
       btrfs_mount+0x119/0x380 [btrfs]
       legacy_get_tree+0x30/0x50
       vfs_get_tree+0x28/0xc0
       do_mount+0x8c6/0xca0
       __x64_sys_mount+0x8e/0xd0
       do_syscall_64+0x52/0xb0
       entry_SYSCALL_64_after_hwframe+0x44/0xa9

 -> #2 (&fs_devs->device_list_mutex){+.+.}-{3:3}:
       __mutex_lock+0x7b/0x820
       btrfs_run_dev_stats+0x36/0x420 [btrfs]
       commit_cowonly_roots+0x91/0x2d0 [btrfs]
       btrfs_commit_transaction+0x4e6/0x9f0 [btrfs]
       btrfs_sync_file+0x38a/0x480 [btrfs]
       __x64_sys_fdatasync+0x47/0x80
       do_syscall_64+0x52/0xb0
       entry_SYSCALL_64_after_hwframe+0x44/0xa9

 -> #1 (&fs_info->tree_log_mutex){+.+.}-{3:3}:
       __mutex_lock+0x7b/0x820
       btrfs_commit_transaction+0x48e/0x9f0 [btrfs]
       btrfs_sync_file+0x38a/0x480 [btrfs]
       __x64_sys_fdatasync+0x47/0x80
       do_syscall_64+0x52/0xb0
       entry_SYSCALL_64_after_hwframe+0x44/0xa9

 -> #0 (&fs_info->reloc_mutex){+.+.}-{3:3}:
       __lock_acquire+0x1241/0x20c0
       lock_acquire+0xb0/0x400
       __mutex_lock+0x7b/0x820
       btrfs_record_root_in_trans+0x44/0x70 [btrfs]
       start_transaction+0xd2/0x500 [btrfs]
       btrfs_dirty_inode+0x44/0xd0 [btrfs]
       file_update_time+0xc6/0x120
       btrfs_page_mkwrite+0xda/0x560 [btrfs]
       do_page_mkwrite+0x4f/0x130
       do_wp_page+0x3b0/0x4f0
       handle_mm_fault+0xf47/0x1850
       do_user_addr_fault+0x1fc/0x4b0
       exc_page_fault+0x88/0x300
       asm_exc_page_fault+0x1e/0x30

other info that might help us debug this:

Chain exists of:
  &fs_info->reloc_mutex --> &mm->mmap_lock#2 --> sb_pagefaults

Possible unsafe locking scenario:

     CPU0                    CPU1
     ----                    ----
 lock(sb_pagefaults);
                             lock(&mm->mmap_lock#2);
                             lock(sb_pagefaults);
 lock(&fs_info->reloc_mutex);

 *** DEADLOCK ***

3 locks held by systemd-journal/509:
 #0: ffff97083bdec8b8 (&mm->mmap_lock#2){++++}-{3:3}, at: do_user_addr_fault+0x12e/0x4b0
 #1: ffff97083144d598 (sb_pagefaults){.+.+}-{0:0}, at: btrfs_page_mkwrite+0x59/0x560 [btrfs]
 #2: ffff97083144d6a8 (sb_internal){.+.+}-{0:0}, at: start_transaction+0x3f8/0x500 [btrfs]

stack backtrace:
CPU: 0 PID: 509 Comm: systemd-journal Not tainted 5.8.0-0.rc3.1.fc33.x86_64+debug #1
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
Call Trace:
 dump_stack+0x92/0xc8
 check_noncircular+0x134/0x150
 __lock_acquire+0x1241/0x20c0
 lock_acquire+0xb0/0x400
 ? btrfs_record_root_in_trans+0x44/0x70 [btrfs]
 ? lock_acquire+0xb0/0x400
 ? btrfs_record_root_in_trans+0x44/0x70 [btrfs]
 __mutex_lock+0x7b/0x820
 ? btrfs_record_root_in_trans+0x44/0x70 [btrfs]
 ? kvm_sched_clock_read+0x14/0x30
 ? sched_clock+0x5/0x10
 ? sched_clock_cpu+0xc/0xb0
 btrfs_record_root_in_trans+0x44/0x70 [btrfs]
 start_transaction+0xd2/0x500 [btrfs]
 btrfs_dirty_inode+0x44/0xd0 [btrfs]
 file_update_time+0xc6/0x120
 btrfs_page_mkwrite+0xda/0x560 [btrfs]
 ? sched_clock+0x5/0x10
 do_page_mkwrite+0x4f/0x130
 do_wp_page+0x3b0/0x4f0
 handle_mm_fault+0xf47/0x1850
 do_user_addr_fault+0x1fc/0x4b0
 exc_page_fault+0x88/0x300
 ? asm_exc_page_fault+0x8/0x30
 asm_exc_page_fault+0x1e/0x30
RIP: 0033:0x7fa3972fdbfe
Code: Bad RIP value.

Fix this by not holding the ->device_list_mutex at this point.  The
device_list_mutex exists to protect us from modifying the device list
while the file system is running.

However it can also be modified by doing a scan on a device.  But this
action is specifically protected by the uuid_mutex, which we are holding
here.  We cannot race with opening at this point because we have the
->s_mount lock held during the mount.  Not having the
->device_list_mutex here is perfectly safe as we're not going to change
the devices at this point.

CC: stable@vger.kernel.org # 4.19+
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
[ add some comments ]
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/btrfs/volumes.c |   21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -219,7 +219,9 @@ static int __btrfs_map_block(struct btrf
  *
  * global::fs_devs - add, remove, updates to the global list
  *
- * does not protect: manipulation of the fs_devices::devices list!
+ * does not protect: manipulation of the fs_devices::devices list in general
+ * but in mount context it could be used to exclude list modifications by eg.
+ * scan ioctl
  *
  * btrfs_device::name - renames (write side), read is RCU
  *
@@ -232,6 +234,9 @@ static int __btrfs_map_block(struct btrf
  * may be used to exclude some operations from running concurrently without any
  * modifications to the list (see write_all_supers)
  *
+ * Is not required at mount and close times, because our device list is
+ * protected by the uuid_mutex at that point.
+ *
  * balance_mutex
  * -------------
  * protects balance structures (status, state) and context accessed from
@@ -778,6 +783,11 @@ static int btrfs_free_stale_devices(cons
 	return ret;
 }
 
+/*
+ * This is only used on mount, and we are protected from competing things
+ * messing with our fs_devices by the uuid_mutex, thus we do not need the
+ * fs_devices->device_list_mutex here.
+ */
 static int btrfs_open_one_device(struct btrfs_fs_devices *fs_devices,
 			struct btrfs_device *device, fmode_t flags,
 			void *holder)
@@ -1418,8 +1428,14 @@ int btrfs_open_devices(struct btrfs_fs_d
 	int ret;
 
 	lockdep_assert_held(&uuid_mutex);
+	/*
+	 * The device_list_mutex cannot be taken here in case opening the
+	 * underlying device takes further locks like bd_mutex.
+	 *
+	 * We also don't need the lock here as this is called during mount and
+	 * exclusion is provided by uuid_mutex
+	 */
 
-	mutex_lock(&fs_devices->device_list_mutex);
 	if (fs_devices->opened) {
 		fs_devices->opened++;
 		ret = 0;
@@ -1427,7 +1443,6 @@ int btrfs_open_devices(struct btrfs_fs_d
 		list_sort(NULL, &fs_devices->devices, devid_cmp);
 		ret = open_fs_devices(fs_devices, flags, holder);
 	}
-	mutex_unlock(&fs_devices->device_list_mutex);
 
 	return ret;
 }



  parent reply	other threads:[~2020-08-20 12:40 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-20  9:19 [PATCH 5.4 000/152] 5.4.60-rc1 review Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 001/152] smb3: warn on confusing error scenario with sec=krb5 Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 002/152] genirq/affinity: Make affinity setting if activated opt-in Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 003/152] genirq/PM: Always unlock IRQ descriptor in rearm_wake_irq() Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 004/152] PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context() Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 005/152] PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 006/152] PCI: Add device even if driver attach failed Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 007/152] PCI: qcom: Define some PARF params needed for ipq8064 SoC Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 008/152] PCI: qcom: Add support for tx term offset for rev 2.1.0 Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 009/152] btrfs: allow use of global block reserve for balance item deletion Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 010/152] btrfs: free anon block device right after subvolume deletion Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 011/152] btrfs: dont allocate anonymous block device for user invisible roots Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 012/152] btrfs: ref-verify: fix memory leak in add_block_entry Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 013/152] btrfs: stop incremening log_batch for the log root tree when syncing log Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 014/152] btrfs: remove no longer needed use of log_writers for the log root tree Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 015/152] btrfs: dont traverse into the seed devices in show_devname Greg Kroah-Hartman
2020-08-20  9:19 ` Greg Kroah-Hartman [this message]
2020-08-20  9:19 ` [PATCH 5.4 017/152] btrfs: move the chunk_mutex in btrfs_read_chunk_tree Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 018/152] btrfs: relocation: review the call sites which can be interrupted by signal Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 019/152] btrfs: add missing check for nocow and compression inode flags Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 020/152] btrfs: avoid possible signal interruption of btrfs_drop_snapshot() on relocation tree Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 021/152] btrfs: sysfs: use NOFS for device creation Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 022/152] btrfs: dont WARN if we abort a transaction with EROFS Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 023/152] btrfs: fix race between page release and a fast fsync Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 024/152] btrfs: fix messages after changing compression level by remount Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 025/152] btrfs: only search for left_info if there is no right_info in try_merge_free_space Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 026/152] btrfs: inode: fix NULL pointer dereference if inode doesnt need compression Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 027/152] btrfs: fix memory leaks after failure to lookup checksums during inode logging Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 028/152] btrfs: make sure SB_I_VERSION doesnt get unset by remount Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 029/152] btrfs: fix return value mixup in btrfs_get_extent Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 030/152] arm64: perf: Correct the event index in sysfs Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 031/152] dt-bindings: iio: io-channel-mux: Fix compatible string in example code Greg Kroah-Hartman
2020-08-20  9:19 ` [PATCH 5.4 032/152] iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw() Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 033/152] xtensa: add missing exclusive access state management Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 034/152] xtensa: fix xtensa_pmu_setup prototype Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 035/152] cifs: Fix leak when handling lease break for cached root fid Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 036/152] powerpc/ptdump: Fix build failure in hashpagetable.c Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 037/152] powerpc: Allow 4224 bytes of stack expansion for the signal frame Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 038/152] powerpc: Fix circular dependency between percpu.h and mmu.h Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 039/152] pinctrl: ingenic: Enhance support for IRQ_TYPE_EDGE_BOTH Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 040/152] media: vsp1: dl: Fix NULL pointer dereference on unbind Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 041/152] net: ethernet: stmmac: Disable hardware multicast filter Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 042/152] net: stmmac: dwmac1000: provide multicast filter fallback Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 043/152] net/compat: Add missing sock updates for SCM_RIGHTS Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 044/152] md/raid5: Fix Force reconstruct-write io stuck in degraded raid5 Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 045/152] bcache: allocate meta data pages as compound pages Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 046/152] bcache: fix overflow in offset_to_stripe() Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 047/152] mac80211: fix misplaced while instead of if Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 048/152] driver core: Avoid binding drivers to dead devices Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 049/152] MIPS: CPU#0 is not hotpluggable Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 050/152] MIPS: qi_lb60: Fix routing to audio amplifier Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 051/152] ext2: fix missing percpu_counter_inc Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 052/152] khugepaged: collapse_pte_mapped_thp() flush the right range Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 053/152] khugepaged: collapse_pte_mapped_thp() protect the pmd lock Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 054/152] ocfs2: change slot number type s16 to u16 Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 055/152] mm/page_counter.c: fix protection usage propagation Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 056/152] mm/memory_hotplug: fix unpaired mem_hotplug_begin/done Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 057/152] ftrace: Setup correct FTRACE_FL_REGS flags for module Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 058/152] kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 059/152] tracing/hwlat: Honor the tracing_cpumask Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 060/152] tracing: Use trace_sched_process_free() instead of exit() for pid tracing Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 061/152] tracing: Move pipe reference to trace array instead of current_tracer Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 062/152] watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 063/152] watchdog: f71808e_wdt: remove use of wrong watchdog_info option Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 064/152] watchdog: f71808e_wdt: clear watchdog timeout occurred flag Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 065/152] ceph: set sec_context xattr on symlink creation Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 066/152] ceph: handle zero-length feature mask in session messages Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 067/152] pseries: Fix 64 bit logical memory block panic Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 068/152] module: Correctly truncate sysfs sections output Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 069/152] perf intel-pt: Fix FUP packet state Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 070/152] perf intel-pt: Fix duplicate branch after CBR Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 071/152] remoteproc: qcom: q6v5: Update running state before requesting stop Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 072/152] remoteproc: qcom_q6v5_mss: Validate MBA firmware size before load Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 073/152] remoteproc: qcom_q6v5_mss: Validate modem blob " Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 074/152] drm/imx: imx-ldb: Disable both channels for split mode in enc->disable() Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 075/152] orangefs: get rid of knob code Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 076/152] pinctrl: ingenic: Properly detect GPIO direction when configured for IRQ Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 077/152] crypto: algif_aead - Only wake up when ctx->more is zero Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 078/152] mfd: arizona: Ensure 32k clock is put on driver unbind and error Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 079/152] octeontx2-af: change (struct qmem)->entry_sz from u8 to u16 Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 080/152] mtd: rawnand: fsl_upm: Remove unused mtd var Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 081/152] platform/chrome: cros_ec_ishtp: Fix a double-unlock issue Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 082/152] RDMA/ipoib: Return void from ipoib_ib_dev_stop() Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 083/152] RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah() Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 084/152] media: rockchip: rga: Introduce color fmt macros and refactor CSC mode logic Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 085/152] media: rockchip: rga: Only set output CSC mode for RGB input Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 086/152] IB/uverbs: Set IOVA on IB MR in uverbs layer Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 087/152] selftests/bpf: Test_progs indicate to shell on non-actions Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 088/152] selftests/bpf: test_progs use another shell exit " Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 089/152] USB: serial: ftdi_sio: make process-packet buffer unsigned Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 090/152] USB: serial: ftdi_sio: clean up receive processing Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 091/152] USB: serial: ftdi_sio: fix break and sysrq handling Greg Kroah-Hartman
2020-08-20  9:20 ` [PATCH 5.4 092/152] crypto: af_alg - Fix regression on empty requests Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 093/152] devres: keep both device name and resource name in pretty name Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 094/152] RDMA/counter: Only bind user QPs in auto mode Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 095/152] RDMA/counter: Allow manually bind QPs with different pids to same counter Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 096/152] mmc: renesas_sdhi_internal_dmac: clean up the code for dma complete Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 097/152] crypto: caam - Remove broken arc4 support Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 098/152] gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 099/152] gpu: ipu-v3: image-convert: Wait for all EOFs before completing a tile Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 100/152] dm rq: dont call blk_mq_queue_stopped() in dm_stop_queue() Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 101/152] clk: actions: Fix h_clk for Actions S500 SoC Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 102/152] selftests/powerpc: ptrace-pkey: Rename variables to make it easier to follow code Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 103/152] selftests/powerpc: ptrace-pkey: Update the test to mark an invalid pkey correctly Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 104/152] selftests/powerpc: ptrace-pkey: Dont update expected UAMOR value Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 105/152] iommu/omap: Check for failure of a call to omap_iommu_dump_ctx Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 106/152] clk: qcom: gcc: fix sm8150 GPU and NPU clocks Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 107/152] clk: qcom: clk-alpha-pll: remove unused/incorrect PLL_CAL_VAL Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 108/152] iommu/vt-d: Enforce PASID devTLB field mask Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 109/152] i2c: rcar: slave: only send STOP event when we have been addressed Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 110/152] clk: qcom: gcc-sdm660: Fix up gcc_mss_mnoc_bimc_axi_clk Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 111/152] clk: clk-atlas6: fix return value check in atlas6_clk_init() Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 112/152] pwm: bcm-iproc: handle clk_get_rate() return Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 113/152] tools build feature: Use CC and CXX from parent Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 114/152] i2c: rcar: avoid race when unregistering slave Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 115/152] nfs: ensure correct writeback errors are returned on close() Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 116/152] ubifs: Fix wrong orphan node deletion in ubifs_jnl_update|rename Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 117/152] clk: bcm2835: Do not use prediv with bcm2711s PLLs Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 118/152] libnvdimm/security: fix a typo Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 119/152] libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 120/152] openrisc: Fix oops caused when dumping stack Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 121/152] scsi: lpfc: nvmet: Avoid hang / use-after-free again when destroying targetport Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 122/152] nfs: nfs_file_write() should check for writeback errors Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 123/152] watchdog: initialize device before misc_register Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 124/152] md-cluster: Fix potential error pointer dereference in resize_bitmaps() Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 125/152] x86/tsr: Fix tsc frequency enumeration bug on Lightning Mountain SoC Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 126/152] Input: sentelic - fix error return when fsp_reg_write fails Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 127/152] recordmcount: Fix build failure on non arm64 Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 128/152] drm/vmwgfx: Use correct vmw_legacy_display_unit pointer Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 129/152] drm/vmwgfx: Fix two list_for_each loop exit tests Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 130/152] net: qcom/emac: add missed clk_disable_unprepare in error path of emac_clks_phase1_init Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 131/152] nfs: Fix getxattr kernel panic and memory overflow Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 132/152] fs/minix: set s_maxbytes correctly Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 133/152] fs/minix: fix block limit check for V1 filesystems Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 134/152] fs/minix: remove expected error message in block_to_path() Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 135/152] fs/ufs: avoid potential u32 multiplication overflow Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 136/152] test_kmod: avoid potential double free in trigger_config_run_type() Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 137/152] i2c: iproc: fix race between client unreg and isr Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 138/152] mfd: dln2: Run event handler loop under spinlock Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 139/152] crypto: algif_aead - fix uninitialized ctx->init Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 140/152] ALSA: echoaudio: Fix potential Oops in snd_echo_resume() Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 141/152] perf bench mem: Always memset source before memcpy Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 142/152] tools build feature: Quote CC and CXX for their arguments Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 143/152] perf/x86/rapl: Fix missing psys sysfs attributes Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 144/152] sh: landisk: Add missing initialization of sh_io_port_base Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 145/152] khugepaged: retract_page_tables() remember to test exit Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 146/152] arm64: dts: marvell: espressobin: add ethernet alias Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 147/152] drm/radeon: fix fb_div check in ni_init_smc_spll_table() Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 148/152] drm/panfrost: Use kvfree() to free bo->sgts Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 149/152] drm: Added orientation quirk for ASUS tablet model T103HAF Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 150/152] drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 151/152] drm/amdgpu: Fix bug where DPM is not enabled after hibernate and resume Greg Kroah-Hartman
2020-08-20  9:21 ` [PATCH 5.4 152/152] drm/amd/display: dchubbub p-state warning during surface planes switch Greg Kroah-Hartman
2020-08-20 17:24 ` [PATCH 5.4 000/152] 5.4.60-rc1 review Naresh Kamboju
2020-08-21 16:33   ` Naresh Kamboju
2020-08-20 20:04 ` Guenter Roeck
2020-08-20 23:49 ` Shuah Khan

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