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]
Date:	Fri, 12 Jul 2013 01:34:20 +0200
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 <linux-pci@...r.kernel.org>,
	Yinghai Lu <yinghai@...nel.org>, Jiang Liu <liuj97@...il.com>,
	Mika Westerberg <mika.westerberg@...ux.intel.com>
Subject: [RFC][PATCH 0/30] ACPI / hotplug / PCI: Major rework + Thunderbolt workarounds

Hi,

I've made some progress with my ACPIPHP rework since I posted the series last
time and here goes an update.

First off, the previous series was somewhat racy, which should be fixed now.
Apart from this there's quite some new material on top of the patches I posted
last time (or rather on top of their new versions) and I integrated the
Thunderbolt series from Mika with that.  As a result,

https://patchwork.kernel.org/patch/2817341/

is required to be applied.

Still untested, still based on 3.10 with ACPI+PM 3.11 material merged on top,
but this time I don't have any plans to add more patches to the series for the
time being.  Also 3.11-rc1 should be out in a couple of days, so I'll be able
to integrate this work with the previous cleanups series from Gerry and myself
on top of it.

I did my best not to change too much at a time and some steps add stuff that
is removed by the subsequent ones, so hopefully it is bisectable.

If anyone finds something questionable or outright bogus in these patches,
please let me know before it's too late. ;-)

[ 1/30] Make bus registration and unregistration symmetric.  [Resend]
[ 2/30] Consolidate acpiphp_enumerate_slots().  [Resend]
[ 3/30] Fix error code path in register_slot().  [Resend]
[ 4/30] Introduce hotplug context objects for ACPI device objects corresponding
        to PCI hotplug devices.  [Update]
[ 5/30] Unified notify handler for hotplug events.  [Update]
[ 6/30] Drop acpiphp_handle_to_bridge() and use context objects instead of it.  [Update]
[ 7/30] Pass entire hotplug context objects (instead of their fields
        individually) to event handling work functions.  [Update]
[ 8/30] Merge hotplug event handling functions.  [Update]
[ 9/30] Drop func field from struct acpiphp_bridge.
[10/30] Refactor slot allocation code in register_slot().
[11/30] Make acpiphp_enumerate_slots() to register all devices on the given bus
        and install the notification handler for all of them.
[12/30] Drop sun field from struct acpiphp_slot.
[13/30] Use common slot count variable in register_slot().
[14/30] Drop flags field from struct acpiphp_bridge.
[15/30] Embed function structure into struct acpiphp_context.
[16/30] Drop handle field from struct acpiphp_func.
[17/30] Drop handle field from struct acpiphp_bridge.
[18/30] Store parent bridge pointer in function objects and bus pointer in slot
        objects.
[19/30] Rework ACPI namespace scanning and trimming routines.
[20/30] Drop redundant checks from check_hotplug_bridge().
[21/30] Consolidate slot disabling and ejecting
[22/30] Do not queue up event handling work items for non-hotplug events.
[23/30] Do not execute _PS0 and _PS3 directly.
[24/30] Do not check SLOT_ENABLED in enable_device().  [Thunderbolt series]
[25/30] Allow slots without new devices to be rescanned.  [Thunderbolt series]
[26/30] Check for new devices on enabled slots.  [Thunderbolt series, TBD]
[27/30] Get rid of unused constands in acpiphp.h.  [Thunderbolt series]
[28/30] Sanitize acpiphp_get_(latch)|(adapter)_status().  [Thunderbolt series]
[29/30] Redefine enable_device() and disable_device() (rename and change to void).
[30/30] Clean up the usage of bridge_mutex.

Patch [26/30] seems to go over the top with dropping the non-responsive devices
and it probaby needs some more thought.  Also the algorithm of bus checks and
device checks may need to be improved in the future, but for the time being I
think it is good enough.

Comments welcome!

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