* [PATCH 67/76] PNPACPI: Fix device ref leaking in acpi_pnp_match
[not found] ` <09f98a825a821f7a3f1b162f9ed023f37213a63b.1333101989.git.len.brown@intel.com>
@ 2012-03-30 10:14 ` Len Brown
0 siblings, 0 replies; 4+ messages in thread
From: Len Brown @ 2012-03-30 10:14 UTC (permalink / raw)
To: linux-acpi, linux-pm; +Cc: linux-kernel, Yinghai Lu, stable, Len Brown
From: Yinghai Lu <yinghai@kernel.org>
During testing pci root bus removal, found some root bus bridge is not freed.
If booting with pnpacpi=off, those hostbridge could be freed without problem.
It turns out that some devices reference are not released during acpi_pnp_match.
that match should not hold one device ref during every calling.
Add pu_device calling before returning.
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/pnp/pnpacpi/core.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c
index b00c176..d21e8f5 100644
--- a/drivers/pnp/pnpacpi/core.c
+++ b/drivers/pnp/pnpacpi/core.c
@@ -321,9 +321,14 @@ static int __init acpi_pnp_match(struct device *dev, void *_pnp)
{
struct acpi_device *acpi = to_acpi_device(dev);
struct pnp_dev *pnp = _pnp;
+ struct device *physical_device;
+
+ physical_device = acpi_get_physical_device(acpi->handle);
+ if (physical_device)
+ put_device(physical_device);
/* true means it matched */
- return !acpi_get_physical_device(acpi->handle)
+ return !physical_device
&& compare_pnp_id(pnp->id, acpi_device_hid(acpi));
}
--
1.7.10.rc2.19.gfae9d
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [3.0.y, 3.2.y, 3.3.y] Re: [PATCH 04/76] ACPICA: Fix regression in FADT revision checks
[not found] ` <CA+5PVA4EBdoxgSrYKYRnaO2qSXDP_rxeQEogD+6jkKPi8sQB-g@mail.gmail.com>
@ 2012-04-03 19:58 ` Jonathan Nieder
2012-04-03 20:15 ` Josh Boyer
0 siblings, 1 reply; 4+ messages in thread
From: Jonathan Nieder @ 2012-04-03 19:58 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Len Brown, linux-acpi, linux-pm, linux-kernel, Julian Anastasov,
Len Brown, Josh Boyer, wzab, stable
Hi Greg,
Josh Boyer wrote:
> On Fri, Mar 30, 2012 at 6:13 AM, Len Brown <lenb@kernel.org> wrote:
>> From: Julian Anastasov <ja@ssi.bg>
>>
>> commit 64b3db22c04586997ab4be46dd5a5b99f8a2d390 (2.6.39),
>> "Remove use of unreliable FADT revision field" causes regression
>> for old P4 systems because now cst_control and other fields are
>> not reset to 0.
[...]
>> The fix is to update acpi_gbl_FADT.header.length after
>> the original value is used to check for old revisions.
>>
>> https://bugzilla.kernel.org/show_bug.cgi?id=42700
>> https://bugzilla.redhat.com/show_bug.cgi?id=727865
>>
>> Signed-off-by: Julian Anastasov <ja@ssi.bg>
>> Acked-by: Bob Moore <robert.moore@intel.com>
>> Signed-off-by: Len Brown <len.brown@intel.com>
>
> This one should go into the stable trees.
Please apply
3e80acd1af40 "ACPICA: Fix regression in FADT revision checks"
which is in linus's master to the 3.0.y, 3.2.y, and 3.3.y series to
fix this old boot problem. (Many affected people disabled HT in the
BIOS to work around it in the meantime.)
WZab (cc-ed) has tested that the patch addresses the problem when
applied to the 3.2.y and 3.3.y branches. [1] has details.
Thanks,
Jonathan
[1] https://bugzilla.kernel.org/show_bug.cgi?id=38262
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [3.0.y, 3.2.y, 3.3.y] Re: [PATCH 04/76] ACPICA: Fix regression in FADT revision checks
2012-04-03 19:58 ` [3.0.y, 3.2.y, 3.3.y] Re: [PATCH 04/76] ACPICA: Fix regression in FADT revision checks Jonathan Nieder
@ 2012-04-03 20:15 ` Josh Boyer
2012-04-04 18:58 ` Greg Kroah-Hartman
0 siblings, 1 reply; 4+ messages in thread
From: Josh Boyer @ 2012-04-03 20:15 UTC (permalink / raw)
To: Jonathan Nieder
Cc: Greg Kroah-Hartman, Len Brown, linux-acpi, linux-pm, linux-kernel,
Julian Anastasov, Len Brown, wzab, stable
On Tue, Apr 3, 2012 at 3:58 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Hi Greg,
>
> Josh Boyer wrote:
>> On Fri, Mar 30, 2012 at 6:13 AM, Len Brown <lenb@kernel.org> wrote:
>
>>> From: Julian Anastasov <ja@ssi.bg>
>>>
>>> � � � �commit 64b3db22c04586997ab4be46dd5a5b99f8a2d390 (2.6.39),
>>> "Remove use of unreliable FADT revision field" causes regression
>>> for old P4 systems because now cst_control and other fields are
>>> not reset to 0.
> [...]
>>> � � � �The fix is to update acpi_gbl_FADT.header.length after
>>> the original value is used to check for old revisions.
>>>
>>> https://bugzilla.kernel.org/show_bug.cgi?id=42700
>>> https://bugzilla.redhat.com/show_bug.cgi?id=727865
>>>
>>> Signed-off-by: Julian Anastasov <ja@ssi.bg>
>>> Acked-by: Bob Moore <robert.moore@intel.com>
>>> Signed-off-by: Len Brown <len.brown@intel.com>
>>
>> This one should go into the stable trees.
>
> Please apply
>
> �3e80acd1af40 "ACPICA: Fix regression in FADT revision checks"
>
> which is in linus's master to the 3.0.y, 3.2.y, and 3.3.y series to
> fix this old boot problem. �(Many affected people disabled HT in the
> BIOS to work around it in the meantime.)
>
> WZab (cc-ed) has tested that the patch addresses the problem when
> applied to the 3.2.y and 3.3.y branches. �[1] has details.
We've had this applied in Fedora on 3.2 and 3.3 for a while now as
well.
josh
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [3.0.y, 3.2.y, 3.3.y] Re: [PATCH 04/76] ACPICA: Fix regression in FADT revision checks
2012-04-03 20:15 ` Josh Boyer
@ 2012-04-04 18:58 ` Greg Kroah-Hartman
0 siblings, 0 replies; 4+ messages in thread
From: Greg Kroah-Hartman @ 2012-04-04 18:58 UTC (permalink / raw)
To: Josh Boyer
Cc: Jonathan Nieder, Len Brown, linux-acpi, linux-pm, linux-kernel,
Julian Anastasov, Len Brown, wzab, stable
On Tue, Apr 03, 2012 at 04:15:32PM -0400, Josh Boyer wrote:
> On Tue, Apr 3, 2012 at 3:58 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
> > Hi Greg,
> >
> > Josh Boyer wrote:
> >> On Fri, Mar 30, 2012 at 6:13 AM, Len Brown <lenb@kernel.org> wrote:
> >
> >>> From: Julian Anastasov <ja@ssi.bg>
> >>>
> >>> � � � �commit 64b3db22c04586997ab4be46dd5a5b99f8a2d390 (2.6.39),
> >>> "Remove use of unreliable FADT revision field" causes regression
> >>> for old P4 systems because now cst_control and other fields are
> >>> not reset to 0.
> > [...]
> >>> � � � �The fix is to update acpi_gbl_FADT.header.length after
> >>> the original value is used to check for old revisions.
> >>>
> >>> https://bugzilla.kernel.org/show_bug.cgi?id=42700
> >>> https://bugzilla.redhat.com/show_bug.cgi?id=727865
> >>>
> >>> Signed-off-by: Julian Anastasov <ja@ssi.bg>
> >>> Acked-by: Bob Moore <robert.moore@intel.com>
> >>> Signed-off-by: Len Brown <len.brown@intel.com>
> >>
> >> This one should go into the stable trees.
> >
> > Please apply
> >
> > �3e80acd1af40 "ACPICA: Fix regression in FADT revision checks"
> >
> > which is in linus's master to the 3.0.y, 3.2.y, and 3.3.y series to
> > fix this old boot problem. �(Many affected people disabled HT in the
> > BIOS to work around it in the meantime.)
> >
> > WZab (cc-ed) has tested that the patch addresses the problem when
> > applied to the 3.2.y and 3.3.y branches. �[1] has details.
>
> We've had this applied in Fedora on 3.2 and 3.3 for a while now as
> well.
Wonderful, now queued up, thanks for letting me know.
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-04-04 18:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1333102459-23750-1-git-send-email-lenb@kernel.org>
[not found] ` <09f98a825a821f7a3f1b162f9ed023f37213a63b.1333101989.git.len.brown@intel.com>
2012-03-30 10:14 ` [PATCH 67/76] PNPACPI: Fix device ref leaking in acpi_pnp_match Len Brown
[not found] ` <3e80acd1af40fcd91a200b0416a7616b20c5d647.1333101989.git.len.brown@intel.com>
[not found] ` <CA+5PVA4EBdoxgSrYKYRnaO2qSXDP_rxeQEogD+6jkKPi8sQB-g@mail.gmail.com>
2012-04-03 19:58 ` [3.0.y, 3.2.y, 3.3.y] Re: [PATCH 04/76] ACPICA: Fix regression in FADT revision checks Jonathan Nieder
2012-04-03 20:15 ` Josh Boyer
2012-04-04 18:58 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox