<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/acpi/pci_root.c, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-01-16T20:56:43Z</updated>
<entry>
<title>acpi: make ACPI device id constant</title>
<updated>2010-01-16T20:56:43Z</updated>
<author>
<name>Márton Németh</name>
</author>
<published>2010-01-10T16:15:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c97adf9e7bebf17a86b95e2131bf9ba76c4857c7'/>
<id>urn:sha1:c97adf9e7bebf17a86b95e2131bf9ba76c4857c7</id>
<content type='text'>
The ids field of the struct acpi_driver is constant in &lt;linux/acpi/acpi_bus.h&gt;
so it is worth to make the initialization data also constant.

The semantic match that finds this kind of pattern is as follows:
(http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@r@
disable decl_init,const_decl_init;
identifier I1, I2, x;
@@
	struct I1 {
	  ...
	  const struct I2 *x;
	  ...
	};
@s@
identifier r.I1, y;
identifier r.x, E;
@@
	struct I1 y = {
	  .x = E,
	};
@c@
identifier r.I2;
identifier s.E;
@@
	const struct I2 E[] = ... ;
@depends on !c@
identifier r.I2;
identifier s.E;
@@
+	const
	struct I2 E[] = ...;
// &lt;/smpl&gt;

Signed-off-by: Márton Németh &lt;nm127@freemail.hu&gt;
Cc: Julia Lawall &lt;julia@diku.dk&gt;
Cc: cocci@diku.dk
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: cleanup pci_root _OSC code.</title>
<updated>2009-12-16T19:05:11Z</updated>
<author>
<name>Shaohua Li</name>
</author>
<published>2009-10-29T03:04:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3a9622dc4659af44a8098a233f65c51e495ff0a5'/>
<id>urn:sha1:3a9622dc4659af44a8098a233f65c51e495ff0a5</id>
<content type='text'>
Signed-off-by: Shaohua Li &lt;shaohua.li@intel.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI / PCI: Fix NULL pointer dereference in acpi_get_pci_dev() (rev. 2)</title>
<updated>2009-10-13T05:14:53Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2009-10-12T23:01:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=497fb54f578efd2b479727bc88d5ef942c0a1e2d'/>
<id>urn:sha1:497fb54f578efd2b479727bc88d5ef942c0a1e2d</id>
<content type='text'>
acpi_get_pci_dev() may be called for a non-PCI device, in which case
it should return NULL.  However, it assumes that every handle it
finds in the ACPI CA name space, between given device handle and the
PCI root bridge handle, corresponds to a PCI-to-PCI bridge with an
existing secondary bus.  For this reason, when it finds a struct
pci_dev object corresponding to one of them, it doesn't check if
its 'subordinate' field is a valid pointer.  This obviously leads to
a NULL pointer dereference if acpi_get_pci_dev() is called for a
non-PCI device with a PCI parent which is not a bridge.

To fix this issue make acpi_get_pci_dev() check if pdev-&gt;subordinate
is not NULL for every device it finds on the path between the root
bridge and the device it's supposed to get to and return NULL if the
"target" device cannot be found.

http://bugzilla.kernel.org/show_bug.cgi?id=14129
(worked in 2.6.30, regression in 2.6.31)

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Reported-by: Danny Feng &lt;dfeng@redhat.com&gt;
Reviewed-by: Alex Chiang &lt;achiang@hp.com&gt;
Tested-by: chepioq &lt;chepioq@gmail.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sfi-base' into release</title>
<updated>2009-09-19T04:37:13Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2009-09-19T04:37:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=003d6a38ce1a59e0053a02fd9e9a65b588bc8e33'/>
<id>urn:sha1:003d6a38ce1a59e0053a02fd9e9a65b588bc8e33</id>
<content type='text'>
Conflicts:
	drivers/acpi/power.c

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: export acpi_pci_root and friends</title>
<updated>2009-09-09T20:29:22Z</updated>
<author>
<name>Alex Chiang</name>
</author>
<published>2009-07-23T23:03:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76d56de57ae60c6be383e48e7068fd973d5fb08a'/>
<id>urn:sha1:76d56de57ae60c6be383e48e7068fd973d5fb08a</id>
<content type='text'>
We can simplify ACPI drivers if we can tell whether a handle is an
ACPI PCI root or not.

Reviewed-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
</content>
</entry>
<entry>
<title>ACPI: Move definition of PREFIX from acpi_bus.h to internal..h</title>
<updated>2009-08-28T23:57:27Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2009-07-28T20:45:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a192a9580bcc41692be1f36b77c3b681827f566a'/>
<id>urn:sha1:a192a9580bcc41692be1f36b77c3b681827f566a</id>
<content type='text'>
Linux/ACPI core files using internal.h all PREFIX "ACPI: ",
however, not all ACPI drivers use/want it -- and they
should not have to #undef PREFIX to define their own.

Add GPL commment to internal.h while we are there.

This does not change any actual console output,
asside from a whitespace fix.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: video: prevent NULL deref in acpi_get_pci_dev()</title>
<updated>2009-06-26T04:23:42Z</updated>
<author>
<name>Troy Moure</name>
</author>
<published>2009-06-25T23:05:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=412af97838828bc6d035a1902c8974f944663da6'/>
<id>urn:sha1:412af97838828bc6d035a1902c8974f944663da6</id>
<content type='text'>
ref: http://thread.gmane.org/gmane.linux.kernel/857228/focus=857468

When the ACPI video driver initializes, it does a namespace walk
looking for for supported devices. When we find an appropriate
handle, we walk up the ACPI tree looking for a PCI root bus, and
then walk back down the PCI bus, assuming that every device
inbetween is a P2P bridge.

This assumption is not correct, and is reported broken on at
least:

	Dell Latitude E6400
	ThinkPad X61
	Dell XPS M1330

Add a NULL deref check to prevent boot panics.

Reported-by: Alessandro Suardi &lt;alessandro.suardi@gmail.com&gt;
Signed-off-by: Troy Moure &lt;twmoure@szypr.net&gt;
Signed-off-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release</title>
<updated>2009-06-24T05:19:50Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2009-06-24T05:19:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fbe8cddd2d85979d273d7937a2b8a47498694d91'/>
<id>urn:sha1:fbe8cddd2d85979d273d7937a2b8a47498694d91</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ACPI: pci_root: remove unused dev/fn information</title>
<updated>2009-06-20T04:01:54Z</updated>
<author>
<name>Bjorn Helgaas</name>
</author>
<published>2009-06-18T20:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0705495d9010048e293013d9d129cf723363a0a8'/>
<id>urn:sha1:0705495d9010048e293013d9d129cf723363a0a8</id>
<content type='text'>
We never use the PCI device &amp; function number, so remove it to make
it clear that it's not needed.  Many PCI host bridges don't even
appear in config space, so it's meaningless to look at stuff from
_ADR, which doesn't exist in that case.

Signed-off-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Reviewed-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>ACPI: pci_root: simplify list traversals</title>
<updated>2009-06-20T04:01:53Z</updated>
<author>
<name>Bjorn Helgaas</name>
</author>
<published>2009-06-18T20:47:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1aec8341627dad5d63cc24aa6746dc077f5b706'/>
<id>urn:sha1:c1aec8341627dad5d63cc24aa6746dc077f5b706</id>
<content type='text'>
Using list_for_each_entry() makes traversing the root list easier.

Signed-off-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Reviewed-by: Alex Chiang &lt;achiang@hp.com&gt;
Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
</feed>
