mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Benjamin Block <bblock@linux.ibm.com>
To: Niklas Schnelle <schnelle@linux.ibm.com>
Cc: Gerd Bayer <gbayer@linux.ibm.com>,
	Matthew Rosato <mjrosato@linux.ibm.com>,
	Farhan Ali <alifm@linux.ibm.com>,
	Julian Ruess <julianr@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Ramesh Errabolu <ramesh@linux.ibm.com>,
	Tobias Schumacher <ts@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Peter Oberparleiter <oberpar@linux.ibm.com>,
	Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/4] s390/pci: Fix leak of struct pci_dev reference in zpci_report_status()
Date: Fri, 18 Sep 2026 10:20:24 +0200	[thread overview]
Message-ID: <20260918082024.GA241998@p14sgen6-pf6akexs> (raw)
In-Reply-To: <20260918081749.GA39182@p14sgen6-pf6akexs.fritz.box>

On Fri, Sep 18, 2026 at 10:17:49AM +0200, Benjamin Block wrote:
> On Wed, Sep 16, 2026 at 05:14:10PM +0200, Niklas Schnelle wrote:
> > In zpci_report_status(), a reference to the pdev associated with the
> > zdev being reported about is acquired using pci_get_slot(). This
> > reference needs to be dropped with pci_dev_put(), but this call is
> > missing, thus leaking the reference. On subsequent hot unplug, this will
> > cause the struct pci_dev to not be released, leaking memory and
> > preventing reattach.
> > 
> > At the same time, the only existing caller already holds a pdev
> > reference. So instead of reacquiring and then dropping another reference,
> > simply pass the existing pdev pointer to zpci_report_status(). This gets
> > rid of the need for pci_get_slot() as well as the zdev->zbus check.
> > 
> > Cc: stable@vger.kernel.org
> > Fixes: 4ec6054e7321 ("s390/pci: Report PCI error recovery results via SCLP")
> > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
> > ---
> >  arch/s390/pci/pci_event.c  |  2 +-
> >  arch/s390/pci/pci_report.c | 11 +++++------
> >  arch/s390/pci/pci_report.h |  4 +++-
> >  3 files changed, 9 insertions(+), 8 deletions(-)
> > 
> > diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c
> > index f317a1465dad..3b4941b65840 100644
> > --- a/arch/s390/pci/pci_event.c
> > +++ b/arch/s390/pci/pci_event.c
> > @@ -298,7 +298,7 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev,
> >  	pci_uevent_ers(pdev, PCI_ERS_RESULT_RECOVERED);
> >  out_unlock:
> >  	device_unlock(&pdev->dev);
> > -	zpci_report_status(zdev, "recovery", status_str);
> > +	zpci_report_status(zdev, pdev, "recovery", status_str);
> 
> Hmm. Wasn't one of the previous fixes to move the lock below the status
> report?
> 
> Why is that missing here again?

Ah, nevermind, it's in the next patch. Bit confusing. Anyway, since it doesn't
make things worse, and it's fixed one patch later this should be fine.


Reviewed-by: Benjamin Block <bblock@linux.ibm.com>

-- 
Best Regards, Benjamin Block        /        Linux on IBM Z Kernel Development
IBM Deutschland Research & Development GmbH    /   https://www.ibm.com/privacy
Vors. Aufs.-R.: Wolfgang Wendt         /        Geschäftsführung: David Faller
Sitz der Ges.: Ehningen     /     Registergericht: AmtsG Stuttgart, HRB 243294

  parent reply	other threads:[~2026-09-18  8:20 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-16 15:14 [PATCH v3 0/4] s390/pci: Fix some zpci_report_status() issues Niklas Schnelle
2026-09-16 15:14 ` [PATCH v3 1/4] s390/pci: Fix leak of struct pci_dev reference in zpci_report_status() Niklas Schnelle
2026-09-17 17:51   ` Farhan Ali
2026-09-18  8:17   ` Benjamin Block
2026-09-18  8:19     ` Niklas Schnelle
2026-09-18  8:20     ` Benjamin Block [this message]
2026-09-18  8:37   ` Benjamin Block
2026-09-16 15:14 ` [PATCH v3 2/4] s390/pci: Fix missing device lock " Niklas Schnelle
2026-09-17 17:52   ` Farhan Ali
2026-09-18  8:26   ` Benjamin Block
2026-09-16 15:14 ` [PATCH v3 3/4] s390/pci: Report SCLP status on error events when no pdev is associated Niklas Schnelle
2026-09-17 18:06   ` Farhan Ali
2026-09-18  8:32   ` Benjamin Block
2026-09-16 15:14 ` [PATCH v3 4/4] s390/pci: Don't report recovery success on skipped recovery Niklas Schnelle
2026-09-17 18:08   ` Farhan Ali
2026-09-18  8:34   ` Benjamin Block

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=20260918082024.GA241998@p14sgen6-pf6akexs \
    --to=bblock@linux.ibm.com \
    --cc=agordeev@linux.ibm.com \
    --cc=alifm@linux.ibm.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=gbayer@linux.ibm.com \
    --cc=gerald.schaefer@linux.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=julianr@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mjrosato@linux.ibm.com \
    --cc=oberpar@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=ramesh@linux.ibm.com \
    --cc=schnelle@linux.ibm.com \
    --cc=svens@linux.ibm.com \
    --cc=ts@linux.ibm.com \
    /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

all inboxes | Powered by JetHome®