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>,
	Filipe Manana <fdmanana@suse.com>,
	David Sterba <dsterba@suse.com>
Subject: [PATCH 5.9 236/391] btrfs: fix readahead hang and use-after-free after removing a device
Date: Tue,  3 Nov 2020 21:34:47 +0100	[thread overview]
Message-ID: <20201103203402.922966642@linuxfoundation.org> (raw)
In-Reply-To: <20201103203348.153465465@linuxfoundation.org>

From: Filipe Manana <fdmanana@suse.com>

commit 66d204a16c94f24ad08290a7663ab67e7fc04e82 upstream.

Very sporadically I had test case btrfs/069 from fstests hanging (for
years, it is not a recent regression), with the following traces in
dmesg/syslog:

  [162301.160628] BTRFS info (device sdc): dev_replace from /dev/sdd (devid 2) to /dev/sdg started
  [162301.181196] BTRFS info (device sdc): scrub: finished on devid 4 with status: 0
  [162301.287162] BTRFS info (device sdc): dev_replace from /dev/sdd (devid 2) to /dev/sdg finished
  [162513.513792] INFO: task btrfs-transacti:1356167 blocked for more than 120 seconds.
  [162513.514318]       Not tainted 5.9.0-rc6-btrfs-next-69 #1
  [162513.514522] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [162513.514747] task:btrfs-transacti state:D stack:    0 pid:1356167 ppid:     2 flags:0x00004000
  [162513.514751] Call Trace:
  [162513.514761]  __schedule+0x5ce/0xd00
  [162513.514765]  ? _raw_spin_unlock_irqrestore+0x3c/0x60
  [162513.514771]  schedule+0x46/0xf0
  [162513.514844]  wait_current_trans+0xde/0x140 [btrfs]
  [162513.514850]  ? finish_wait+0x90/0x90
  [162513.514864]  start_transaction+0x37c/0x5f0 [btrfs]
  [162513.514879]  transaction_kthread+0xa4/0x170 [btrfs]
  [162513.514891]  ? btrfs_cleanup_transaction+0x660/0x660 [btrfs]
  [162513.514894]  kthread+0x153/0x170
  [162513.514897]  ? kthread_stop+0x2c0/0x2c0
  [162513.514902]  ret_from_fork+0x22/0x30
  [162513.514916] INFO: task fsstress:1356184 blocked for more than 120 seconds.
  [162513.515192]       Not tainted 5.9.0-rc6-btrfs-next-69 #1
  [162513.515431] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [162513.515680] task:fsstress        state:D stack:    0 pid:1356184 ppid:1356177 flags:0x00004000
  [162513.515682] Call Trace:
  [162513.515688]  __schedule+0x5ce/0xd00
  [162513.515691]  ? _raw_spin_unlock_irqrestore+0x3c/0x60
  [162513.515697]  schedule+0x46/0xf0
  [162513.515712]  wait_current_trans+0xde/0x140 [btrfs]
  [162513.515716]  ? finish_wait+0x90/0x90
  [162513.515729]  start_transaction+0x37c/0x5f0 [btrfs]
  [162513.515743]  btrfs_attach_transaction_barrier+0x1f/0x50 [btrfs]
  [162513.515753]  btrfs_sync_fs+0x61/0x1c0 [btrfs]
  [162513.515758]  ? __ia32_sys_fdatasync+0x20/0x20
  [162513.515761]  iterate_supers+0x87/0xf0
  [162513.515765]  ksys_sync+0x60/0xb0
  [162513.515768]  __do_sys_sync+0xa/0x10
  [162513.515771]  do_syscall_64+0x33/0x80
  [162513.515774]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
  [162513.515781] RIP: 0033:0x7f5238f50bd7
  [162513.515782] Code: Bad RIP value.
  [162513.515784] RSP: 002b:00007fff67b978e8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a2
  [162513.515786] RAX: ffffffffffffffda RBX: 000055b1fad2c560 RCX: 00007f5238f50bd7
  [162513.515788] RDX: 00000000ffffffff RSI: 000000000daf0e74 RDI: 000000000000003a
  [162513.515789] RBP: 0000000000000032 R08: 000000000000000a R09: 00007f5239019be0
  [162513.515791] R10: fffffffffffff24f R11: 0000000000000206 R12: 000000000000003a
  [162513.515792] R13: 00007fff67b97950 R14: 00007fff67b97906 R15: 000055b1fad1a340
  [162513.515804] INFO: task fsstress:1356185 blocked for more than 120 seconds.
  [162513.516064]       Not tainted 5.9.0-rc6-btrfs-next-69 #1
  [162513.516329] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [162513.516617] task:fsstress        state:D stack:    0 pid:1356185 ppid:1356177 flags:0x00000000
  [162513.516620] Call Trace:
  [162513.516625]  __schedule+0x5ce/0xd00
  [162513.516628]  ? _raw_spin_unlock_irqrestore+0x3c/0x60
  [162513.516634]  schedule+0x46/0xf0
  [162513.516647]  wait_current_trans+0xde/0x140 [btrfs]
  [162513.516650]  ? finish_wait+0x90/0x90
  [162513.516662]  start_transaction+0x4d7/0x5f0 [btrfs]
  [162513.516679]  btrfs_setxattr_trans+0x3c/0x100 [btrfs]
  [162513.516686]  __vfs_setxattr+0x66/0x80
  [162513.516691]  __vfs_setxattr_noperm+0x70/0x200
  [162513.516697]  vfs_setxattr+0x6b/0x120
  [162513.516703]  setxattr+0x125/0x240
  [162513.516709]  ? lock_acquire+0xb1/0x480
  [162513.516712]  ? mnt_want_write+0x20/0x50
  [162513.516721]  ? rcu_read_lock_any_held+0x8e/0xb0
  [162513.516723]  ? preempt_count_add+0x49/0xa0
  [162513.516725]  ? __sb_start_write+0x19b/0x290
  [162513.516727]  ? preempt_count_add+0x49/0xa0
  [162513.516732]  path_setxattr+0xba/0xd0
  [162513.516739]  __x64_sys_setxattr+0x27/0x30
  [162513.516741]  do_syscall_64+0x33/0x80
  [162513.516743]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
  [162513.516745] RIP: 0033:0x7f5238f56d5a
  [162513.516746] Code: Bad RIP value.
  [162513.516748] RSP: 002b:00007fff67b97868 EFLAGS: 00000202 ORIG_RAX: 00000000000000bc
  [162513.516750] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f5238f56d5a
  [162513.516751] RDX: 000055b1fbb0d5a0 RSI: 00007fff67b978a0 RDI: 000055b1fbb0d470
  [162513.516753] RBP: 000055b1fbb0d5a0 R08: 0000000000000001 R09: 00007fff67b97700
  [162513.516754] R10: 0000000000000004 R11: 0000000000000202 R12: 0000000000000004
  [162513.516756] R13: 0000000000000024 R14: 0000000000000001 R15: 00007fff67b978a0
  [162513.516767] INFO: task fsstress:1356196 blocked for more than 120 seconds.
  [162513.517064]       Not tainted 5.9.0-rc6-btrfs-next-69 #1
  [162513.517365] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [162513.517763] task:fsstress        state:D stack:    0 pid:1356196 ppid:1356177 flags:0x00004000
  [162513.517780] Call Trace:
  [162513.517786]  __schedule+0x5ce/0xd00
  [162513.517789]  ? _raw_spin_unlock_irqrestore+0x3c/0x60
  [162513.517796]  schedule+0x46/0xf0
  [162513.517810]  wait_current_trans+0xde/0x140 [btrfs]
  [162513.517814]  ? finish_wait+0x90/0x90
  [162513.517829]  start_transaction+0x37c/0x5f0 [btrfs]
  [162513.517845]  btrfs_attach_transaction_barrier+0x1f/0x50 [btrfs]
  [162513.517857]  btrfs_sync_fs+0x61/0x1c0 [btrfs]
  [162513.517862]  ? __ia32_sys_fdatasync+0x20/0x20
  [162513.517865]  iterate_supers+0x87/0xf0
  [162513.517869]  ksys_sync+0x60/0xb0
  [162513.517872]  __do_sys_sync+0xa/0x10
  [162513.517875]  do_syscall_64+0x33/0x80
  [162513.517878]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
  [162513.517881] RIP: 0033:0x7f5238f50bd7
  [162513.517883] Code: Bad RIP value.
  [162513.517885] RSP: 002b:00007fff67b978e8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a2
  [162513.517887] RAX: ffffffffffffffda RBX: 000055b1fad2c560 RCX: 00007f5238f50bd7
  [162513.517889] RDX: 0000000000000000 RSI: 000000007660add2 RDI: 0000000000000053
  [162513.517891] RBP: 0000000000000032 R08: 0000000000000067 R09: 00007f5239019be0
  [162513.517893] R10: fffffffffffff24f R11: 0000000000000206 R12: 0000000000000053
  [162513.517895] R13: 00007fff67b97950 R14: 00007fff67b97906 R15: 000055b1fad1a340
  [162513.517908] INFO: task fsstress:1356197 blocked for more than 120 seconds.
  [162513.518298]       Not tainted 5.9.0-rc6-btrfs-next-69 #1
  [162513.518672] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [162513.519157] task:fsstress        state:D stack:    0 pid:1356197 ppid:1356177 flags:0x00000000
  [162513.519160] Call Trace:
  [162513.519165]  __schedule+0x5ce/0xd00
  [162513.519168]  ? _raw_spin_unlock_irqrestore+0x3c/0x60
  [162513.519174]  schedule+0x46/0xf0
  [162513.519190]  wait_current_trans+0xde/0x140 [btrfs]
  [162513.519193]  ? finish_wait+0x90/0x90
  [162513.519206]  start_transaction+0x4d7/0x5f0 [btrfs]
  [162513.519222]  btrfs_create+0x57/0x200 [btrfs]
  [162513.519230]  lookup_open+0x522/0x650
  [162513.519246]  path_openat+0x2b8/0xa50
  [162513.519270]  do_filp_open+0x91/0x100
  [162513.519275]  ? find_held_lock+0x32/0x90
  [162513.519280]  ? lock_acquired+0x33b/0x470
  [162513.519285]  ? do_raw_spin_unlock+0x4b/0xc0
  [162513.519287]  ? _raw_spin_unlock+0x29/0x40
  [162513.519295]  do_sys_openat2+0x20d/0x2d0
  [162513.519300]  do_sys_open+0x44/0x80
  [162513.519304]  do_syscall_64+0x33/0x80
  [162513.519307]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
  [162513.519309] RIP: 0033:0x7f5238f4a903
  [162513.519310] Code: Bad RIP value.
  [162513.519312] RSP: 002b:00007fff67b97758 EFLAGS: 00000246 ORIG_RAX: 0000000000000055
  [162513.519314] RAX: ffffffffffffffda RBX: 00000000ffffffff RCX: 00007f5238f4a903
  [162513.519316] RDX: 0000000000000000 RSI: 00000000000001b6 RDI: 000055b1fbb0d470
  [162513.519317] RBP: 00007fff67b978c0 R08: 0000000000000001 R09: 0000000000000002
  [162513.519319] R10: 00007fff67b974f7 R11: 0000000000000246 R12: 0000000000000013
  [162513.519320] R13: 00000000000001b6 R14: 00007fff67b97906 R15: 000055b1fad1c620
  [162513.519332] INFO: task btrfs:1356211 blocked for more than 120 seconds.
  [162513.519727]       Not tainted 5.9.0-rc6-btrfs-next-69 #1
  [162513.520115] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
  [162513.520508] task:btrfs           state:D stack:    0 pid:1356211 ppid:1356178 flags:0x00004002
  [162513.520511] Call Trace:
  [162513.520516]  __schedule+0x5ce/0xd00
  [162513.520519]  ? _raw_spin_unlock_irqrestore+0x3c/0x60
  [162513.520525]  schedule+0x46/0xf0
  [162513.520544]  btrfs_scrub_pause+0x11f/0x180 [btrfs]
  [162513.520548]  ? finish_wait+0x90/0x90
  [162513.520562]  btrfs_commit_transaction+0x45a/0xc30 [btrfs]
  [162513.520574]  ? start_transaction+0xe0/0x5f0 [btrfs]
  [162513.520596]  btrfs_dev_replace_finishing+0x6d8/0x711 [btrfs]
  [162513.520619]  btrfs_dev_replace_by_ioctl.cold+0x1cc/0x1fd [btrfs]
  [162513.520639]  btrfs_ioctl+0x2a25/0x36f0 [btrfs]
  [162513.520643]  ? do_sigaction+0xf3/0x240
  [162513.520645]  ? find_held_lock+0x32/0x90
  [162513.520648]  ? do_sigaction+0xf3/0x240
  [162513.520651]  ? lock_acquired+0x33b/0x470
  [162513.520655]  ? _raw_spin_unlock_irq+0x24/0x50
  [162513.520657]  ? lockdep_hardirqs_on+0x7d/0x100
  [162513.520660]  ? _raw_spin_unlock_irq+0x35/0x50
  [162513.520662]  ? do_sigaction+0xf3/0x240
  [162513.520671]  ? __x64_sys_ioctl+0x83/0xb0
  [162513.520672]  __x64_sys_ioctl+0x83/0xb0
  [162513.520677]  do_syscall_64+0x33/0x80
  [162513.520679]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
  [162513.520681] RIP: 0033:0x7fc3cd307d87
  [162513.520682] Code: Bad RIP value.
  [162513.520684] RSP: 002b:00007ffe30a56bb8 EFLAGS: 00000202 ORIG_RAX: 0000000000000010
  [162513.520686] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 00007fc3cd307d87
  [162513.520687] RDX: 00007ffe30a57a30 RSI: 00000000ca289435 RDI: 0000000000000003
  [162513.520689] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
  [162513.520690] R10: 0000000000000008 R11: 0000000000000202 R12: 0000000000000003
  [162513.520692] R13: 0000557323a212e0 R14: 00007ffe30a5a520 R15: 0000000000000001
  [162513.520703]
		  Showing all locks held in the system:
  [162513.520712] 1 lock held by khungtaskd/54:
  [162513.520713]  #0: ffffffffb40a91a0 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x15/0x197
  [162513.520728] 1 lock held by in:imklog/596:
  [162513.520729]  #0: ffff8f3f0d781400 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x4d/0x60
  [162513.520782] 1 lock held by btrfs-transacti/1356167:
  [162513.520784]  #0: ffff8f3d810cc848 (&fs_info->transaction_kthread_mutex){+.+.}-{3:3}, at: transaction_kthread+0x4a/0x170 [btrfs]
  [162513.520798] 1 lock held by btrfs/1356190:
  [162513.520800]  #0: ffff8f3d57644470 (sb_writers#15){.+.+}-{0:0}, at: mnt_want_write_file+0x22/0x60
  [162513.520805] 1 lock held by fsstress/1356184:
  [162513.520806]  #0: ffff8f3d576440e8 (&type->s_umount_key#62){++++}-{3:3}, at: iterate_supers+0x6f/0xf0
  [162513.520811] 3 locks held by fsstress/1356185:
  [162513.520812]  #0: ffff8f3d57644470 (sb_writers#15){.+.+}-{0:0}, at: mnt_want_write+0x20/0x50
  [162513.520815]  #1: ffff8f3d80a650b8 (&type->i_mutex_dir_key#10){++++}-{3:3}, at: vfs_setxattr+0x50/0x120
  [162513.520820]  #2: ffff8f3d57644690 (sb_internal#2){.+.+}-{0:0}, at: start_transaction+0x40e/0x5f0 [btrfs]
  [162513.520833] 1 lock held by fsstress/1356196:
  [162513.520834]  #0: ffff8f3d576440e8 (&type->s_umount_key#62){++++}-{3:3}, at: iterate_supers+0x6f/0xf0
  [162513.520838] 3 locks held by fsstress/1356197:
  [162513.520839]  #0: ffff8f3d57644470 (sb_writers#15){.+.+}-{0:0}, at: mnt_want_write+0x20/0x50
  [162513.520843]  #1: ffff8f3d506465e8 (&type->i_mutex_dir_key#10){++++}-{3:3}, at: path_openat+0x2a7/0xa50
  [162513.520846]  #2: ffff8f3d57644690 (sb_internal#2){.+.+}-{0:0}, at: start_transaction+0x40e/0x5f0 [btrfs]
  [162513.520858] 2 locks held by btrfs/1356211:
  [162513.520859]  #0: ffff8f3d810cde30 (&fs_info->dev_replace.lock_finishing_cancel_unmount){+.+.}-{3:3}, at: btrfs_dev_replace_finishing+0x52/0x711 [btrfs]
  [162513.520877]  #1: ffff8f3d57644690 (sb_internal#2){.+.+}-{0:0}, at: start_transaction+0x40e/0x5f0 [btrfs]

