Re: [question] solution for raid10 configuration concurrent with io

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Sorry that synchronize_rcu() is misplaced, it should be right after
rcu_read_unlock():

在 2023/04/27 15:13, Yu Kuai 写道:
t1:                t2:

raid10_write_request
  rcu_read_lock
  rdev = conf->mirros[].rdev
                 raid10_remove_disk
                  ......
                  // nr_pending is 0, remove disk
  // read inside rcu
  rcu_read_unlock
					//set rdev NULL
					synchronize_rcu

  raid10_write_one_disk
  // trigger null-ptr-dereference


Thanks,
Kuai
					





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux