Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Josef Bacik <josef@toxicpanda.com>,
	Filipe Manana <fdmanana@suse.com>,
	David Sterba <dsterba@suse.com>
Subject: [PATCH 6.2 135/187] btrfs: fix deadlock when aborting transaction during relocation with scrub
Date: Mon,  3 Apr 2023 16:09:40 +0200	[thread overview]
Message-ID: <20230403140420.443340197@linuxfoundation.org> (raw)
In-Reply-To: <20230403140416.015323160@linuxfoundation.org>

From: Filipe Manana <fdmanana@suse.com>

commit 2d82a40aa7d6fcae0250ec68b8566cdee7bfd44c upstream.

Before relocating a block group we pause scrub, then do the relocation and
then unpause scrub. The relocation process requires starting and committing
a transaction, and if we have a failure in the critical section of the
transaction commit path (transaction state >= TRANS_STATE_COMMIT_START),
we will deadlock if there is a paused scrub.

That results in stack traces like the following:

  [42.479] BTRFS info (device sdc): relocating block group 53876686848 flags metadata|raid6
  [42.936] BTRFS warning (device sdc): Skipping commit of aborted transaction.
  [42.936] ------------[ cut here ]------------
  [42.936] BTRFS: Transaction aborted (error -28)
  [42.936] WARNING: CPU: 11 PID: 346822 at fs/btrfs/transaction.c:1977 btrfs_commit_transaction+0xcc8/0xeb0 [btrfs]
  [42.936] Modules linked in: dm_flakey dm_mod loop btrfs (...)
  [42.936] CPU: 11 PID: 346822 Comm: btrfs Tainted: G        W          6.3.0-rc2-btrfs-next-127+ #1
  [42.936] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
  [42.936] RIP: 0010:btrfs_commit_transaction+0xcc8/0xeb0 [btrfs]
  [42.936] Code: ff ff 45 8b (...)
  [42.936] RSP: 0018:ffffb58649633b48 EFLAGS: 00010282
  [42.936] RAX: 0000000000000000 RBX: ffff8be6ef4d5bd8 RCX: 0000000000000000
  [42.936] RDX: 0000000000000002 RSI: ffffffffb35e7782 RDI: 00000000ffffffff
  [42.936] RBP: ffff8be6ef4d5c98 R08: 0000000000000000 R09: ffffb586496339e8
  [42.936] R10: 0000000000000001 R11: 0000000000000001 R12: ffff8be6d38c7c00
  [42.936] R13: 00000000ffffffe4 R14: ffff8be6c268c000 R15: ffff8be6ef4d5cf0
  [42.936] FS:  00007f381a82b340(0000) GS:ffff8beddfcc0000(0000) knlGS:0000000000000000
  [42.936] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  [42.936] CR2: 00007f1e35fb7638 CR3: 0000000117680006 CR4: 0000000000370ee0
  [42.936] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
  [42.936] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
  [42.936] Call Trace:
  [42.936]  <TASK>
  [42.936]  ? start_transaction+0xcb/0x610 [btrfs]
  [42.936]  prepare_to_relocate+0x111/0x1a0 [btrfs]
  [42.936]  relocate_block_group+0x57/0x5d0 [btrfs]
  [42.936]  ? btrfs_wait_nocow_writers+0x25/0xb0 [btrfs]
  [42.936]  btrfs_relocate_block_group+0x248/0x3c0 [btrfs]
  [42.936]  ? __pfx_autoremove_wake_function+0x10/0x10
  [42.936]  btrfs_relocate_chunk+0x3b/0x150 [btrfs]
  [42.936]  btrfs_balance+0x8ff/0x11d0 [btrfs]
  [42.936]  ? __kmem_cache_alloc_node+0x14a/0x410
  [42.936]  btrfs_ioctl+0x2334/0x32c0 [btrfs]
  [42.937]  ? mod_objcg_state+0xd2/0x360
  [42.937]  ? refill_obj_stock+0xb0/0x160
  [42.937]  ? seq_release+0x25/0x30
  [42.937]  ? __rseq_handle_notify_resume+0x3b5/0x4b0
  [42.937]  ? percpu_counter_add_batch+0x2e/0xa0
  [42.937]  ? __x64_sys_ioctl+0x88/0xc0
  [42.937]  __x64_sys_ioctl+0x88/0xc0
  [42.937]  do_syscall_64+0x38/0x90
  [42.937]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
  [42.937] RIP: 0033:0x7f381a6ffe9b
  [42.937] Code: 00 48 89 44 24 (...)
  [42.937] RSP: 002b:00007ffd45ecf060 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
  [42.937] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f381a6ffe9b
  [42.937] RDX: 00007ffd45ecf150 RSI: 00000000c4009420 RDI: 0000000000000003
  [42.937] RBP: 0000000000000003 R08: 0000000000000013 R09: 0000000000000000
  [42.937] R10: 00007f381a60c878 R11: 0000000000000246 R12: 00007ffd45ed0423
  [42.937] R13: 00007ffd45ecf150 R14: 0000000000000000 R15: 00007ffd45ecf148
  [42.937]  </TASK>
  [42.937] ---[ end trace 0000000000000000 ]---
  [42.937] BTRFS: error (device sdc: state A) in cleanup_transaction:1977: errno=-28 No space left
  [59.196] INFO: task btrfs:346772 blocked for more than 120 seconds.
  [59.196]       Tainted: G        W          6.3.0-rc2-btrfs-next-127+ #1
  [59.196] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [59.196] task:btrfs           state:D stack:0     pid:346772 ppid:1      flags:0x00004002
  [59.196] Call Trace:
  [59.196]  <TASK>
  [59.196]  __schedule+0x392/0xa70
  [59.196]  ? __pv_queued_spin_lock_slowpath+0x165/0x370
  [59.196]  schedule+0x5d/0xd0
  [59.196]  __scrub_blocked_if_needed+0x74/0xc0 [btrfs]
  [59.197]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.197]  scrub_pause_off+0x21/0x50 [btrfs]
  [59.197]  scrub_simple_mirror+0x1c7/0x950 [btrfs]
  [59.197]  ? scrub_parity_put+0x1a5/0x1d0 [btrfs]
  [59.198]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.198]  scrub_stripe+0x20d/0x740 [btrfs]
  [59.198]  scrub_chunk+0xc4/0x130 [btrfs]
  [59.198]  scrub_enumerate_chunks+0x3e4/0x7a0 [btrfs]
  [59.198]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.198]  btrfs_scrub_dev+0x236/0x6a0 [btrfs]
  [59.199]  ? btrfs_ioctl+0xd97/0x32c0 [btrfs]
  [59.199]  ? _copy_from_user+0x7b/0x80
  [59.199]  btrfs_ioctl+0xde1/0x32c0 [btrfs]
  [59.199]  ? refill_stock+0x33/0x50
  [59.199]  ? should_failslab+0xa/0x20
  [59.199]  ? kmem_cache_alloc_node+0x151/0x460
  [59.199]  ? alloc_io_context+0x1b/0x80
  [59.199]  ? preempt_count_add+0x70/0xa0
  [59.199]  ? __x64_sys_ioctl+0x88/0xc0
  [59.199]  __x64_sys_ioctl+0x88/0xc0
  [59.199]  do_syscall_64+0x38/0x90
  [59.199]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
  [59.199] RIP: 0033:0x7f82ffaffe9b
  [59.199] RSP: 002b:00007f82ff9fcc50 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
  [59.199] RAX: ffffffffffffffda RBX: 000055b191e36310 RCX: 00007f82ffaffe9b
  [59.199] RDX: 000055b191e36310 RSI: 00000000c400941b RDI: 0000000000000003
  [59.199] RBP: 0000000000000000 R08: 00007fff1575016f R09: 0000000000000000
  [59.199] R10: 0000000000000000 R11: 0000000000000246 R12: 00007f82ff9fd640
  [59.199] R13: 000000000000006b R14: 00007f82ffa87580 R15: 0000000000000000
  [59.199]  </TASK>
  [59.199] INFO: task btrfs:346773 blocked for more than 120 seconds.
  [59.200]       Tainted: G        W          6.3.0-rc2-btrfs-next-127+ #1
  [59.200] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [59.201] task:btrfs           state:D stack:0     pid:346773 ppid:1      flags:0x00004002
  [59.201] Call Trace:
  [59.201]  <TASK>
  [59.201]  __schedule+0x392/0xa70
  [59.201]  ? __pv_queued_spin_lock_slowpath+0x165/0x370
  [59.201]  schedule+0x5d/0xd0
  [59.201]  __scrub_blocked_if_needed+0x74/0xc0 [btrfs]
  [59.201]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.201]  scrub_pause_off+0x21/0x50 [btrfs]
  [59.202]  scrub_simple_mirror+0x1c7/0x950 [btrfs]
  [59.202]  ? scrub_parity_put+0x1a5/0x1d0 [btrfs]
  [59.202]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.202]  scrub_stripe+0x20d/0x740 [btrfs]
  [59.202]  scrub_chunk+0xc4/0x130 [btrfs]
  [59.203]  scrub_enumerate_chunks+0x3e4/0x7a0 [btrfs]
  [59.203]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.203]  btrfs_scrub_dev+0x236/0x6a0 [btrfs]
  [59.203]  ? btrfs_ioctl+0xd97/0x32c0 [btrfs]
  [59.203]  ? _copy_from_user+0x7b/0x80
  [59.203]  btrfs_ioctl+0xde1/0x32c0 [btrfs]
  [59.204]  ? should_failslab+0xa/0x20
  [59.204]  ? kmem_cache_alloc_node+0x151/0x460
  [59.204]  ? alloc_io_context+0x1b/0x80
  [59.204]  ? preempt_count_add+0x70/0xa0
  [59.204]  ? __x64_sys_ioctl+0x88/0xc0
  [59.204]  __x64_sys_ioctl+0x88/0xc0
  [59.204]  do_syscall_64+0x38/0x90
  [59.204]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
  [59.204] RIP: 0033:0x7f82ffaffe9b
  [59.204] RSP: 002b:00007f82ff1fbc50 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
  [59.204] RAX: ffffffffffffffda RBX: 000055b191e36790 RCX: 00007f82ffaffe9b
  [59.204] RDX: 000055b191e36790 RSI: 00000000c400941b RDI: 0000000000000003
  [59.204] RBP: 0000000000000000 R08: 00007fff1575016f R09: 0000000000000000
  [59.204] R10: 0000000000000000 R11: 0000000000000246 R12: 00007f82ff1fc640
  [59.204] R13: 000000000000006b R14: 00007f82ffa87580 R15: 0000000000000000
  [59.204]  </TASK>
  [59.204] INFO: task btrfs:346774 blocked for more than 120 seconds.
  [59.205]       Tainted: G        W          6.3.0-rc2-btrfs-next-127+ #1
  [59.205] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [59.206] task:btrfs           state:D stack:0     pid:346774 ppid:1      flags:0x00004002
  [59.206] Call Trace:
  [59.206]  <TASK>
  [59.206]  __schedule+0x392/0xa70
  [59.206]  schedule+0x5d/0xd0
  [59.206]  __scrub_blocked_if_needed+0x74/0xc0 [btrfs]
  [59.206]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.206]  scrub_pause_off+0x21/0x50 [btrfs]
  [59.207]  scrub_simple_mirror+0x1c7/0x950 [btrfs]
  [59.207]  ? scrub_parity_put+0x1a5/0x1d0 [btrfs]
  [59.207]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.207]  scrub_stripe+0x20d/0x740 [btrfs]
  [59.208]  scrub_chunk+0xc4/0x130 [btrfs]
  [59.208]  scrub_enumerate_chunks+0x3e4/0x7a0 [btrfs]
  [59.208]  ? __mutex_unlock_slowpath.isra.0+0x9a/0x120
  [59.208]  btrfs_scrub_dev+0x236/0x6a0 [btrfs]
  [59.208]  ? btrfs_ioctl+0xd97/0x32c0 [btrfs]
  [59.209]  ? _copy_from_user+0x7b/0x80
  [59.209]  btrfs_ioctl+0xde1/0x32c0 [btrfs]
  [59.209]  ? should_failslab+0xa/0x20
  [59.209]  ? kmem_cache_alloc_node+0x151/0x460
  [59.209]  ? alloc_io_context+0x1b/0x80
  [59.209]  ? preempt_count_add+0x70/0xa0
  [59.209]  ? __x64_sys_ioctl+0x88/0xc0
  [59.209]  __x64_sys_ioctl+0x88/0xc0
  [59.209]  do_syscall_64+0x38/0x90
  [59.209]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
  [59.209] RIP: 0033:0x7f82ffaffe9b
  [59.209] RSP: 002b:00007f82fe9fac50 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
  [59.209] RAX: ffffffffffffffda RBX: 000055b191e36c10 RCX: 00007f82ffaffe9b
  [59.209] RDX: 000055b191e36c10 RSI: 00000000c400941b RDI: 0000000000000003
  [59.209] RBP: 0000000000000000 R08: 00007fff1575016f R09: 0000000000000000
  [59.209] R10: 0000000000000000 R11: 0000000000000246 R12: 00007f82fe9fb640
  [59.209] R13: 000000000000006b R14: 00007f82ffa87580 R15: 0000000000000000
  [59.209]  </TASK>
  [59.209] INFO: task btrfs:346775 blocked for more than 120 seconds.
  [59.210]       Tainted: G        W          6.3.0-rc2-btrfs-next-127+ #1
  [59.210] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [59.211] task:btrfs           state:D stack:0     pid:346775 ppid:1      flags:0x00004002
  [59.211] Call Trace:
  [59.211]  <TASK>
  [59.211]  __schedule+0x392/0xa70
  [59.211]  schedule+0x5d/0xd0
  [59.211]  __scrub_blocked_if_needed+0x74/0xc0 [btrfs]
  [59.211]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.211]  scrub_pause_off+0x21/0x50 [btrfs]
  [59.212]  scrub_simple_mirror+0x1c7/0x950 [btrfs]
  [59.212]  ? scrub_parity_put+0x1a5/0x1d0 [btrfs]
  [59.212]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.212]  scrub_stripe+0x20d/0x740 [btrfs]
  [59.213]  scrub_chunk+0xc4/0x130 [btrfs]
  [59.213]  scrub_enumerate_chunks+0x3e4/0x7a0 [btrfs]
  [59.213]  ? __mutex_unlock_slowpath.isra.0+0x9a/0x120
  [59.213]  btrfs_scrub_dev+0x236/0x6a0 [btrfs]
  [59.213]  ? btrfs_ioctl+0xd97/0x32c0 [btrfs]
  [59.214]  ? _copy_from_user+0x7b/0x80
  [59.214]  btrfs_ioctl+0xde1/0x32c0 [btrfs]
  [59.214]  ? should_failslab+0xa/0x20
  [59.214]  ? kmem_cache_alloc_node+0x151/0x460
  [59.214]  ? alloc_io_context+0x1b/0x80
  [59.214]  ? preempt_count_add+0x70/0xa0
  [59.214]  ? __x64_sys_ioctl+0x88/0xc0
  [59.214]  __x64_sys_ioctl+0x88/0xc0
  [59.214]  do_syscall_64+0x38/0x90
  [59.214]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
  [59.214] RIP: 0033:0x7f82ffaffe9b
  [59.214] RSP: 002b:00007f82fe1f9c50 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
  [59.214] RAX: ffffffffffffffda RBX: 000055b191e37090 RCX: 00007f82ffaffe9b
  [59.214] RDX: 000055b191e37090 RSI: 00000000c400941b RDI: 0000000000000003
  [59.214] RBP: 0000000000000000 R08: 00007fff1575016f R09: 0000000000000000
  [59.214] R10: 0000000000000000 R11: 0000000000000246 R12: 00007f82fe1fa640
  [59.214] R13: 000000000000006b R14: 00007f82ffa87580 R15: 0000000000000000
  [59.214]  </TASK>
  [59.214] INFO: task btrfs:346776 blocked for more than 120 seconds.
  [59.215]       Tainted: G        W          6.3.0-rc2-btrfs-next-127+ #1
  [59.216] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [59.217] task:btrfs           state:D stack:0     pid:346776 ppid:1      flags:0x00004002
  [59.217] Call Trace:
  [59.217]  <TASK>
  [59.217]  __schedule+0x392/0xa70
  [59.217]  ? __pv_queued_spin_lock_slowpath+0x165/0x370
  [59.217]  schedule+0x5d/0xd0
  [59.217]  __scrub_blocked_if_needed+0x74/0xc0 [btrfs]
  [59.217]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.217]  scrub_pause_off+0x21/0x50 [btrfs]
  [59.217]  scrub_simple_mirror+0x1c7/0x950 [btrfs]
  [59.217]  ? scrub_parity_put+0x1a5/0x1d0 [btrfs]
  [59.218]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.218]  scrub_stripe+0x20d/0x740 [btrfs]
  [59.218]  scrub_chunk+0xc4/0x130 [btrfs]
  [59.218]  scrub_enumerate_chunks+0x3e4/0x7a0 [btrfs]
  [59.219]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.219]  btrfs_scrub_dev+0x236/0x6a0 [btrfs]
  [59.219]  ? btrfs_ioctl+0xd97/0x32c0 [btrfs]
  [59.219]  ? _copy_from_user+0x7b/0x80
  [59.219]  btrfs_ioctl+0xde1/0x32c0 [btrfs]
  [59.219]  ? should_failslab+0xa/0x20
  [59.219]  ? kmem_cache_alloc_node+0x151/0x460
  [59.219]  ? alloc_io_context+0x1b/0x80
  [59.219]  ? preempt_count_add+0x70/0xa0
  [59.219]  ? __x64_sys_ioctl+0x88/0xc0
  [59.219]  __x64_sys_ioctl+0x88/0xc0
  [59.219]  do_syscall_64+0x38/0x90
  [59.219]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
  [59.219] RIP: 0033:0x7f82ffaffe9b
  [59.219] RSP: 002b:00007f82fd9f8c50 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
  [59.219] RAX: ffffffffffffffda RBX: 000055b191e37510 RCX: 00007f82ffaffe9b
  [59.219] RDX: 000055b191e37510 RSI: 00000000c400941b RDI: 0000000000000003
  [59.219] RBP: 0000000000000000 R08: 00007fff1575016f R09: 0000000000000000
  [59.219] R10: 0000000000000000 R11: 0000000000000246 R12: 00007f82fd9f9640
  [59.219] R13: 000000000000006b R14: 00007f82ffa87580 R15: 0000000000000000
  [59.219]  </TASK>
  [59.219] INFO: task btrfs:346822 blocked for more than 120 seconds.
  [59.220]       Tainted: G        W          6.3.0-rc2-btrfs-next-127+ #1
  [59.221] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [59.222] task:btrfs           state:D stack:0     pid:346822 ppid:1      flags:0x00004002
  [59.222] Call Trace:
  [59.222]  <TASK>
  [59.222]  __schedule+0x392/0xa70
  [59.222]  schedule+0x5d/0xd0
  [59.222]  btrfs_scrub_cancel+0x91/0x100 [btrfs]
  [59.222]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.222]  btrfs_commit_transaction+0x572/0xeb0 [btrfs]
  [59.223]  ? start_transaction+0xcb/0x610 [btrfs]
  [59.223]  prepare_to_relocate+0x111/0x1a0 [btrfs]
  [59.223]  relocate_block_group+0x57/0x5d0 [btrfs]
  [59.223]  ? btrfs_wait_nocow_writers+0x25/0xb0 [btrfs]
  [59.223]  btrfs_relocate_block_group+0x248/0x3c0 [btrfs]
  [59.224]  ? __pfx_autoremove_wake_function+0x10/0x10
  [59.224]  btrfs_relocate_chunk+0x3b/0x150 [btrfs]
  [59.224]  btrfs_balance+0x8ff/0x11d0 [btrfs]
  [59.224]  ? __kmem_cache_alloc_node+0x14a/0x410
  [59.224]  btrfs_ioctl+0x2334/0x32c0 [btrfs]
  [59.225]  ? mod_objcg_state+0xd2/0x360
  [59.225]  ? refill_obj_stock+0xb0/0x160
  [59.225]  ? seq_release+0x25/0x30
  [59.225]  ? __rseq_handle_notify_resume+0x3b5/0x4b0
  [59.225]  ? percpu_counter_add_batch+0x2e/0xa0
  [59.225]  ? __x64_sys_ioctl+0x88/0xc0
  [59.225]  __x64_sys_ioctl+0x88/0xc0
  [59.225]  do_syscall_64+0x38/0x90
  [59.225]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
  [59.225] RIP: 0033:0x7f381a6ffe9b
  [59.225] RSP: 002b:00007ffd45ecf060 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
  [59.225] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f381a6ffe9b
  [59.225] RDX: 00007ffd45ecf150 RSI: 00000000c4009420 RDI: 0000000000000003
  [59.225] RBP: 0000000000000003 R08: 0000000000000013 R09: 0000000000000000
  [59.225] R10: 00007f381a60c878 R11: 0000000000000246 R12: 00007ffd45ed0423
  [59.225] R13: 00007ffd45ecf150 R14: 0000000000000000 R15: 00007ffd45ecf148
  [59.225]  </TASK>

What happens is the following:

1) A scrub is running, so fs_info->scrubs_running is 1;

2) Task A starts block group relocation, and at btrfs_relocate_chunk() it
   pauses scrub by calling btrfs_scrub_pause(). That increments
   fs_info->scrub_pause_req from 0 to 1 and waits for the scrub task to
   pause (for fs_info->scrubs_paused to be == to fs_info->scrubs_running);

3) The scrub task pauses at scrub_pause_off(), waiting for
   fs_info->scrub_pause_req to decrease to 0;

4) Task A then enters btrfs_relocate_block_group(), and down that call
   chain we start a transaction and then attempt to commit it;

5) When task A calls btrfs_commit_transaction(), it either will do the
   commit itself or wait for some other task that already started the
   commit of the transaction - it doesn't matter which case;

6) The transaction commit enters state TRANS_STATE_COMMIT_START;

7) An error happens during the transaction commit, like -ENOSPC when
   running delayed refs or delayed items for example;

8) This results in calling transaction.c:cleanup_transaction(), where
   we call btrfs_scrub_cancel(), incrementing fs_info->scrub_cancel_req
   from 0 to 1, and blocking this task waiting for fs_info->scrubs_running
   to decrease to 0;

9) From this point on, both the transaction commit and the scrub task
   hang forever:

   1) The transaction commit is waiting for fs_info->scrubs_running to
      be decreased to 0;

   2) The scrub task is at scrub_pause_off() waiting for
      fs_info->scrub_pause_req to decrease to 0 - so it can not proceed
      to stop the scrub and decrement fs_info->scrubs_running from 0 to 1.

   Therefore resulting in a deadlock.

Fix this by having cleanup_transaction(), called if a transaction commit
fails, not call btrfs_scrub_cancel() if relocation is in progress, and
having btrfs_relocate_block_group() call btrfs_scrub_cancel() instead if
the relocation failed and a transaction abort happened.

This was triggered with btrfs/061 from fstests.

Fixes: 55e3a601c81c ("btrfs: Fix data checksum error cause by replace with io-load.")
CC: stable@vger.kernel.org # 4.14+
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
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/transaction.c |   15 ++++++++++++++-
 fs/btrfs/volumes.c     |    9 ++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)

--- a/fs/btrfs/transaction.c
+++ b/fs/btrfs/transaction.c
@@ -2035,7 +2035,20 @@ static void cleanup_transaction(struct b
 
 	if (current->journal_info == trans)
 		current->journal_info = NULL;
-	btrfs_scrub_cancel(fs_info);
+
+	/*
+	 * If relocation is running, we can't cancel scrub because that will
+	 * result in a deadlock. Before relocating a block group, relocation
+	 * pauses scrub, then starts and commits a transaction before unpausing
+	 * scrub. If the transaction commit is being done by the relocation
+	 * task or triggered by another task and the relocation task is waiting
+	 * for the commit, and we end up here due to an error in the commit
+	 * path, then calling btrfs_scrub_cancel() will deadlock, as we are
+	 * asking for scrub to stop while having it asked to be paused higher
+	 * above in relocation code.
+	 */
+	if (!test_bit(BTRFS_FS_RELOC_RUNNING, &fs_info->flags))
+		btrfs_scrub_cancel(fs_info);
 
 	kmem_cache_free(btrfs_trans_handle_cachep, trans);
 }
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -3266,8 +3266,15 @@ int btrfs_relocate_chunk(struct btrfs_fs
 	btrfs_scrub_pause(fs_info);
 	ret = btrfs_relocate_block_group(fs_info, chunk_offset);
 	btrfs_scrub_continue(fs_info);
-	if (ret)
+	if (ret) {
+		/*
+		 * If we had a transaction abort, stop all running scrubs.
+		 * See transaction.c:cleanup_transaction() why we do it here.
+		 */
+		if (BTRFS_FS_ERROR(fs_info))
+			btrfs_scrub_cancel(fs_info);
 		return ret;
+	}
 
 	block_group = btrfs_lookup_block_group(fs_info, chunk_offset);
 	if (!block_group)



  parent reply	other threads:[~2023-04-03 14:48 UTC|newest]

Thread overview: 199+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-03 14:07 [PATCH 6.2 000/187] 6.2.10-rc1 review Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 001/187] thunderbolt: Limit USB3 bandwidth of certain Intel USB4 host routers Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 002/187] cifs: update ip_addr for ses only for primary chan setup Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 003/187] cifs: prevent data race in cifs_reconnect_tcon() Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 004/187] cifs: avoid race conditions with parallel reconnects Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 005/187] zonefs: Reorganize code Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 006/187] zonefs: Simplify IO error handling Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 007/187] zonefs: Reduce struct zonefs_inode_info size Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 008/187] zonefs: Separate zone information from inode information Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 009/187] zonefs: Fix error message in zonefs_file_dio_append() Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 010/187] btrfs: rename BTRFS_FS_NO_OVERCOMMIT to BTRFS_FS_ACTIVE_ZONE_TRACKING Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 011/187] btrfs: zoned: count fresh BG region as zone unusable Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 012/187] btrfs: zoned: drop space_info->active_total_bytes Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 013/187] fsverity: dont drop pagecache at end of FS_IOC_ENABLE_VERITY Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 014/187] cifs: fix missing unload_nls() in smb2_reconnect() Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 015/187] xfrm: Zero padding when dumping algos and encap Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 016/187] ASoC: codecs: tx-macro: Fix for KASAN: slab-out-of-bounds Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 017/187] ASoC: Intel: avs: max98357a: Explicitly define codec format Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 018/187] ASoC: Intel: avs: da7219: " Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 019/187] ASoC: Intel: avs: rt5682: " Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 020/187] ASoC: Intel: avs: ssm4567: Remove nau8825 bits Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 021/187] ASoC: Intel: avs: nau8825: Adjust clock control Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 022/187] lib: zstd: Backport fix for in-place decompression Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 023/187] zstd: Fix definition of assert() Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 024/187] ACPI: video: Add backlight=native DMI quirk for Dell Vostro 15 3535 Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 025/187] ACPI: x86: Introduce an acpi_quirk_skip_gpio_event_handlers() helper Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 026/187] ACPI: x86: Add skip i2c clients quirk for Acer Iconia One 7 B1-750 Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 027/187] ACPI: x86: Add skip i2c clients quirk for Lenovo Yoga Book X90 Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 028/187] ASoC: SOF: ipc3: Check for upper size limit for the received message Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 029/187] ASoC: SOF: ipc4-topology: Fix incorrect sample rate print unit Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 030/187] ASoC: SOF: Intel: pci-tng: revert invalid bar size setting Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 031/187] ASoC: SOF: Intel: hda-dsp: harden D0i3 programming sequence Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 032/187] ASoC: SOF: Intel: hda-ctrl: re-add sleep after entering and exiting reset Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 033/187] ASoC: SOF: IPC4: update gain ipc msg definition to align with fw Greg Kroah-Hartman
2023-04-03 14:07 ` [PATCH 6.2 034/187] ASoC: hdmi-codec: only startup/shutdown on supported streams Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 035/187] wifi: mac80211: check basic rates validity Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 036/187] md: avoid signed overflow in slot_store() Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 037/187] x86/PVH: obtain VGA console info in Dom0 Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 038/187] drm/amdkfd: Fix BO offset for multi-VMA page migration Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 039/187] drm/amdkfd: fix a potential double free in pqm_create_queue Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 040/187] drm/amdgpu/vcn: custom video info caps for sriov Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 041/187] drm/amdkfd: fix potential kgd_mem UAFs Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 042/187] drm/amd/display: Fix HDCP failing to enable after suspend Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 043/187] net: hsr: Dont log netdev_err message on unknown prp dst node Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 044/187] ALSA: asihpi: check pao in control_message() Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 045/187] ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set() Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 046/187] fbdev: tgafb: Fix potential divide by zero Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 047/187] ACPI: tools: pfrut: Check if the input of level and type is in the right numeric range Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 048/187] sched_getaffinity: dont assume cpumask_size() is fully initialized Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 049/187] nvme-pci: fixing memory leak in probe teardown path Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 050/187] nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM620 Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 051/187] drm/amdkfd: Fixed kfd_process cleanup on module exit Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 052/187] net/mlx5e: Lower maximum allowed MTU in XSK to match XDP prerequisites Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 053/187] fbdev: nvidia: Fix potential divide by zero Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 054/187] fbdev: intelfb: " Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 055/187] fbdev: lxfb: " Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 056/187] fbdev: au1200fb: " Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 057/187] tools/power turbostat: Fix /dev/cpu_dma_latency warnings Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 058/187] tools/power turbostat: fix decoding of HWP_STATUS Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 059/187] tracing: Fix wrong return in kprobe_event_gen_test.c Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 060/187] btrfs: fix uninitialized variable warning in btrfs_update_block_group Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 061/187] btrfs: use temporary variable for space_info " Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 062/187] mtd: rawnand: meson: initialize struct with zeroes Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 063/187] mtd: nand: mxic-ecc: Fix mxic_ecc_data_xfer_wait_for_completion() when irq is used Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 064/187] swiotlb: fix the deadlock in swiotlb_do_find_slots Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 065/187] ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx() Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 066/187] riscv/kvm: Fix VM hang in case of timer delta being zero Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 067/187] mips: bmips: BCM6358: disable RAC flush for TP1 Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 068/187] ALSA: usb-audio: Fix recursive locking at XRUN during syncing Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 069/187] PCI: dwc: Fix PORT_LINK_CONTROL update when CDM check enabled Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 070/187] swiotlb: fix slot alignment checks Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 071/187] platform/x86: think-lmi: add missing type attribute Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 072/187] platform/x86: think-lmi: use correct possible_values delimiters Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 073/187] platform/x86: think-lmi: only display possible_values if available Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 074/187] platform/x86: think-lmi: Add possible_values for ThinkStation Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 075/187] platform/surface: aggregator: Add missing fwnode_handle_put() Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 076/187] mtd: rawnand: meson: invalidate cache on polling ECC bit Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 077/187] SUNRPC: fix shutdown of NFS TCP client socket Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 078/187] sfc: ef10: dont overwrite offload features at NIC reset Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 079/187] scsi: megaraid_sas: Fix crash after a double completion Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 080/187] scsi: mpt3sas: Dont print sense pool info twice Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 081/187] net: dsa: realtek: fix out-of-bounds access Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 082/187] ptp_qoriq: fix memory leak in probe() Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 083/187] net: dsa: microchip: ksz8: fix ksz8_fdb_dump() Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 084/187] net: dsa: microchip: ksz8: fix ksz8_fdb_dump() to extract all 1024 entries Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 085/187] net: dsa: microchip: ksz8: fix offset for the timestamp filed Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 086/187] net: dsa: microchip: ksz8: ksz8_fdb_dump: avoid extracting ghost entry from empty dynamic MAC table Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 087/187] net: dsa: microchip: ksz8863_smi: fix bulk access Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 088/187] net: dsa: microchip: ksz8: fix MDB configuration with non-zero VID Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 089/187] r8169: fix RTL8168H and RTL8107E rx crc error Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 090/187] regulator: Handle deferred clk Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 091/187] net/net_failover: fix txq exceeding warning Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 092/187] net: stmmac: dont reject VLANs when IFF_PROMISC is set Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 093/187] drm/i915/pmu: Use functions common with sysfs to read actual freq Greg Kroah-Hartman
2023-04-03 14:08 ` [PATCH 6.2 094/187] drm/i915/tc: Fix the ICL PHY ownership check in TC-cold state Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 095/187] drm/i915/perf: Drop wakeref on GuC RC error Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 096/187] platform/x86/intel/pmc: Alder Lake PCH slp_s0_residency fix Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 097/187] can: bcm: bcm_tx_setup(): fix KMSAN uninit-value in vfs_write Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 098/187] s390/vfio-ap: fix memory leak in vfio_ap device driver Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 099/187] ACPI: bus: Rework system-level device notification handling Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 100/187] loop: LOOP_CONFIGURE: send uevents for partitions Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 101/187] net: mvpp2: classifier flow fix fragmentation flags Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 102/187] net: mvpp2: parser fix QinQ Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 103/187] net: mvpp2: parser fix PPPoE Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 104/187] smsc911x: avoid PHY being resumed when interface is not up Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 105/187] ice: Fix ice_cfg_rdma_fltr() to only update relevant fields Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 106/187] ice: add profile conflict check for AVF FDIR Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 107/187] ice: fix invalid check for empty list in ice_sched_assoc_vsi_to_agg() Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 108/187] net: ethernet: mtk_eth_soc: fix tx throughput regression with direct 1G links Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 109/187] ALSA: ymfpci: Create card with device-managed snd_devm_card_new() Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 110/187] ALSA: ymfpci: Fix BUG_ON in probe function Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 111/187] net: wwan: iosm: fixes 7560 modem crash Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 112/187] drm/nouveau/kms: Fix backlight registration Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 113/187] net: ipa: compute DMA pool size properly Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 114/187] bnx2x: use the right build_skb() helper Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 115/187] i40e: fix registers dump after run ethtool adapter self test Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 116/187] bnxt_en: Fix reporting of test result in ethtool selftest Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 117/187] bnxt_en: Fix typo in PCI id to device description string mapping Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 118/187] bnxt_en: Add missing 200G link speed reporting Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 119/187] net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 120/187] net: dsa: sync unicast and multicast addresses for VLAN filters too Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 121/187] net: ethernet: mtk_eth_soc: fix flow block refcounting logic Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 122/187] net: ethernet: mtk_eth_soc: fix L2 offloading with DSA untag offload Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 123/187] net: ethernet: mtk_eth_soc: add missing ppe cache flush when deleting a flow Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 124/187] pinctrl: ocelot: Fix alt mode for ocelot Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 125/187] Input: xpad - fix incorrectly applied patch for MAP_PROFILE_BUTTON Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 126/187] iommu/vt-d: Allow zero SAGAW if second-stage not supported Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 127/187] Revert "venus: firmware: Correct non-pix start and end addresses" Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 128/187] Input: i8042 - add TUXEDO devices to i8042 quirk tables for partial fix Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 129/187] Input: alps - fix compatibility with -funsigned-char Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 130/187] Input: focaltech - use explicitly signed char type Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 131/187] cifs: prevent infinite recursion in CIFSGetDFSRefer() Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 132/187] cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 133/187] Input: i8042 - add quirk for Fujitsu Lifebook A574/H Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 134/187] Input: goodix - add Lenovo Yoga Book X90F to nine_bytes_report DMI table Greg Kroah-Hartman
2023-04-03 14:09 ` Greg Kroah-Hartman [this message]
2023-04-03 14:09 ` [PATCH 6.2 136/187] btrfs: fix race between quota disable and quota assign ioctls Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 137/187] btrfs: scan device in non-exclusive mode Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 138/187] btrfs: ignore fiemap path cache when there are multiple paths for a node Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 139/187] zonefs: Do not propagate iomap_dio_rw() ENOTBLK error to user space Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 140/187] io_uring/poll: clear single/double poll flags on poll arming Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 141/187] io_uring/rsrc: fix rogue rsrc node grabbing Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 142/187] io_uring: fix poll/netmsg alloc caches Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 143/187] vmxnet3: use gro callback when UPT is enabled Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 144/187] zonefs: Always invalidate last cached page on append write Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 145/187] dm: fix __send_duplicate_bios() to always allow for splitting IO Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 146/187] can: j1939: prevent deadlock by moving j1939_sk_errqueue() Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 147/187] xen/netback: dont do grant copy across page boundary Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 148/187] net: phy: dp83869: fix default value for tx-/rx-internal-delay Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 149/187] modpost: Fix processing of CRCs on 32-bit build machines Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 150/187] pinctrl: amd: Disable and mask interrupts on resume Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 151/187] pinctrl: at91-pio4: fix domain name assignment Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 152/187] platform/x86: ideapad-laptop: Stop sending KEY_TOUCHPAD_TOGGLE Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 153/187] thermal: intel: int340x: processor_thermal: Fix additional deadlock Greg Kroah-Hartman
2023-04-03 14:09 ` [PATCH 6.2 154/187] powerpc: Dont try to copy PPR for task with NULL pt_regs Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 155/187] powerpc/pseries/vas: Ignore VAS update for DLPAR if copy/paste is not enabled Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 156/187] powerpc/64s: Fix __pte_needs_flush() false positive warning Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 157/187] NFSv4: Fix hangs when recovering open state after a server reboot Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 158/187] ALSA: hda/conexant: Partial revert of a quirk for Lenovo Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 159/187] ALSA: usb-audio: Fix regression on detection of Roland VS-100 Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 160/187] ALSA: hda/realtek: Add quirks for some Clevo laptops Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 161/187] ALSA: hda/realtek: Add quirk for Lenovo ZhaoYang CF4620Z Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 162/187] xtensa: fix KASAN report for show_stack Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 163/187] rcu: Fix rcu_torture_read ftrace event Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 164/187] dt-bindings: mtd: jedec,spi-nor: Document CPOL/CPHA support Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 165/187] s390/uaccess: add missing earlyclobber annotations to __clear_user() Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 166/187] s390: reintroduce expoline dependence to scripts Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 167/187] drm/etnaviv: fix reference leak when mmaping imported buffer Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 168/187] drm/amdgpu: allow more APUs to do mode2 reset when go to S4 Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 169/187] drm/amd/display: Add DSC Support for Synaptics Cascaded MST Hub Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 170/187] drm/amd/display: Take FEC Overhead into Timeslot Calculation Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 171/187] drm/i915/gem: Flush lmem contents after construction Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 172/187] drm/i915/dpt: Treat the DPT BO as a framebuffer Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 173/187] drm/i915: Disable DC states for all commits Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 174/187] drm/i915: Split icl_color_commit_noarm() from skl_color_commit_noarm() Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 175/187] drm/i915: Move CSC load back into .color_commit_arm() when PSR is enabled on skl/glk Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 176/187] KVM: arm64: PMU: Fix GET_ONE_REG for vPMC regs to return the current value Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 177/187] KVM: arm64: PMU: Dont save PMCR_EL0.{C,P} for the vCPU Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 178/187] KVM: arm64: Retry fault if vma_lookup() results become invalid Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 179/187] KVM: arm64: Disable interrupts while walking userspace PTs Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 180/187] KVM: arm64: Check for kvm_vma_mte_allowed in the critical section Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 181/187] usb: ucsi: Fix ucsi->connector race Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 182/187] libbpf: Fix BTF-to-C converters padding logic Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 183/187] selftests/bpf: Add few corner cases to test padding handling of btf_dump Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 184/187] libbpf: Fix btf_dumps packed struct determination Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 185/187] drm/amdkfd: Get prange->offset after svm_range_vram_node_new Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 186/187] hsr: ratelimit only when errors are printed Greg Kroah-Hartman
2023-04-03 14:10 ` [PATCH 6.2 187/187] x86/PVH: avoid 32-bit build warning when obtaining VGA console info Greg Kroah-Hartman
2023-04-03 22:53 ` [PATCH 6.2 000/187] 6.2.10-rc1 review Shuah Khan
2023-04-03 23:43 ` Justin Forbes
2023-04-04  3:08 ` Florian Fainelli
2023-04-04  3:57 ` Bagas Sanjaya
2023-04-04  8:23 ` Ron Economos
2023-04-04 10:11 ` Jon Hunter
2023-04-04 10:52 ` Conor Dooley
2023-04-04 10:53 ` Chris Paterson
2023-04-04 12:30 ` Naresh Kamboju
2023-04-04 21:22 ` Guenter Roeck
2023-04-05 14:34 ` 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=20230403140420.443340197@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dsterba@suse.com \
    --cc=fdmanana@suse.com \
    --cc=josef@toxicpanda.com \
    --cc=patches@lists.linux.dev \
    --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