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,
	Zygo Blaxell <ce3g8jdj@umail.furryterror.org>,
	Filipe Manana <fdmanana@suse.com>,
	David Sterba <dsterba@suse.com>
Subject: [PATCH 5.11 019/120] btrfs: fix race when cloning extent buffer during rewind of an old root
Date: Mon, 22 Mar 2021 13:26:42 +0100	[thread overview]
Message-ID: <20210322121930.310268691@linuxfoundation.org> (raw)
In-Reply-To: <20210322121929.669628946@linuxfoundation.org>

From: Filipe Manana <fdmanana@suse.com>

commit dbcc7d57bffc0c8cac9dac11bec548597d59a6a5 upstream.

While resolving backreferences, as part of a logical ino ioctl call or
fiemap, we can end up hitting a BUG_ON() when replaying tree mod log
operations of a root, triggering a stack trace like the following:

  ------------[ cut here ]------------
  kernel BUG at fs/btrfs/ctree.c:1210!
  invalid opcode: 0000 [#1] SMP KASAN PTI
  CPU: 1 PID: 19054 Comm: crawl_335 Tainted: G        W         5.11.0-2d11c0084b02-misc-next+ #89
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
  RIP: 0010:__tree_mod_log_rewind+0x3b1/0x3c0
  Code: 05 48 8d 74 10 (...)
  RSP: 0018:ffffc90001eb70b8 EFLAGS: 00010297
  RAX: 0000000000000000 RBX: ffff88812344e400 RCX: ffffffffb28933b6
  RDX: 0000000000000007 RSI: dffffc0000000000 RDI: ffff88812344e42c
  RBP: ffffc90001eb7108 R08: 1ffff11020b60a20 R09: ffffed1020b60a20
  R10: ffff888105b050f9 R11: ffffed1020b60a1f R12: 00000000000000ee
  R13: ffff8880195520c0 R14: ffff8881bc958500 R15: ffff88812344e42c
  FS:  00007fd1955e8700(0000) GS:ffff8881f5600000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 00007efdb7928718 CR3: 000000010103a006 CR4: 0000000000170ee0
  Call Trace:
   btrfs_search_old_slot+0x265/0x10d0
   ? lock_acquired+0xbb/0x600
   ? btrfs_search_slot+0x1090/0x1090
   ? free_extent_buffer.part.61+0xd7/0x140
   ? free_extent_buffer+0x13/0x20
   resolve_indirect_refs+0x3e9/0xfc0
   ? lock_downgrade+0x3d0/0x3d0
   ? __kasan_check_read+0x11/0x20
   ? add_prelim_ref.part.11+0x150/0x150
   ? lock_downgrade+0x3d0/0x3d0
   ? __kasan_check_read+0x11/0x20
   ? lock_acquired+0xbb/0x600
   ? __kasan_check_write+0x14/0x20
   ? do_raw_spin_unlock+0xa8/0x140
   ? rb_insert_color+0x30/0x360
   ? prelim_ref_insert+0x12d/0x430
   find_parent_nodes+0x5c3/0x1830
   ? resolve_indirect_refs+0xfc0/0xfc0
   ? lock_release+0xc8/0x620
   ? fs_reclaim_acquire+0x67/0xf0
   ? lock_acquire+0xc7/0x510
   ? lock_downgrade+0x3d0/0x3d0
   ? lockdep_hardirqs_on_prepare+0x160/0x210
   ? lock_release+0xc8/0x620
   ? fs_reclaim_acquire+0x67/0xf0
   ? lock_acquire+0xc7/0x510
   ? poison_range+0x38/0x40
   ? unpoison_range+0x14/0x40
   ? trace_hardirqs_on+0x55/0x120
   btrfs_find_all_roots_safe+0x142/0x1e0
   ? find_parent_nodes+0x1830/0x1830
   ? btrfs_inode_flags_to_xflags+0x50/0x50
   iterate_extent_inodes+0x20e/0x580
   ? tree_backref_for_extent+0x230/0x230
   ? lock_downgrade+0x3d0/0x3d0
   ? read_extent_buffer+0xdd/0x110
   ? lock_downgrade+0x3d0/0x3d0
   ? __kasan_check_read+0x11/0x20
   ? lock_acquired+0xbb/0x600
   ? __kasan_check_write+0x14/0x20
   ? _raw_spin_unlock+0x22/0x30
   ? __kasan_check_write+0x14/0x20
   iterate_inodes_from_logical+0x129/0x170
   ? iterate_inodes_from_logical+0x129/0x170
   ? btrfs_inode_flags_to_xflags+0x50/0x50
   ? iterate_extent_inodes+0x580/0x580
   ? __vmalloc_node+0x92/0xb0
   ? init_data_container+0x34/0xb0
   ? init_data_container+0x34/0xb0
   ? kvmalloc_node+0x60/0x80
   btrfs_ioctl_logical_to_ino+0x158/0x230
   btrfs_ioctl+0x205e/0x4040
   ? __might_sleep+0x71/0xe0
   ? btrfs_ioctl_get_supported_features+0x30/0x30
   ? getrusage+0x4b6/0x9c0
   ? __kasan_check_read+0x11/0x20
   ? lock_release+0xc8/0x620
   ? __might_fault+0x64/0xd0
   ? lock_acquire+0xc7/0x510
   ? lock_downgrade+0x3d0/0x3d0
   ? lockdep_hardirqs_on_prepare+0x210/0x210
   ? lockdep_hardirqs_on_prepare+0x210/0x210
   ? __kasan_check_read+0x11/0x20
   ? do_vfs_ioctl+0xfc/0x9d0
   ? ioctl_file_clone+0xe0/0xe0
   ? lock_downgrade+0x3d0/0x3d0
   ? lockdep_hardirqs_on_prepare+0x210/0x210
   ? __kasan_check_read+0x11/0x20
   ? lock_release+0xc8/0x620
   ? __task_pid_nr_ns+0xd3/0x250
   ? lock_acquire+0xc7/0x510
   ? __fget_files+0x160/0x230
   ? __fget_light+0xf2/0x110
   __x64_sys_ioctl+0xc3/0x100
   do_syscall_64+0x37/0x80
   entry_SYSCALL_64_after_hwframe+0x44/0xa9
  RIP: 0033:0x7fd1976e2427
  Code: 00 00 90 48 8b 05 (...)
  RSP: 002b:00007fd1955e5cf8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
  RAX: ffffffffffffffda RBX: 00007fd1955e5f40 RCX: 00007fd1976e2427
  RDX: 00007fd1955e5f48 RSI: 00000000c038943b RDI: 0000000000000004
  RBP: 0000000001000000 R08: 0000000000000000 R09: 00007fd1955e6120
  R10: 0000557835366b00 R11: 0000000000000246 R12: 0000000000000004
  R13: 00007fd1955e5f48 R14: 00007fd1955e5f40 R15: 00007fd1955e5ef8
  Modules linked in:
  ---[ end trace ec8931a1c36e57be ]---

  (gdb) l *(__tree_mod_log_rewind+0x3b1)
  0xffffffff81893521 is in __tree_mod_log_rewind (fs/btrfs/ctree.c:1210).
  1205                     * the modification. as we're going backwards, we do the
  1206                     * opposite of each operation here.
  1207                     */
  1208                    switch (tm->op) {
  1209                    case MOD_LOG_KEY_REMOVE_WHILE_FREEING:
  1210                            BUG_ON(tm->slot < n);
  1211                            fallthrough;
  1212                    case MOD_LOG_KEY_REMOVE_WHILE_MOVING:
  1213                    case MOD_LOG_KEY_REMOVE:
  1214                            btrfs_set_node_key(eb, &tm->key, tm->slot);

Here's what happens to hit that BUG_ON():

1) We have one tree mod log user (through fiemap or the logical ino ioctl),
   with a sequence number of 1, so we have fs_info->tree_mod_seq == 1;

2) Another task is at ctree.c:balance_level() and we have eb X currently as
   the root of the tree, and we promote its single child, eb Y, as the new
   root.

   Then, at ctree.c:balance_level(), we call:

      tree_mod_log_insert_root(eb X, eb Y, 1);

3) At tree_mod_log_insert_root() we create tree mod log elements for each
   slot of eb X, of operation type MOD_LOG_KEY_REMOVE_WHILE_FREEING each
   with a ->logical pointing to ebX->start. These are placed in an array
   named tm_list.
   Lets assume there are N elements (N pointers in eb X);

4) Then, still at tree_mod_log_insert_root(), we create a tree mod log
   element of operation type MOD_LOG_ROOT_REPLACE, ->logical set to
   ebY->start, ->old_root.logical set to ebX->start, ->old_root.level set
   to the level of eb X and ->generation set to the generation of eb X;

5) Then tree_mod_log_insert_root() calls tree_mod_log_free_eb() with
   tm_list as argument. After that, tree_mod_log_free_eb() calls
   __tree_mod_log_insert() for each member of tm_list in reverse order,
   from highest slot in eb X, slot N - 1, to slot 0 of eb X;

6) __tree_mod_log_insert() sets the sequence number of each given tree mod
   log operation - it increments fs_info->tree_mod_seq and sets
   fs_info->tree_mod_seq as the sequence number of the given tree mod log
   operation.

   This means that for the tm_list created at tree_mod_log_insert_root(),
   the element corresponding to slot 0 of eb X has the highest sequence
   number (1 + N), and the element corresponding to the last slot has the
   lowest sequence number (2);

