lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1499423.ez5cZl2uAf@vostro.rjw.lan>
Date:	Thu, 13 Dec 2012 23:15:34 +0100
From:	"Rafael J. Wysocki" <rjw@...k.pl>
To:	ACPI Devel Maling List <linux-acpi@...r.kernel.org>
Cc:	Bjorn Helgaas <bhelgaas@...gle.com>,
	LKML <linux-kernel@...r.kernel.org>, linux-pci@...r.kernel.org,
	Yinghai Lu <yinghai@...nel.org>,
	Toshi Kani <toshi.kani@...com>,
	Myron Stowe <myron.stowe@...hat.com>,
	Yijing Wang <wangyijing0307@...il.com>,
	Jiang Liu <liuj97@...il.com>
Subject: [PATCH rev.2 0/6] ACPI: Change the ACPI namespace scanning code ordering

Hi All,

On Sunday, December 09, 2012 11:58:42 PM Rafael J. Wysocki wrote:
> Hi,
> 
> The following patches change the ordering of the ACPI namespace scanning code
> so that all struct acpi_device objects in the given scope are registered before
> ACPI drivers are probed against them.  They also do some simplifications and
> clarifications of the code made possible by this main change.
> 
> This is done for three basic reasons.  First, we need the boot ACPI namespace
> scanning code to be as similar as reasonably possible to the hot-plug ACPI
> namespace scanning code.  Second, the ordering of PCI devices enumeration
> versus ACPI-backed platform devices registration needs to be such that the PCI
> devices in the given scope are all registered first.  Finally, when we start to
> actually manage ACPI device resources as appropriate (e.g. resolve resource
> conflicts properly) we'll need all struct acpi_device nodes to be registered
> before any "companion" physical nodes or ACPI drivers are bound to them.
> 
> The patches have been tested on Toshiba Portege R500 without breaking stuff
> (I used some additional debug code to verify that the ordering of device
> discovery had not been modified by them), but if you see any problems with
> them regarding hot-plug, please let me know.
> 
> [1/6] - Separate adding ACPI device objects from probing ACPI drivers.
> [2/6] - Change the ordering of PCI root bridge driver registration.
> [3/6] - Make acpi_bus_add() and acpi_bus_start() visibly different.
> [4/6] - Reduce the usage of struct acpi_bus_ops
> [5/6] - Replace struct acpi_bus_ops with an enum type
> [6/6] - Change the ordering of acpi_bus_check_add() to avoid unnecessary checks.

The second revision is necessary to address problems found by Yijing Wang
during testing and explained by Jiang Liu (thanks guys!).

The problem is that acpi_walk_namespace() doesn't execute the pre_order_visit
callback for the starting handle, so the callback routine has the be executed
for it directly, if necessary.

I also modified a couple of changelogs to better explain the motivation of the
patches.

Boot sequence tested on Toshiba Portege R500, but testing on systems with
hotplug will be appreciated.

Thanks,
Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