This was weird because the stack traces show that a transaction commit,
triggered by a device replace operation, is blocking trying to pause any
running scrubs but there are no stack traces of blocked tasks doing a
scrub.

After poking around with drgn, I noticed there was a scrub task that was
constantly running and blocking for shorts periods of time:

  >>> t = find_task(prog, 1356190)
  >>> prog.stack_trace(t)
  #0  __schedule+0x5ce/0xcfc
  #1  schedule+0x46/0xe4
  #2  schedule_timeout+0x1df/0x475
  #3  btrfs_reada_wait+0xda/0x132
  #4  scrub_stripe+0x2a8/0x112f
  #5  scrub_chunk+0xcd/0x134
  #6  scrub_enumerate_chunks+0x29e/0x5ee
  #7  btrfs_scrub_dev+0x2d5/0x91b
  #8  btrfs_ioctl+0x7f5/0x36e7
  #9  __x64_sys_ioctl+0x83/0xb0
  #10 do_syscall_64+0x33/0x77
  #11 entry_SYSCALL_64+0x7c/0x156

Which corresponds to:

int btrfs_reada_wait(void *handle)
{
    struct reada_control *rc = handle;
    struct btrfs_fs_info *fs_info = rc->fs_info;

    while (atomic_read(&rc->elems)) {
        if (!atomic_read(&fs_info->reada_works_cnt))
            reada_start_machine(fs_info);
        wait_event_timeout(rc->wait, atomic_read(&rc->elems) == 0,
                          (HZ + 9) / 10);
    }
(...)

So the counter "rc->elems" was set to 1 and never decreased to 0, causing
the scrub task to loop forever in that function. Then I used the following
script for drgn to check the readahead requests:

  $ cat dump_reada.py
  import sys
  import drgn
  from drgn import NULL, Object, cast, container_of, execscript, \
      reinterpret, sizeof
  from drgn.helpers.linux import *

  mnt_path = b"/home/fdmanana/btrfs-tests/scratch_1"

  mnt = None
  for mnt in for_each_mount(prog, dst = mnt_path):
      pass

  if mnt is None:
      sys.stderr.write(f'Error: mount point {mnt_path} not found\n')
      sys.exit(1)

  fs_info = cast('struct btrfs_fs_info *', mnt.mnt.mnt_sb.s_fs_info)

  def dump_re(re):
      nzones = re.nzones.value_()
      print(f're at {hex(re.value_())}')
      print(f'\t logical {re.logical.value_()}')
      print(f'\t refcnt {re.refcnt.value_()}')
      print(f'\t nzones {nzones}')
      for i in range(nzones):
          dev = re.zones[i].device
          name = dev.name.str.string_()
          print(f'\t\t dev id {dev.devid.value_()} name {name}')
      print()

  for _, e in radix_tree_for_each(fs_info.reada_tree):
      re = cast('struct reada_extent *', e)
      dump_re(re)

  $ drgn dump_reada.py
  re at 0xffff8f3da9d25ad8
          logical 38928384
          refcnt 1
          nzones 1
                 dev id 0 name b'/dev/sdd'
  $

So there was one readahead extent with a single zone corresponding to the
source device of that last device replace operation logged in dmesg/syslog.
Also the ID of that zone's device was 0 which is a special value set in
the source device of a device replace operation when the operation finishes
(constant BTRFS_DEV_REPLACE_DEVID set at btrfs_dev_replace_finishing()),
confirming again that device /dev/sdd was the source of a device replace
operation.

Normally there should be as many zones in the readahead extent as there are
devices, and I wasn't expecting the extent to be in a block group with a
'single' profile, so I went and confirmed with the following drgn script
that there weren't any single profile block groups:

  $ cat dump_block_groups.py
  import sys
  import drgn
  from drgn import NULL, Object, cast, container_of, execscript, \
      reinterpret, sizeof
  from drgn.helpers.linux import *

  mnt_path = b"/home/fdmanana/btrfs-tests/scratch_1"

  mnt = None
  for mnt in for_each_mount(prog, dst = mnt_path):
      pass

  if mnt is None:
      sys.stderr.write(f'Error: mount point {mnt_path} not found\n')
      sys.exit(1)

  fs_info = cast('struct btrfs_fs_info *', mnt.mnt.mnt_sb.s_fs_info)

  BTRFS_BLOCK_GROUP_DATA = (1 << 0)
  BTRFS_BLOCK_GROUP_SYSTEM = (1 << 1)
  BTRFS_BLOCK_GROUP_METADATA = (1 << 2)
  BTRFS_BLOCK_GROUP_RAID0 = (1 << 3)
  BTRFS_BLOCK_GROUP_RAID1 = (1 << 4)
  BTRFS_BLOCK_GROUP_DUP = (1 << 5)
  BTRFS_BLOCK_GROUP_RAID10 = (1 << 6)
  BTRFS_BLOCK_GROUP_RAID5 = (1 << 7)
  BTRFS_BLOCK_GROUP_RAID6 = (1 << 8)
  BTRFS_BLOCK_GROUP_RAID1C3 = (1 << 9)
  BTRFS_BLOCK_GROUP_RAID1C4 = (1 << 10)

  def bg_flags_string(bg):
      flags = bg.flags.value_()
      ret = ''
      if flags & BTRFS_BLOCK_GROUP_DATA:
          ret = 'data'
      if flags & BTRFS_BLOCK_GROUP_METADATA:
          if len(ret) > 0:
              ret += '|'
          ret += 'meta'
      if flags & BTRFS_BLOCK_GROUP_SYSTEM:
          if len(ret) > 0:
              ret += '|'
          ret += 'system'
      if flags & BTRFS_BLOCK_GROUP_RAID0:
          ret += ' raid0'
      elif flags & BTRFS_BLOCK_GROUP_RAID1:
          ret += ' raid1'
      elif flags & BTRFS_BLOCK_GROUP_DUP:
          ret += ' dup'
      elif flags & BTRFS_BLOCK_GROUP_RAID10:
          ret += ' raid10'
      elif flags & BTRFS_BLOCK_GROUP_RAID5:
          ret += ' raid5'
      elif flags & BTRFS_BLOCK_GROUP_RAID6:
          ret += ' raid6'
      elif flags & BTRFS_BLOCK_GROUP_RAID1C3:
          ret += ' raid1c3'
      elif flags & BTRFS_BLOCK_GROUP_RAID1C4:
          ret += ' raid1c4'
      else:
          ret += ' single'

      return ret

  def dump_bg(bg):
      print()
      print(f'block group at {hex(bg.value_())}')
      print(f'\t start {bg.start.value_()} length {bg.length.value_()}')
      print(f'\t flags {bg.flags.value_()} - {bg_flags_string(bg)}')

  bg_root = fs_info.block_group_cache_tree.address_of_()
  for bg in rbtree_inorder_for_each_entry('struct btrfs_block_group', bg_root, 'cache_node'):
      dump_bg(bg)

  $ drgn dump_block_groups.py

  block group at 0xffff8f3d673b0400
         start 22020096 length 16777216
         flags 258 - system raid6

  block group at 0xffff8f3d53ddb400
         start 38797312 length 536870912
         flags 260 - meta raid6

  block group at 0xffff8f3d5f4d9c00
         start 575668224 length 2147483648
         flags 257 - data raid6

  block group at 0xffff8f3d08189000
         start 2723151872 length 67108864
         flags 258 - system raid6

  block group at 0xffff8f3db70ff000
         start 2790260736 length 1073741824
         flags 260 - meta raid6

  block group at 0xffff8f3d5f4dd800
         start 3864002560 length 67108864
         flags 258 - system raid6

  block group at 0xffff8f3d67037000
         start 3931111424 length 2147483648
         flags 257 - data raid6
  $

So there were only 2 reasons left for having a readahead extent with a
single zone: reada_find_zone(), called when creating a readahead extent,
returned NULL either because we failed to find the corresponding block
group or because a memory allocation failed. With some additional and
custom tracing I figured out that on every further ocurrence of the
problem the block group had just been deleted when we were looping to
create the zones for the readahead extent (at reada_find_extent()), so we
ended up with only one zone in the readahead extent, corresponding to a
device that ends up getting replaced.

So after figuring that out it became obvious why the hang happens:

1) Task A starts a scrub on any device of the filesystem, except for
   device /dev/sdd;

