On Tue, Oct 29, 2019 at 03:08:26PM +1100, Stephen Rothwell wrote: > Hi all, > > Today's linux-next merge of the scsi tree got a conflict in: > > drivers/scsi/scsi_sysfs.c > > between commit: > > 81db81f82993 ("drivers/scsi: Replace rcu_swap_protected() with rcu_replace()") > > from the rcu tree and commit: > > d188b0675b21 ("scsi: core: Add sysfs attributes for VPD pages 0h and 89h") > > from the scsi tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. Looks good to me, thank you very much! Thanx, Paul > -- > Cheers, > Stephen Rothwell > > diff --cc drivers/scsi/scsi_sysfs.c > index cc51f4756077,0fa2ed343c7f..000000000000 > --- a/drivers/scsi/scsi_sysfs.c > +++ b/drivers/scsi/scsi_sysfs.c > @@@ -466,12 -467,18 +467,18 @@@ static void scsi_device_dev_release_use > sdev->request_queue = NULL; > > mutex_lock(&sdev->inquiry_mutex); > - rcu_swap_protected(sdev->vpd_pg0, vpd_pg0, > - lockdep_is_held(&sdev->inquiry_mutex)); > - rcu_swap_protected(sdev->vpd_pg80, vpd_pg80, > - lockdep_is_held(&sdev->inquiry_mutex)); > - rcu_swap_protected(sdev->vpd_pg83, vpd_pg83, > - lockdep_is_held(&sdev->inquiry_mutex)); > - rcu_swap_protected(sdev->vpd_pg89, vpd_pg89, > - lockdep_is_held(&sdev->inquiry_mutex)); > ++ vpd_pg0 = rcu_replace_pointer(sdev->vpd_pg0, vpd_pg0, > ++ lockdep_is_held(&sdev->inquiry_mutex)); > + vpd_pg80 = rcu_replace_pointer(sdev->vpd_pg80, vpd_pg80, > + lockdep_is_held(&sdev->inquiry_mutex)); > + vpd_pg83 = rcu_replace_pointer(sdev->vpd_pg83, vpd_pg83, > + lockdep_is_held(&sdev->inquiry_mutex)); > ++ vpd_pg89 = rcu_replace_pointer(sdev->vpd_pg89, vpd_pg89, > ++ lockdep_is_held(&sdev->inquiry_mutex)); > mutex_unlock(&sdev->inquiry_mutex); > > + if (vpd_pg0) > + kfree_rcu(vpd_pg0, rcu); > if (vpd_pg83) > kfree_rcu(vpd_pg83, rcu); > if (vpd_pg80)