7) Then, after inserting tm_list's elements into the tree mod log rbtree,
   the MOD_LOG_ROOT_REPLACE element is inserted, which gets the highest
   sequence number, which is N + 2;

8) Back to ctree.c:balance_level(), we free eb X by calling
   btrfs_free_tree_block() on it. Because eb X was created in the current
   transaction, has no other references and writeback did not happen for
   it, we add it back to the free space cache/tree;

9) Later some other task T allocates the metadata extent from eb X, since
   it is marked as free space in the space cache/tree, and uses it as a
   node for some other btree;

10) The tree mod log user task calls btrfs_search_old_slot(), which calls
    get_old_root(), and finally that calls __tree_mod_log_oldest_root()
    with time_seq == 1 and eb_root == eb Y;

11) First iteration of the while loop finds the tree mod log element with
    sequence number N + 2, for the logical address of eb Y and of type
    MOD_LOG_ROOT_REPLACE;

12) Because the operation type is MOD_LOG_ROOT_REPLACE, we don't break out
    of the loop, and set root_logical to point to tm->old_root.logical
    which corresponds to the logical address of eb X;

13) On the next iteration of the while loop, the call to
    tree_mod_log_search_oldest() returns the smallest tree mod log element
    for the logical address of eb X, which has a sequence number of 2, an
    operation type of MOD_LOG_KEY_REMOVE_WHILE_FREEING and corresponds to
    the old slot N - 1 of eb X (eb X had N items in it before being freed);

14) We then break out of the while loop and return the tree mod log operation
    of type MOD_LOG_ROOT_REPLACE (eb Y), and not the one for slot N - 1 of
    eb X, to get_old_root();

15) At get_old_root(), we process the MOD_LOG_ROOT_REPLACE operation
    and set "logical" to the logical address of eb X, which was the old
    root. We then call tree_mod_log_search() passing it the logical
    address of eb X and time_seq == 1;

16) Then before calling tree_mod_log_search(), task T adds a key to eb X,
    which results in adding a tree mod log operation of type
    MOD_LOG_KEY_ADD to the tree mod log - this is done at
    ctree.c:insert_ptr() - but after adding the tree mod log operation
    and before updating the number of items in eb X from 0 to 1...

17) The task at get_old_root() calls tree_mod_log_search() and gets the
    tree mod log operation of type MOD_LOG_KEY_ADD just added by task T.
    Then it enters the following if branch:

    if (old_root && tm && tm->op != MOD_LOG_KEY_REMOVE_WHILE_FREEING) {
       (...)
    } (...)

    Calls read_tree_block() for eb X, which gets a reference on eb X but
    does not lock it - task T has it locked.
    Then it clones eb X while it has nritems set to 0 in its header, before
    task T sets nritems to 1 in eb X's header. From hereupon we use the
    clone of eb X which no other task has access to;

18) Then we call __tree_mod_log_rewind(), passing it the MOD_LOG_KEY_ADD
    mod log operation we just got from tree_mod_log_search() in the
    previous step and the cloned version of eb X;