2) Task B starts a device replace with /dev/sdd as the source device;

3) Task A calls btrfs_reada_add() from scrub_stripe() and it is currently
   starting to scrub a stripe from block group X. This call to
   btrfs_reada_add() is the one for the extent tree. When btrfs_reada_add()
   calls reada_add_block(), it passes the logical address of the extent
   tree's root node as its 'logical' argument - a value of 38928384;

4) Task A then enters reada_find_extent(), called from reada_add_block().
   It finds there isn't any existing readahead extent for the logical
   address 38928384, so it proceeds to the path of creating a new one.

   It calls btrfs_map_block() to find out which stripes exist for the block
   group X. On the first iteration of the for loop that iterates over the
   stripes, it finds the stripe for device /dev/sdd, so it creates one
   zone for that device and adds it to the readahead extent. Before getting
   into the second iteration of the loop, the cleanup kthread deletes block
   group X because it was empty. So in the iterations for the remaining
   stripes it does not add more zones to the readahead extent, because the
   calls to reada_find_zone() returned NULL because they couldn't find
   block group X anymore.

   As a result the new readahead extent has a single zone, corresponding to
   the device /dev/sdd;

4) Before task A returns to btrfs_reada_add() and queues the readahead job
   for the readahead work queue, task B finishes the device replace and at
   btrfs_dev_replace_finishing() swaps the device /dev/sdd with the new
   device /dev/sdg;

5) Task A returns to reada_add_block(), which increments the counter
   "->elems" of the reada_control structure allocated at btrfs_reada_add().

   Then it returns back to btrfs_reada_add() and calls
   reada_start_machine(). This queues a job in the readahead work queue to
   run the function reada_start_machine_worker(), which calls
   __reada_start_machine().

   At __reada_start_machine() we take the device list mutex and for each
   device found in the current device list, we call
   reada_start_machine_dev() to start the readahead work. However at this
   point the device /dev/sdd was already freed and is not in the device
   list anymore.

   This means the corresponding readahead for the extent at 38928384 is
   never started, and therefore the "->elems" counter of the reada_control
   structure allocated at btrfs_reada_add() never goes down to 0, causing
   the call to btrfs_reada_wait(), done by the scrub task, to wait forever.

Note that the readahead request can be made either after the device replace
started or before it started, however in pratice it is very unlikely that a
device replace is able to start after a readahead request is made and is
able to complete before the readahead request completes - maybe only on a
very small and nearly empty filesystem.

This hang however is not the only problem we can have with readahead and
device removals. When the readahead extent has other zones other than the
one corresponding to the device that is being removed (either by a device
replace or a device remove operation), we risk having a use-after-free on
the device when dropping the last reference of the readahead extent.

For example if we create a readahead extent with two zones, one for the
device /dev/sdd and one for the device /dev/sde:

1) Before the readahead worker starts, the device /dev/sdd is removed,
   and the corresponding btrfs_device structure is freed. However the
   readahead extent still has the zone pointing to the device structure;

2) When the readahead worker starts, it only finds device /dev/sde in the
   current device list of the filesystem;

3) It starts the readahead work, at reada_start_machine_dev(), using the
   device /dev/sde;

4) Then when it finishes reading the extent from device /dev/sde, it calls
   __readahead_hook() which ends up dropping the last reference on the
   readahead extent through the last call to reada_extent_put();

5) At reada_extent_put() it iterates over each zone of the readahead extent
   and attempts to delete an element from the device's 'reada_extents'
   radix tree, resulting in a use-after-free, as the device pointer of the
   zone for /dev/sdd is now stale. We can also access the device after
   dropping the last reference of a zone, through reada_zone_release(),
   also called by reada_extent_put().

And a device remove suffers the same problem, however since it shrinks the
device size down to zero before removing the device, it is very unlikely to
still have readahead requests not completed by the time we free the device,
the only possibility is if the device has a very little space allocated.

While the hang problem is exclusive to scrub, since it is currently the
only user of btrfs_reada_add() and btrfs_reada_wait(), the use-after-free
problem affects any path that triggers readhead, which includes
btree_readahead_hook() and __readahead_hook() (a readahead worker can
trigger readahed for the children of a node) for example - any path that
ends up calling reada_add_block() can trigger the use-after-free after a
device is removed.

So fix this by waiting for any readahead requests for a device to complete
before removing a device, ensuring that while waiting for existing ones no
new ones can be made.

This problem has been around for a very long time - the readahead code was
added in 2011, device remove exists since 2008 and device replace was
introduced in 2013, hard to pick a specific commit for a git Fixes tag.

CC: stable@vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/btrfs/ctree.h       |    2 ++
 fs/btrfs/dev-replace.c |    5 +++++
 fs/btrfs/reada.c       |   45 +++++++++++++++++++++++++++++++++++++++++++++
 fs/btrfs/volumes.c     |    3 +++
 fs/btrfs/volumes.h     |    1 +
 5 files changed, 56 insertions(+)

--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3517,6 +3517,8 @@ struct reada_control *btrfs_reada_add(st
 int btrfs_reada_wait(void *handle);
 void btrfs_reada_detach(void *handle);
 int btree_readahead_hook(struct extent_buffer *eb, int err);
+void btrfs_reada_remove_dev(struct btrfs_device *dev);
+void btrfs_reada_undo_remove_dev(struct btrfs_device *dev);
 
 static inline int is_fstree(u64 rootid)
 {
--- a/fs/btrfs/dev-replace.c
+++ b/fs/btrfs/dev-replace.c
@@ -668,6 +668,9 @@ static int btrfs_dev_replace_finishing(s
 	}
 	btrfs_wait_ordered_roots(fs_info, U64_MAX, 0, (u64)-1);
 
+	if (!scrub_ret)
+		btrfs_reada_remove_dev(src_device);
+
 	/*
 	 * We have to use this loop approach because at this point src_device
 	 * has to be available for transaction commit to complete, yet new
@@ -676,6 +679,7 @@ static int btrfs_dev_replace_finishing(s
 	while (1) {
 		trans = btrfs_start_transaction(root, 0);
 		if (IS_ERR(trans)) {
+			btrfs_reada_undo_remove_dev(src_device);
 			mutex_unlock(&dev_replace->lock_finishing_cancel_unmount);
 			return PTR_ERR(trans);
 		}
@@ -726,6 +730,7 @@ error:
 		up_write(&dev_replace->rwsem);
 		mutex_unlock(&fs_info->chunk_mutex);
 		mutex_unlock(&fs_info->fs_devices->device_list_mutex);
+		btrfs_reada_undo_remove_dev(src_device);
 		btrfs_rm_dev_replace_blocked(fs_info);
 		if (tgt_device)
 			btrfs_destroy_dev_replace_tgtdev(tgt_device);
--- a/fs/btrfs/reada.c
+++ b/fs/btrfs/reada.c
@@ -421,6 +421,9 @@ static struct reada_extent *reada_find_e
 		if (!dev->bdev)
 			continue;
 
+		if (test_bit(BTRFS_DEV_STATE_NO_READA, &dev->dev_state))
+			continue;
+
 		if (dev_replace_is_ongoing &&
 		    dev == fs_info->dev_replace.tgtdev) {
 			/*
@@ -1014,3 +1017,45 @@ void btrfs_reada_detach(void *handle)
 
 	kref_put(&rc->refcnt, reada_control_release);
 }
+
+/*
+ * Before removing a device (device replace or device remove ioctls), call this
+ * function to wait for all existing readahead requests on the device and to
+ * make sure no one queues more readahead requests for the device.
+ *
+ * Must be called without holding neither the device list mutex nor the device
+ * replace semaphore, otherwise it will deadlock.
+ */
+void btrfs_reada_remove_dev(struct btrfs_device *dev)
+{
+	struct btrfs_fs_info *fs_info = dev->fs_info;
+
+	/* Serialize with readahead extent creation at reada_find_extent(). */
+	spin_lock(&fs_info->reada_lock);
+	set_bit(BTRFS_DEV_STATE_NO_READA, &dev->dev_state);
+	spin_unlock(&fs_info->reada_lock);
+
+	/*
+	 * There might be readahead requests added to the radix trees which
+	 * were not yet added to the readahead work queue. We need to start
+	 * them and wait for their completion, otherwise we can end up with
+	 * use-after-free problems when dropping the last reference on the
+	 * readahead extents and their zones, as they need to access the
+	 * device structure.
+	 */
+	reada_start_machine(fs_info);
+	btrfs_flush_workqueue(fs_info->readahead_workers);
+}
+
+/*
+ * If when removing a device (device replace or device remove ioctls) an error
+ * happens after calling btrfs_reada_remove_dev(), call this to undo what that
+ * function did. This is safe to call even if btrfs_reada_remove_dev() was not
+ * called before.
+ */
+void btrfs_reada_undo_remove_dev(struct btrfs_device *dev)
+{
+	spin_lock(&dev->fs_info->reada_lock);
+	clear_bit(BTRFS_DEV_STATE_NO_READA, &dev->dev_state);
+	spin_unlock(&dev->fs_info->reada_lock);
+}
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -2104,6 +2104,8 @@ int btrfs_rm_device(struct btrfs_fs_info
 
 	mutex_unlock(&uuid_mutex);
 	ret = btrfs_shrink_device(device, 0);
+	if (!ret)
+		btrfs_reada_remove_dev(device);
 	mutex_lock(&uuid_mutex);
 	if (ret)
 		goto error_undo;
@@ -2191,6 +2193,7 @@ out:
 	return ret;
 
 error_undo:
+	btrfs_reada_undo_remove_dev(device);
 	if (test_bit(BTRFS_DEV_STATE_WRITEABLE, &device->dev_state)) {
 		mutex_lock(&fs_info->chunk_mutex);
 		list_add(&device->dev_alloc_list,
--- a/fs/btrfs/volumes.h
+++ b/fs/btrfs/volumes.h
@@ -50,6 +50,7 @@ struct btrfs_io_geometry {
 #define BTRFS_DEV_STATE_MISSING		(2)
 #define BTRFS_DEV_STATE_REPLACE_TGT	(3)
 #define BTRFS_DEV_STATE_FLUSH_SENT	(4)
+#define BTRFS_DEV_STATE_NO_READA	(5)
 
 struct btrfs_device {
 	struct list_head dev_list; /* device_list_mutex */



  parent reply	other threads:[~2020-11-03 21:52 UTC|newest]

Thread overview: 408+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-03 20:30 [PATCH 5.9 000/391] 5.9.4-rc1 review Greg Kroah-Hartman
2020-11-03 20:30 ` [PATCH 5.9 001/391] xen/events: avoid removing an event channel while handling it Greg Kroah-Hartman
2020-11-03 20:30 ` [PATCH 5.9 002/391] xen/events: add a proper barrier to 2-level uevent unmasking Greg Kroah-Hartman
2020-11-03 20:30 ` [PATCH 5.9 003/391] xen/events: fix race in evtchn_fifo_unmask() Greg Kroah-Hartman
2020-11-03 20:30 ` [PATCH 5.9 004/391] xen/events: add a new "late EOI" evtchn framework Greg Kroah-Hartman
2020-11-03 20:30 ` [PATCH 5.9 005/391] xen/blkback: use lateeoi irq binding Greg Kroah-Hartman
2020-11-03 20:30 ` [PATCH 5.9 006/391] xen/netback: " Greg Kroah-Hartman
2020-11-03 20:30 ` [PATCH 5.9 007/391] xen/scsiback: " Greg Kroah-Hartman
2020-11-03 20:30 ` [PATCH 5.9 008/391] xen/pvcallsback: " Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 009/391] xen/pciback: " Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 010/391] xen/events: switch user event channels to lateeoi model Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 011/391] xen/events: use a common cpu hotplug hook for event channels Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 012/391] xen/events: defer eoi in case of excessive number of events Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 013/391] xen/events: block rogue events for some time Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 014/391] firmware: arm_scmi: Fix ARCH_COLD_RESET Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 015/391] firmware: arm_scmi: Expand SMC/HVC message pool to more than one Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 016/391] tee: client UUID: Skip REE kernel login method as well Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 017/391] firmware: arm_scmi: Add missing Rx size re-initialisation Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 018/391] x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 compiled kernels Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 019/391] firmware: arm_scmi: Fix locking in notifications Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 020/391] firmware: arm_scmi: Fix duplicate workqueue name Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 021/391] x86/alternative: Dont call text_poke() in lazy TLB mode Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 022/391] ionic: no rx flush in deinit Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 023/391] RDMA/mlx5: Fix devlink deadlock on net namespace deletion Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 024/391] mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish() Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 025/391] tracing, synthetic events: Replace buggy strcat() with seq_buf operations Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 026/391] afs: Fix a use after free in afs_xattr_get_acl() Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 027/391] afs: Fix afs_launder_page to not clear PG_writeback Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 028/391] RDMA/qedr: Fix memory leak in iWARP CM Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 029/391] ata: sata_nv: Fix retrieving of active qcs Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 030/391] arm64: efi: increase EFI PE/COFF header padding to 64 KB Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 031/391] afs: Fix to take ref on page when PG_private is set Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 032/391] afs: Fix page leak on afs_write_begin() failure Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 033/391] afs: Fix where page->private is set during write Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 034/391] afs: Wrap page->private manipulations in inline functions Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 035/391] afs: Alter dirty range encoding in page->private Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 036/391] afs: Fix afs_invalidatepage to adjust the dirty region Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 037/391] afs: Fix dirty-region encoding on ppc32 with 64K pages Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 038/391] vdpasim: fix MAC address configuration Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 039/391] interconnect: qcom: sdm845: Enable keepalive for the MM1 BCM Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 040/391] lockdep: Fix preemption WARN for spurious IRQ-enable Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 041/391] usb: host: ehci-tegra: Fix error handling in tegra_ehci_probe() Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 042/391] futex: Fix incorrect should_fail_futex() handling Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 043/391] powerpc/vmemmap: Fix memory leak with vmemmap list allocation failures Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 044/391] powerpc/powernv/smp: Fix spurious DBG() warning Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 045/391] RDMA/core: Change how failing destroy is handled during uobj abort Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 046/391] f2fs: allocate proper size memory for zstd decompress Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 047/391] powerpc/watchpoint/ptrace: Fix SETHWDEBUG when CONFIG_HAVE_HW_BREAKPOINT=N Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 048/391] mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 049/391] powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 050/391] sparc64: remove mm_cpumask clearing to fix kthread_use_mm race Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 051/391] f2fs: add trace exit in exception path Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 052/391] f2fs: do sanity check on zoned block device path Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 053/391] f2fs: fix uninit-value in f2fs_lookup Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 054/391] f2fs: fix to check segment boundary during SIT page readahead Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 055/391] s390/startup: avoid save_area_sync overflow Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 056/391] f2fs: compress: fix to disallow enabling compress on non-empty file Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 057/391] s390/ap/zcrypt: revisit ap and zcrypt error handling Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 058/391] um: change sigio_spinlock to a mutex Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 059/391] f2fs: handle errors of f2fs_get_meta_page_nofail Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 060/391] afs: Dont assert on unpurgeable server records Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 061/391] powerpc/64s: handle ISA v3.1 local copy-paste context switches Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 062/391] ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 063/391] NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 064/391] xfs: Set xfs_buf type flag when growing summary/bitmap files Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 065/391] xfs: Set xfs_bufs b_ops member when zeroing bitmap/summary files Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 066/391] xfs: log new intent items created as part of finishing recovered intent items Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 067/391] power: supply: bq27xxx: report "not charging" on all types Greg Kroah-Hartman
2020-11-03 20:31 ` [PATCH 5.9 068/391] xfs: change the order in which child and parent defer ops are finished Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 069/391] xfs: fix realtime bitmap/summary file truncation when growing rt volume Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 070/391] io_uring: dont set COMP_LOCKED if wont put Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 071/391] ath10k: fix retry packets update in station dump Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 072/391] x86/kaslr: Initialize mem_limit to the real maximum address Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 073/391] drm/ast: Separate DRM driver from PCI code Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 074/391] drm/amdgpu: restore ras flags when user resets eeprom(v2) Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 075/391] video: fbdev: pvr2fb: initialize variables Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 076/391] ath10k: start recovery process when payload length exceeds max htc length for sdio Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 077/391] ath10k: fix VHT NSS calculation when STBC is enabled Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 078/391] drm/scheduler: Scheduler priority fixes (v2) Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 079/391] drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working correctly Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 080/391] ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesnt work Greg Kroah-Hartman
2020-11-05 13:23   ` Paul Bolle
2020-11-05 14:35     ` Sasha Levin
2020-11-05 14:47       ` Pierre-Louis Bossart
2020-11-05 15:44         ` Sasha Levin
2020-11-05 16:17           ` Pierre-Louis Bossart
2020-11-05 16:26             ` Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 081/391] selftests/x86/fsgsbase: Reap a forgotten child Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 082/391] drm/bridge_connector: Set default status connected for eDP connectors Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 083/391] media: videodev2.h: RGB BT2020 and HSV are always full range Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 084/391] ASoC: AMD: Clean kernel log from deferred probe error messages Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 085/391] misc: fastrpc: fix common struct sg_table related issues Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 086/391] staging: wfx: fix potential use before init Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 087/391] media: platform: Improve queue set up flow for bug fixing Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 088/391] usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 089/391] media: tw5864: check status of tw5864_frameinterval_get Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 090/391] drm/vkms: avoid warning in vkms_get_vblank_timestamp Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 091/391] media: imx274: fix frame interval handling Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 092/391] mmc: via-sdmmc: Fix data race bug Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 093/391] drm/bridge/synopsys: dsi: add support for non-continuous HS clock Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 094/391] brcmfmac: increase F2 watermark for BCM4329 Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 095/391] arm64: topology: Stop using MPIDR for topology information Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 096/391] printk: reduce LOG_BUF_SHIFT range for H8300 Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 097/391] ia64: kprobes: Use generic kretprobe trampoline handler Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 098/391] selftests/powerpc: Make using_hash_mmu() work on Cell & PowerMac Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 099/391] kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 100/391] bpf: Permit map_ptr arithmetic with opcode add and offset 0 Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 101/391] drm: exynos: fix common struct sg_table related issues Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 102/391] xen: gntdev: " Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 103/391] drm: lima: " Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 104/391] drm: panfrost: " Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 105/391] media: uvcvideo: Fix dereference of out-of-bound list iterator Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 106/391] nfc: s3fwrn5: Add missing CRYPTO_HASH dependency Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 107/391] selftests/bpf: Define string const as global for test_sysctl_prog.c Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 108/391] selinux: access policycaps with READ_ONCE/WRITE_ONCE Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 109/391] samples/bpf: Fix possible deadlock in xdpsock Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 110/391] drm/amd/display: Check clock table return Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 111/391] riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 112/391] cpufreq: sti-cpufreq: add stih418 support Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 113/391] USB: adutux: fix debugging Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 114/391] uio: free uio id after uio file node is freed Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 115/391] coresight: Make sysfs functional on topologies with per core sink Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 116/391] drm/amdgpu: No sysfs, not an error condition Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 117/391] mac80211: add missing queue/hash initialization to 802.3 xmit Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 118/391] usb: xhci: omit duplicate actions when suspending a runtime suspended host Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 119/391] SUNRPC: Mitigate cond_resched() in xprt_transmit() Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 120/391] cpuidle: tegra: Correctly handle result of arm_cpuidle_simple_enter() Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 121/391] arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 122/391] can: flexcan: disable clocks during stop mode Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 123/391] habanalabs: remove security from ARB_MST_QUIET register Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 124/391] xfs: dont free rt blocks when were doing a REMAP bunmapi call Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 125/391] xfs: avoid LR buffer overrun due to crafted h_len Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 126/391] ACPI: Add out of bounds and numa_off protections to pxm_to_node() Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 127/391] octeontx2-af: fix LD CUSTOM LTYPE aliasing Greg Kroah-Hartman
2020-11-03 20:32 ` [PATCH 5.9 128/391] brcmfmac: Fix warning message after dongle setup failed Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 129/391] ath11k: Use GFP_ATOMIC instead of GFP_KERNEL in ath11k_dp_htt_get_ppdu_desc Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 130/391] ath11k: fix warning caused by lockdep_assert_held Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 131/391] ath11k: change to disable softirqs for ath11k_regd_update to solve deadlock Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 132/391] drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 133/391] usb: dwc3: core: do not queue work if dr_mode is not USB_DR_MODE_OTG Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 134/391] bus: mhi: core: Abort suspends due to outgoing pending packets Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 135/391] bus/fsl_mc: Do not rely on caller to provide non NULL mc_io Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 136/391] ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3 Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 137/391] power: supply: test_power: add missing newlines when printing parameters by sysfs Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 138/391] drm/amd/display: HDMI remote sink need mode validation for Linux Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 139/391] drm/amd/display: Avoid set zero in the requested clk Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 140/391] ARC: [dts] fix the errors detected by dtbs_check Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 141/391] block: Consider only dispatched requests for inflight statistic Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 142/391] btrfs: fix replace of seed device Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 143/391] md/bitmap: md_bitmap_get_counter returns wrong blocks Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 144/391] f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 145/391] bnxt_en: Log unknown link speed appropriately Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 146/391] rpmsg: glink: Use complete_all for open states Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 147/391] PCI/ACPI: Add Ampere Altra SOC MCFG quirk Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 148/391] clk: ti: clockdomain: fix static checker warning Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 149/391] nfsd: rename delegation related tracepoints to make them less confusing Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 150/391] nfsd4: remove check_conflicting_opens warning Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 151/391] net: 9p: initialize sun_server.sun_path to have addrs value only when addr is valid Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 152/391] ceph: encode inodes parent/d_name in cap reconnect message Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 153/391] drivers: watchdog: rdc321x_wdt: Fix race condition bugs Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 154/391] jbd2: avoid transaction reuse after reformatting Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 155/391] ext4: Detect already used quota file early Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 156/391] KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 157/391] scsi: core: Clean up allocation and freeing of sgtables Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 158/391] gfs2: call truncate_inode_pages_final for address space glocks Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 159/391] gfs2: Fix NULL pointer dereference in gfs2_rgrp_dump Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 160/391] gfs2: use-after-free in sysfs deregistration Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 161/391] gfs2: add validation checks for size of superblock Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 162/391] Handle STATUS_IO_TIMEOUT gracefully Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 163/391] cifs: handle -EINTR in cifs_setattr Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 164/391] arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 165/391] ARM: dts: omap4: Fix sgx clock rate for 4430 Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 166/391] memory: emif: Remove bogus debugfs error handling Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 167/391] ARM: dts: s5pv210: Enable audio on Aries boards Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 168/391] ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema warnings Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 169/391] ARM: dts: s5pv210: move fixed clocks under root node Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 170/391] ARM: dts: s5pv210: move PMU node out of clock controller Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 171/391] ARM: dts: s5pv210: remove dedicated audio-subsystem node Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 172/391] ARM: dts: s5pv210: add RTC 32 KHz clock in Aries family Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 173/391] ARM: dts: s5pv210: align SPI GPIO node name with dtschema in Aries Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 174/391] soc: qcom: rpmh-rsc: Sleep waiting for tcs slots to be free Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 175/391] soc: ti: k3: ringacc: add am65x sr2.0 support Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 176/391] bindings: soc: ti: soc: ringacc: remove ti,dma-ring-reset-quirk Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 177/391] firmware: arm_scmi: Move scmi bus init and exit calls into the driver Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 178/391] arm64: dts: qcom: kitakami: Temporarily disable SDHCI1 Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 179/391] nbd: make the config put is called before the notifying the waiter Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 180/391] sgl_alloc_order: fix memory leak Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 181/391] nvme-rdma: fix crash when connect rejected Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 182/391] vmlinux.lds.h: Add PGO and AutoFDO input sections Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 183/391] irqchip/loongson-htvec: Fix initial interrupt clearing Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 184/391] md: fix the checking of wrong work queue Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 185/391] md/raid5: fix oops during stripe resizing Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 186/391] mmc: sdhci: Add LTR support for some Intel BYT based controllers Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 187/391] mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN Greg Kroah-Hartman
2020-11-03 20:33 ` [PATCH 5.9 188/391] mm: memcg/slab: uncharge during kmem_cache_free_bulk() Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 189/391] seccomp: Make duplicate listener detection non-racy Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 190/391] selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 191/391] perf/x86/intel: Fix Ice Lake event constraint table Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 192/391] perf/x86/amd: Fix sampling Large Increment per Cycle events Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 193/391] perf/amd/uncore: Set all slices and threads to restore perf stat -a behaviour Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 194/391] perf/x86/amd/ibs: Dont include randomized bits in get_ibs_op_count() Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 195/391] perf/x86/amd/ibs: Fix raw sample data accumulation Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 196/391] spi: spi-mtk-nor: fix timeout calculation overflow Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 197/391] spi: sprd: Release DMA channel also on probe deferral Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 198/391] extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 199/391] leds: bcm6328, bcm6358: use devres LED registering function Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 200/391] hwmon: (pmbus/max34440) Fix OC fault limits Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 201/391] media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 202/391] fs: Dont invalidate page buffers in block_write_full_page() Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 203/391] ACPI: configfs: Add missing config_item_put() to fix refcount leak Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 204/391] NFS: fix nfs_path in case of a rename retry Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 205/391] ACPI: button: fix handling lid state changes when input device closed Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 206/391] ACPI / extlog: Check for RDMSR failure Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 207/391] ACPI: video: use ACPI backlight for HP 635 Notebook Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 208/391] ACPI: debug: dont allow debugging when ACPI is disabled Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 209/391] PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 210/391] ACPI: EC: PM: Flush EC work unconditionally after wakeup Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 211/391] ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe() Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 212/391] acpi-cpufreq: Honor _PSD table setting on new AMD CPUs Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 213/391] io-wq: assign NUMA node locality if appropriate Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 214/391] w1: mxc_w1: Fix timeout resolution problem leading to bus error Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 215/391] fs/kernel_read_file: Remove FIRMWARE_PREALLOC_BUFFER enum Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 216/391] scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove() Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 217/391] scsi: qla2xxx: Fix MPI reset needed message Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 218/391] scsi: qla2xxx: Fix reset of MPI firmware Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 219/391] scsi: qla2xxx: Fix crash on session cleanup with unload Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 220/391] PM: runtime: Remove link state checks in rpm_get/put_supplier() Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 221/391] btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 222/391] btrfs: improve device scanning messages Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 223/391] btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 224/391] btrfs: sysfs: init devices outside of the chunk_mutex Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 225/391] btrfs: tracepoints: output proper root owner for trace_find_free_extent() Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 226/391] btrfs: reschedule if necessary when logging directory items Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 227/391] btrfs: send, orphanize first all conflicting inodes when processing references Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 228/391] btrfs: send, recompute reference path after orphanization of a directory Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 229/391] btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send() Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 230/391] btrfs: tree-checker: fix false alert caused by legacy btrfs root item Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 231/391] btrfs: reschedule when cloning lots of extents Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 232/391] btrfs: cleanup cow block on error Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 233/391] btrfs: skip devices without magic signature when mounting Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 234/391] btrfs: tree-checker: validate number of chunk stripes and parity Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 235/391] btrfs: fix use-after-free on readahead extent after failure to create it Greg Kroah-Hartman
2020-11-03 20:34 ` Greg Kroah-Hartman [this message]
2020-11-03 20:34 ` [PATCH 5.9 237/391] btrfs: drop the path before adding block group sysfs files Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 238/391] usb: xhci: Workaround for S3 issue on AMD SNPS 3.0 xHC Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 239/391] usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM functionality Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 240/391] usb: dwc3: ep0: Fix ZLP for OUT ep0 requests Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 241/391] usb: dwc3: gadget: Check MPS of the request length Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 242/391] usb: dwc3: gadget: Reclaim extra TRBs after request completion Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 243/391] usb: dwc3: core: add phy cleanup for probe error handling Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 244/391] usb: dwc3: core: dont trigger runtime pm when remove driver Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 245/391] usb: dwc3: gadget: Resume pending requests after CLEAR_STALL Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 246/391] usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 247/391] usb: cdns3: Fix on-chip memory overflow issue Greg Kroah-Hartman
2020-11-03 20:34 ` [PATCH 5.9 248/391] usb: cdc-acm: fix cooldown mechanism Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 249/391] usb: typec: tcpm: reset hard_reset_count for any disconnect Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 250/391] usb: host: fsl-mph-dr-of: check return of dma_set_mask() Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 251/391] usbcore: Check both id_table and match() when both available Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 252/391] USB: apple-mfi-fastcharge: dont probe unhandled devices Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 253/391] drm/i915: Force VTd workarounds when running as a guest OS Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 254/391] vt: keyboard, simplify vt_kdgkbsent Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 255/391] vt: keyboard, extend func_buf_lock to readers Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 256/391] vt_ioctl: fix GIO_UNIMAP regression Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 257/391] HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 258/391] x86/mce: Allow for copy_mc_fragile symbol checksum to be generated Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 259/391] tty: serial: 21285: fix lockup on open Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 260/391] tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 261/391] tracing: Fix race in trace_open and buffer resize call Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 262/391] Revert "vhost-vdpa: fix page pinning leakage in error path" Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 263/391] powerpc: Fix random segfault when freeing hugetlb range Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 264/391] udf: Fix memory leak when mounting Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 265/391] dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 266/391] vdpa_sim: Fix DMA mask Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 267/391] drm/shme-helpers: Fix dma_buf_mmap forwarding bug Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 268/391] iio: ltc2983: Fix of_node refcounting Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 269/391] iio: adc: at91-sama5d2_adc: fix DMA conversion crash Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 270/391] iio:imu:inv_mpu6050 Fix dma and ts alignment and data leak issues Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 271/391] iio:imu:st_lsm6dsx: check st_lsm6dsx_shub_read_output return Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 272/391] iio:light:si1145: Fix timestamp alignment and prevent data leak Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 273/391] iio: adc: gyroadc: fix leak of device node iterator Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 274/391] iio: ad7292: Fix of_node refcounting Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 275/391] iio:adc:ti-adc0832 Fix alignment issue with timestamp Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 276/391] iio:adc:ti-adc12138 " Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 277/391] iio:imu:st_lsm6dsx Fix alignment and data leak issues Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 278/391] iio:gyro:itg3200: Fix timestamp alignment and prevent data leak Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 279/391] powerpc/drmem: Make lmb_size 64 bit Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 280/391] rcu-tasks: Fix grace-period/unlock race in RCU Tasks Trace Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 281/391] rcu-tasks: Fix low-probability task_struct leak Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 282/391] rcu-tasks: Enclose task-list scan in rcu_read_lock() Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 283/391] MIPS: DEC: Restore bootmem reservation for firmware working memory area Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 284/391] MIPS: configs: lb60: Fix defconfig not selecting correct board Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 285/391] s390/stp: add locking to sysfs functions Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 286/391] powerpc/rtas: Restrict RTAS requests from userspace Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 287/391] powerpc: Warn about use of smt_snooze_delay Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 288/391] powerpc/memhotplug: Make lmb size 64bit Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 289/391] powerpc/powernv/elog: Fix race while processing OPAL error log event Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 290/391] powerpc/powermac: Fix low_sleep_handler with KUAP and KUEP Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 291/391] powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 292/391] powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 293/391] powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 294/391] powerpc/32: Fix vmap stack - Properly set r1 before activating MMU Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 295/391] block: advance iov_iter on bio_add_hw_page failure Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 296/391] io_uring: use type appropriate io_kiocb handler for double poll Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 297/391] remoteproc: Fixup coredump debugfs disable request Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 298/391] gfs2: Make sure we dont miss any delayed withdraws Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 299/391] gfs2: Only access gl_delete for iopen glocks Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 300/391] NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 301/391] NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 302/391] NFSD: Add missing NFSv2 .pc_func methods Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 303/391] ubifs: dent: Fix some potential memory leaks while iterating entries Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 304/391] ubifs: xattr: " Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 305/391] ubifs: journal: Make sure to not dirty twice for auth nodes Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 306/391] ubifs: Fix a memleak after dumping authentication mount options Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 307/391] ubifs: Dont parse authentication mount options in remount process Greg Kroah-Hartman
2020-11-03 20:35 ` [PATCH 5.9 308/391] ubifs: mount_ubifs: Release authentication resource in error handling path Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 309/391] perf vendor events amd: Add L2 Prefetch events for zen1 Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 310/391] perf python scripting: Fix printable strings in python3 scripts Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 311/391] ARC: perf: redo the pct irq missing in device-tree handling Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 312/391] ubi: check kthread_should_stop() after the setting of task state Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 313/391] ia64: fix build error with !COREDUMP Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 314/391] rtc: rx8010: dont modify the global rtc ops Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 315/391] i2c: imx: Fix external abort on interrupt in exit paths Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 316/391] drm/amdgpu: dont map BO in reserved region Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 317/391] drm/amd/display: Fix incorrect backlight register offset for DCN Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 318/391] drm/amd/display: Increase timeout for DP Disable Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 319/391] drm/amdgpu: vcn and jpeg ring synchronization Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 320/391] drm/amdgpu: update golden setting for sienna_cichlid Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 321/391] drm/amdgpu: correct the gpu reset handling for job != NULL case Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 322/391] drm/amdkfd: Use same SQ prefetch setting as amdgpu Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 323/391] drm/amd/display: Avoid MST manager resource leak Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 324/391] drm/amdgpu: add function to program pbb mode for sienna cichlid Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 325/391] drm/amdgpu: increase the reserved VM size to 2MB Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 326/391] drm/amd/display: Dont invoke kgdb_breakpoint() unconditionally Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 327/391] drm/amd/display: Fix kernel panic by dal_gpio_open() error Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 328/391] ceph: promote to unsigned long long before shifting Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 329/391] libceph: clear con->out_msg on Policy::stateful_server faults Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 330/391] 9P: Cast to loff_t before multiplying Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 331/391] net/sunrpc: Fix return value for sysctl sunrpc.transports Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 332/391] PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0 Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 333/391] ring-buffer: Return 0 on success from ring_buffer_resize() Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 334/391] intel_idle: Ignore _CST if control cannot be taken from the platform Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 335/391] intel_idle: Fix max_cstate for processor models without C-state tables Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 336/391] cpufreq: Avoid configuring old governors as default with intel_pstate Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 337/391] cpufreq: Introduce CPUFREQ_NEED_UPDATE_LIMITS driver flag Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 338/391] cpufreq: intel_pstate: Avoid missing HWP max updates in passive mode Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 339/391] vringh: fix __vringh_iov() when riov and wiov are different Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 340/391] ext4: fix leaking sysfs kobject after failed mount Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 341/391] ext4: fix error handling code in add_new_gdb Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 342/391] ext4: implement swap_activate aops using iomap Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 343/391] ext4: fix invalid inode checksum Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 344/391] ext4: fix superblock checksum calculation race Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 345/391] ext4: clear buffer verified flag if read meta block from disk Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 346/391] ext4: fix bdev write error check failed when mount fs with ro Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 347/391] ext4: fix bs < ps issue reported with dioread_nolock mount opt Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 348/391] ext4: do not use extent after put_bh Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 349/391] drm/ttm: fix eviction valuable range check Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 350/391] mmc: sdhci-of-esdhc: make sure delay chain locked for HS400 Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 351/391] mmc: sdhci-of-esdhc: set timeout to max before tuning Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 352/391] mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 353/391] memory: tegra: Remove GPU from DRM IOMMU group Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 354/391] memory: brcmstb_dpfe: Fix memory leak Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 355/391] futex: Adjust absolute futex timeouts with per time namespace offset Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 356/391] drm/amdgpu/swsmu: drop smu i2c bus on navi1x Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 357/391] drm/amd/pm: increase mclk switch threshold to 200 us Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 358/391] drm/amd/pm: fix pp_dpm_fclk Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 359/391] drm/amd/swsmu: add missing feature map for sienna_cichlid Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 360/391] drm/amd/psp: Fix sysfs: cannot create duplicate filename Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 361/391] drm/amdgpu: correct the cu and rb info for sienna cichlid Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 362/391] tty: make FONTX ioctl use the tty pointer they were actually passed Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 363/391] arm64: berlin: Select DW_APB_TIMER_OF Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 364/391] cachefiles: Handle readpage error correctly Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 365/391] hil/parisc: Disable HIL driver when it gets stuck Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 366/391] arm: dts: mt7623: add missing pause for switchport Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 367/391] ARM: aspeed: g5: Do not set sirq polarity Greg Kroah-Hartman
2020-11-03 20:36 ` [PATCH 5.9 368/391] ARM: dts: s5pv210: fix pinctrl property of "vibrator-en" regulator in Aries Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 369/391] ARM: config: aspeed: Fix selection of media drivers Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 370/391] ARM: samsung: fix PM debug build with DEBUG_LL but !MMU Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 371/391] ARM: s3c24xx: fix missing system reset Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 372/391] arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 373/391] arm64: dts: marvell: espressobin: Add ethernet switch aliases Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 374/391] null_blk: synchronization fix for zoned device Greg Kroah-Hartman
2020-11-03 23:36   ` Damien Le Moal
2020-11-04  9:10     ` Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 375/391] coresight: cti: Initialize dynamic sysfs attributes Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 376/391] device property: Keep secondary firmware node secondary by type Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 377/391] device property: Dont clear secondary pointer for shared primary firmware node Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 378/391] KVM: x86: Fix NULL dereference at kvm_msr_ignored_check() Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 379/391] KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 380/391] stop_machine, rcu: Mark functions as notrace Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 381/391] staging: fieldbus: anybuss: jump to correct label in an error path Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 382/391] staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 383/391] staging: octeon: repair "fixed-link" support Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 384/391] staging: octeon: Drop on uncorrectable alignment or FCS error Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 385/391] cpufreq: Introduce cpufreq_driver_test_flags() Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 386/391] cpufreq: schedutil: Always call driver if CPUFREQ_NEED_UPDATE_LIMITS is set Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 387/391] vhost_vdpa: Return -EFAULT if copy_from_user() fails Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 388/391] vdpa/mlx5: Fix error return in map_direct_mr() Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 389/391] time: Prevent undefined behaviour in timespec64_to_ns() Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 390/391] time/sched_clock: Mark sched_clock_read_begin/retry() as notrace Greg Kroah-Hartman
2020-11-03 20:37 ` [PATCH 5.9 391/391] KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesnt return SMCCC_RET_NOT_REQUIRED Greg Kroah-Hartman
2020-11-04  7:12 ` [PATCH 5.9 000/391] 5.9.4-rc1 review Naresh Kamboju
2020-11-04  7:38   ` Naresh Kamboju
2020-11-04 10:58   ` Felipe Balbi
2020-11-04 11:17     ` Naresh Kamboju
2020-11-05 10:53   ` Greg Kroah-Hartman
2020-11-04 17:51 ` Guenter Roeck
2020-11-05 10:53   ` Greg Kroah-Hartman
2020-11-04 20:01 ` Jeffrin Jose T

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