[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20191102134555.GP20975@paulmck-ThinkPad-P72>
Date: Sat, 2 Nov 2019 06:45:55 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: Ryan Attard <ryanattard@...nattard.info>
Cc: Stephen Rothwell <sfr@...b.auug.org.au>,
James Bottomley <James.Bottomley@...senpartnership.com>,
Linux Next Mailing List <linux-next@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"Martin K. Petersen" <martin.petersen@...cle.com>
Subject: Re: linux-next: manual merge of the scsi tree with the rcu tree
On Fri, Nov 01, 2019 at 07:28:22PM -0500, Ryan Attard wrote:
> I can't quite tell if it's just the diff, but it looks like the paired
> kfree_rcu(vpd_pg89, rcu) from the original patch got lopped off. Is there
> somewhere I can see the full resultant file?
I see all four instances of kfree() in origin/master in -next:
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
But please do double-check.
Thanx, Paul
> Thanks,
> Ryan
>
> On Mon, Oct 28, 2019, 11:08 PM Stephen Rothwell <sfr@...b.auug.org.au>
> 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.
> >
> > --
> > 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)
> >
Powered by blists - more mailing lists