19) At __tree_mod_log_rewind(), we set the local variable "n" to the number
    of items set in eb X's clone, which is 0. Then we enter the while loop,
    and in its first iteration we process the MOD_LOG_KEY_ADD operation,
    which just decrements "n" from 0 to (u32)-1, since "n" is declared with
    a type of u32. At the end of this iteration we call rb_next() to find the
    next tree mod log operation for eb X, that gives us the mod log operation
    of type MOD_LOG_KEY_REMOVE_WHILE_FREEING, for slot 0, with a sequence
    number of N + 1 (steps 3 to 6);

20) Then we go back to the top of the while loop and trigger the following
    BUG_ON():

        (...)
        switch (tm->op) {
        case MOD_LOG_KEY_REMOVE_WHILE_FREEING:
                 BUG_ON(tm->slot < n);
                 fallthrough;
        (...)

    Because "n" has a value of (u32)-1 (4294967295) and tm->slot is 0.

Fix this by taking a read lock on the extent buffer before cloning it at
ctree.c:get_old_root(). This should be done regardless of the extent
buffer having been freed and reused, as a concurrent task might be
modifying it (while holding a write lock on it).

Reported-by: Zygo Blaxell <ce3g8jdj@umail.furryterror.org>
Link: https://lore.kernel.org/linux-btrfs/20210227155037.GN28049@hungrycats.org/
Fixes: 834328a8493079 ("Btrfs: tree mod log's old roots could still be part of the tree")
CC: stable@vger.kernel.org # 4.4+
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/btrfs/ctree.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -1365,7 +1365,9 @@ get_old_root(struct btrfs_root *root, u6
 				   "failed to read tree block %llu from get_old_root",
 				   logical);
 		} else {
+			btrfs_tree_read_lock(old);
 			eb = btrfs_clone_extent_buffer(old);
+			btrfs_tree_read_unlock(old);
 			free_extent_buffer(old);
 		}
 	} else if (old_root) {



  parent reply	other threads:[~2021-03-22 12:31 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-22 12:26 [PATCH 5.11 000/120] 5.11.9-rc1 review Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 001/120] ASoC: ak4458: Add MODULE_DEVICE_TABLE Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 002/120] ASoC: ak5558: " Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 003/120] spi: cadence: set cqspi to the driver_data field of struct device Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 004/120] ALSA: dice: fix null pointer dereference when node is disconnected Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 005/120] ALSA: hda/realtek: apply pin quirk for XiaomiNotebook Pro Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 006/120] ALSA: hda: generic: Fix the micmute led init state Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 007/120] ALSA: hda/realtek: Apply headset-mic quirks for Xiaomi Redmibook Air Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 008/120] ALSA: hda/realtek: fix mute/micmute LEDs for HP 840 G8 Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 009/120] ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8 Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 010/120] ALSA: hda/realtek: fix mute/micmute LEDs for HP 850 G8 Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 011/120] Revert "PM: runtime: Update device status before letting suppliers suspend" Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 012/120] s390/vtime: fix increased steal time accounting Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 013/120] s390/pci: refactor zpci_create_device() Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 014/120] s390/pci: remove superfluous zdev->zbus check Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 015/120] s390/pci: fix leak of PCI device structure Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 016/120] zonefs: Fix O_APPEND async write handling Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 017/120] zonefs: prevent use of seq files as swap file Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 018/120] zonefs: fix to update .i_wr_refcnt correctly in zonefs_open_zone() Greg Kroah-Hartman
