From: Ingo Molnar <mingo@kernel.org>
To: Boszormenyi Zoltan <zboszor@pr.hu>
Cc: Jiang Liu <jiang.liu@linux.intel.com>,
"Rafael J . Wysocki" <rjw@rjwysocki.net>,
Bjorn Helgaas <bhelgaas@google.com>, Len Brown <lenb@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org,
"x86 @ kernel . org" <x86@kernel.org>
Subject: Re: [Bugfix v2] PCI, ACPI: Fix regressions caused by resource_size_t overflow with 32bit kernel
Date: Wed, 24 Jun 2015 11:49:16 +0200 [thread overview]
Message-ID: <20150624094916.GA5696@gmail.com> (raw)
In-Reply-To: <558A7824.3090900@pr.hu>
* Boszormenyi Zoltan <zboszor@pr.hu> wrote:
> 2015-06-24 10:30 keltezéssel, Ingo Molnar írta:
> > * Jiang Liu <jiang.liu@linux.intel.com> wrote:
> >
> >> Since commit 593669c2ac0f ("x86/PCI/ACPI: Use common ACPI resource interfaces to
> >> simplify implementation"), x86 PCI ACPI host bridge driver validates ACPI
> >> resources by first converting an ACPI resource to a 'struct resource' structure
> >> and then applying checks against the converted resource structure. The 'start'
> >> and 'end' fields in 'struct resource' are defined to be type of resource_size_t,
> >> which may be 32 bits or 64 bits depending on CONFIG_PHYS_ADDR_T_64BIT.
> >>
> >> This may cause incorrect resource validation results with 32 bit kernels because
> >> 64bit ACPI resource descriptors may get truncated when converting to 32bit
> >> 'start' and 'end' fields in 'struct resource'. And eventually affects PCI
> >> resource allocation subsystem and causes some PCI devices unusable.
> > s/causes some PCI devices unusuable.
> > makes some PCI devices unusuable.
> >
> > Also, this description is still pretty vague. What exactly happened? Did some PCI
> > devices not show up during bootup? Or did they hang? Or did something else happen?
>
> There's a reference mail URL in the description, but here it is in full glory.
>
> The machine in question started behaving like being drunk without this fix
> with 4.0.5 and 4.1.0-rc8 and 4.1.0-final. 3.18.16 was good.
>
> There's a Realtek RTL8111/8168/8411 (PCI ID 10ec:8168, Subsystem ID 1565:230e)
> network chip on the mainboard. After the r8169 driver loaded, the IRQs in
> the machine went berserk. Keyboard keypressed arrived with considerable
> latency and duplicated, so no real work was possible. The machine responded
> to the power button but didn't actually power down. It just stuck at the powering
> down message. I had to press the power button for 4 seconds to power it down.
>
> The computer is a POS machine with a big battery inside. Because of this,
> either ACPI or the Realtek chip kept the bad state and after rebooting, the
> network chip didn't even show up in lspci. Not even the PXE ROM announced
> itself during boot. I had to disconnect the battery to beat some sense back
> to the computer.
So my point is that this description is more valuable than all the rest of the
changelog, and it should be quoted prominently in the first paragraph or so!
And this too should round up the changelog:
> With the fix, the behavior of the machine was restored to how 3.18.16 worked,
> i.e. the memory range that is over 4GB is ignored again, and lspci -vvxxx shows
> that everything is at the same memory window as they were with 3.18.16.
as it is far more informative about the practical effects of the fix than anything
in the previous versions of the changelog.
Thanks,
Ingo
next prev parent reply other threads:[~2015-06-24 9:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-24 7:43 [Bugfix v2] PCI, ACPI: Fix regressions caused by resource_size_t overflow with 32bit kernel Jiang Liu
2015-06-24 8:25 ` Boszormenyi Zoltan
2015-06-24 11:00 ` Boszormenyi Zoltan
2015-06-24 8:30 ` Ingo Molnar
2015-06-24 9:28 ` Boszormenyi Zoltan
2015-06-24 9:49 ` Ingo Molnar [this message]
2015-06-24 10:17 ` [Bugfix v3] PCI, ACPI: Fix regressions caused by resource_size_t overflow with 32-bit kernel Jiang Liu
2015-06-24 10:18 ` Ingo Molnar
2015-06-29 8:55 ` Boszormenyi Zoltan
2015-06-29 14:28 ` Jiang Liu
2015-07-08 7:26 ` [Bugfix v4] " Jiang Liu
2015-07-10 1:10 ` Rafael J. Wysocki
2015-11-02 15:27 ` Tomasz Nowicki
2015-11-05 12:53 ` Tomasz Nowicki
2015-11-05 13:24 ` Jiang Liu
2015-11-05 13:53 ` Tomasz Nowicki
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=20150624094916.GA5696@gmail.com \
--to=mingo@kernel.org \
--cc=bhelgaas@google.com \
--cc=jiang.liu@linux.intel.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=x86@kernel.org \
--cc=zboszor@pr.hu \
/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;
as well as URLs for NNTP newsgroup(s).