Skip to content
  1. Jan 25, 2024
    • Mikulas Patocka's avatar
      md: fix a suspicious RCU usage warning · 9f3fe29d
      Mikulas Patocka authored
      
      
      RCU protection was removed in the commit 2d32777d ("raid1: remove rcu
      protection to access rdev from conf").
      
      However, the code in fix_read_error does rcu_dereference outside
      rcu_read_lock - this triggers the following warning. The warning is
      triggered by a LVM2 test shell/integrity-caching.sh.
      
      This commit removes rcu_dereference.
      
      =============================
      WARNING: suspicious RCU usage
      6.7.0 #2 Not tainted
      -----------------------------
      drivers/md/raid1.c:2265 suspicious rcu_dereference_check() usage!
      
      other info that might help us debug this:
      
      rcu_scheduler_active = 2, debug_locks = 1
      no locks held by mdX_raid1/1859.
      
      stack backtrace:
      CPU: 2 PID: 1859 Comm: mdX_raid1 Not tainted 6.7.0 #2
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
      Call Trace:
       <TASK>
       dump_stack_lvl+0x60/0x70
       lockdep_rcu_suspicious+0x153/0x1b0
       raid1d+0x1732/0x1750 [raid1]
       ? lock_acquire+0x9f/0x270
       ? finish_wait+0x3d/0x80
       ? md_thread+0xf7/0x130 [md_mod]
       ? lock_release+0xaa/0x230
       ? md_register_thread+0xd0/0xd0 [md_mod]
       md_thread+0xa0/0x130 [md_mod]
       ? housekeeping_test_cpu+0x30/0x30
       kthread+0xdc/0x110
       ? kthread_complete_and_exit+0x20/0x20
       ret_from_fork+0x28/0x40
       ? kthread_complete_and_exit+0x20/0x20
       ret_from_fork_asm+0x11/0x20
       </TASK>
      
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Fixes: ca294b34 ("md/raid1: support read error check")
      Reviewed-by: default avatarYu Kuai <yukuai3@huawei.com>
      Signed-off-by: default avatarSong Liu <song@kernel.org>
      Link: https://lore.kernel.org/r/51539879-e1ca-fde3-b8b4-8934ddedcbc@redhat.com
      9f3fe29d
  2. Jan 22, 2024