2021-03-22 12:26 ` Greg Kroah-Hartman [this message]
2021-03-22 12:26 ` [PATCH 5.11 020/120] btrfs: fix slab cache flags for free space tree bitmap Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 021/120] vhost-vdpa: fix use-after-free of v->config_ctx Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 022/120] vhost-vdpa: set v->config_ctx to NULL if eventfd_ctx_fdget() fails Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 023/120] drm/amd/display: Copy over soc values before bounding box creation Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 024/120] drm/amd/display: Correct algorithm for reversed gamma Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 025/120] drm/amd/display: Remove MPC gamut remap logic for DCN30 Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 026/120] iommu/amd: Dont call early_amd_iommu_init() when AMD IOMMU is disabled Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 027/120] iommu/amd: Keep track of amd_iommu_irq_remap state Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 028/120] iommu/amd: Move Stoney Ridge check to detect_ivrs() Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 029/120] ASoC: fsl_ssi: Fix TDM slot setup for I2S mode Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 030/120] ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 10-p0XX OVCD current threshold Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 031/120] ASoC: SOF: Intel: unregister DMIC device on probe error Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 032/120] ASoC: SOF: intel: fix wrong poll bits in dsp power down Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 033/120] ASoC: qcom: sdm845: Fix array out of bounds access Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 034/120] ASoC: qcom: sdm845: Fix array out of range on rx slim channels Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 035/120] ASoC: codecs: wcd934x: add a sanity check in set channel map Greg Kroah-Hartman
2021-03-22 12:26 ` [PATCH 5.11 036/120] ASoC: qcom: lpass-cpu: Fix lpass dai ids parse Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 037/120] ASoC: simple-card-utils: Do not handle device clock Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 038/120] afs: Fix accessing YFS xattrs on a non-YFS server Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 039/120] afs: Stop listxattr() from listing "afs.*" attributes Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 040/120] ALSA: usb-audio: Fix unintentional sign extension issue Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 041/120] nvme: fix Write Zeroes limitations Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 042/120] nvme-tcp: fix misuse of __smp_processor_id with preemption enabled Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 043/120] nvme-tcp: fix possible hang when failing to set io queues Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 044/120] nvme-tcp: fix a NULL deref when receiving a 0-length r2t PDU Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 045/120] nvmet: dont check iosqes,iocqes for discovery controllers Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 046/120] nfsd: Dont keep looking up unhashed files in the nfsd file cache Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 047/120] nfsd: dont abort copies early Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 048/120] NFSD: Repair misuse of sv_lock in 5.10.16-rt30 Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 049/120] NFSD: fix dest to src mount in inter-server COPY Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 050/120] svcrdma: disable timeouts on rdma backchannel Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 051/120] vfio: IOMMU_API should be selected Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 052/120] vhost_vdpa: fix the missing irq_bypass_unregister_producer() invocation Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 053/120] sunrpc: fix refcount leak for rpc auth modules Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 054/120] i915/perf: Start hrtimer only if sampling the OA buffer Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 055/120] iommu/tegra-smmu: Make tegra_smmu_probe_device() to handle all IOMMU phandles Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 056/120] pstore: Fix warning in pstore_kill_sb() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 057/120] io_uring: ensure that SQPOLL thread is started for exit Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 058/120] net/qrtr: fix __netdev_alloc_skb call Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 059/120] kbuild: Fix <linux/version.h> for empty SUBLEVEL or PATCHLEVEL again Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 060/120] cifs: warn and fail if trying to use rootfs without the config option Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 061/120] cifs: fix allocation size on newly created files Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 062/120] RISC-V: Fix out-of-bounds accesses in init_resources() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 063/120] riscv: Correct SPARSEMEM configuration Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 064/120] scsi: lpfc: Fix some error codes in debugfs Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 065/120] scsi: myrs: Fix a double free in myrs_cleanup() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 066/120] scsi: ufs: ufs-mediatek: Correct operator & -> && Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 067/120] scsi: mpt3sas: Do not use GFP_KERNEL in atomic context Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 068/120] RISC-V: correct enum sbi_ext_rfence_fid Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 069/120] counter: stm32-timer-cnt: Report count function when SLAVE_MODE_DISABLED Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 070/120] ASoC: codecs: lpass-va-macro: mute/unmute all active decimators Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 071/120] ASoC: codecs: lpass-wsa-macro: fix RX MIX input controls Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 072/120] powerpc/vdso32: Add missing _restgpr_31_x to fix build failure Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 073/120] drm/ttm: Warn on pinning without holding a reference Greg Kroah-Hartman
2021-03-25  8:14   ` Christian König
2021-03-25  8:50     ` Greg Kroah-Hartman
2021-03-25  8:51       ` Christian König
2021-03-22 12:27 ` [PATCH 5.11 074/120] drm/ttm: make ttm_bo_unpin more defensive Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 075/120] gpiolib: Assign fwnode to parents if no primary one provided Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 076/120] nvme-rdma: fix possible hang when failing to set io queues Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 077/120] powerpc: Force inlining of cpu_has_feature() to avoid build failure Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 078/120] usb-storage: Add quirk to defeat Kindles automatic unload Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 079/120] usbip: Fix incorrect double assignment to udc->ud.tcp_rx Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 080/120] usb: gadget: configfs: Fix KASAN use-after-free Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 081/120] usb: typec: Remove vdo[3] part of tps6598x_rx_identity_reg struct Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 082/120] usb: typec: tcpm: Invoke power_supply_changed for tcpm-source-psy- Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 083/120] usb: dwc3: gadget: Allow runtime suspend if UDC unbinded Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 084/120] usb: dwc3: gadget: Prevent EP queuing while stopping transfers Greg Kroah-Hartman
2021-04-01 11:55   ` [PATCH] Revert "usb: dwc3: gadget: Prevent EP queuing while stopping transfers" Martin Kepplinger
2021-04-01 13:04     ` Greg KH
2021-04-01 13:11       ` [PATCH v2] " Martin Kepplinger
2021-04-01 14:14         ` Greg KH
2021-04-01 18:09     ` [PATCH] " Wesley Cheng
2021-04-02  9:27       ` Martin Kepplinger
2021-03-22 12:27 ` [PATCH 5.11 085/120] thunderbolt: Initialize HopID IDAs in tb_switch_alloc() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 086/120] thunderbolt: Increase runtime PM reference count on DP tunnel discovery Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 087/120] iio:adc:stm32-adc: Add HAS_IOMEM dependency Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 088/120] iio:adc:qcom-spmi-vadc: add default scale to LR_MUX2_BAT_ID channel Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 089/120] iio: adis16400: Fix an error code in adis16400_initial_setup() Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 090/120] iio: gyro: mpu3050: Fix error handling in mpu3050_trigger_handler Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 091/120] iio: adc: ab8500-gpadc: Fix off by 10 to 3 Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 092/120] iio: adc: ad7949: fix wrong ADC result due to incorrect bit mask Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 093/120] iio: adc: adi-axi-adc: add proper Kconfig dependencies Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 094/120] iio: hid-sensor-humidity: Fix alignment issue of timestamp channel Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 095/120] iio: hid-sensor-prox: Fix scale not correct issue Greg Kroah-Hartman
2021-03-22 12:27 ` [PATCH 5.11 096/120] iio: hid-sensor-temperature: Fix issues of timestamp channel Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 097/120] counter: stm32-timer-cnt: fix ceiling write max value Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 098/120] counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 099/120] PCI: rpadlpar: Fix potential drc_name corruption in store functions Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 100/120] perf/x86/intel: Fix a crash caused by zero PEBS status Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 101/120] perf/x86/intel: Fix unchecked MSR access error caused by VLBR_EVENT Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 102/120] x86/ioapic: Ignore IRQ2 again Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 103/120] kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data() Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 104/120] x86: Move TS_COMPAT back to asm/thread_info.h Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 105/120] x86: Introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall() Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 106/120] efivars: respect EFI_UNSUPPORTED return from firmware Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 107/120] ext4: fix error handling in ext4_end_enable_verity() Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 108/120] ext4: find old entry again if failed to rename whiteout Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 109/120] ext4: stop inode update before return Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 110/120] ext4: do not try to set xattr into ea_inode if value is empty Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 111/120] ext4: fix potential error in ext4_do_update_inode Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 112/120] ext4: fix timer use-after-free on failed mount Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 113/120] ext4: fix rename whiteout with fast commit Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 114/120] MAINTAINERS: move some real subsystems off of the staging mailing list Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 115/120] MAINTAINERS: move the staging subsystem to lists.linux.dev Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 116/120] static_call: Fix static_call_update() sanity check Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 117/120] efi: use 32-bit alignment for efi_guid_t literals Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 118/120] firmware/efi: Fix a use after bug in efi_mem_reserve_persistent Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 119/120] genirq: Disable interrupts for force threaded handlers Greg Kroah-Hartman
2021-03-22 12:28 ` [PATCH 5.11 120/120] x86/apic/of: Fix CPU devicetree-node lookups Greg Kroah-Hartman
2021-03-22 19:00 ` [PATCH 5.11 000/120] 5.11.9-rc1 review Naresh Kamboju
2021-03-22 21:50 ` Guenter Roeck

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=20210322121930.310268691@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ce3g8jdj@umail.furryterror.org \
    --cc=dsterba@suse.com \
    --cc=fdmanana@suse.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).