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: <20090319170045.GD8074@ldl.fc.hp.com>
Date:	Thu, 19 Mar 2009 11:00:45 -0600
From:	Alex Chiang <achiang@...com>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	jbarnes@...tuousgeek.org, linux-pci@...r.kernel.org,
	linux-kernel@...r.kernel.org, Trent Piepho <xyzzy@...akeasy.org>
Subject: Re: [PATCH v4 10/12] PCI Hotplug: restore fakephp interface with
	complete reimplementation

* Andrew Morton <akpm@...ux-foundation.org>:
> On Wed, 18 Mar 2009 16:40:16 -0600 Alex Chiang <achiang@...com> wrote:
> 
> > A complete re-implementation of fakephp is necessary if it is to
> > present its former interface (pre-2.6.27, when it broke).
> 
> We broke an existing interface?  wtf?

When I introduced physical PCI slots in 2.6.27, one of the
changes was that the interface we presented in
/sys/bus/pci/slots/ was supposed to represent _physical_ slots
only.

Before the change, fakephp "abused" that directory by presenting
all the PCI devices, independent of any notions of physical
slots.

No one thought much of changing what fakephp did during review
because we thought it was a developer/debug feature only. After
the change, instead of presenting a PCI bus address in sysfs,
fakephp present something like "fake%d" where %d is the order
that we discovered the device.

The thought process was that, "this is a debug feature only, so
let's make it more obvious".

This was an incorrect assumption, it turns out. :(

People like embedded were using it for various things, and it was
also the only way to remove (and rediscover) PCI devices (if they
weren't supported by platform hotplug).

You can read the thread here:

	http://thread.gmane.org/gmane.linux.kernel/761944

The interesting stuff starts in the middle.

> If it's been broken for this long then do we actually need to
> resurrect it?

This entire patch series is about fixing the mess that I helped
create. At the time, it was indicated that there was existing
software that depended on finding 2.6.26-style (and older)
fakephp stuff in /sys/bus/pci/slots/

After some discussion, we thought it would be better for the
functionality to live in the new sysfs interfaces I'm introducing
in this series.

The legacy fakephp stuff is to help transition existing software.

Since the only use case of existing software that I know of is in
embedded, I think their workaround was to not move to 2.6.27.

> If so, do we need to resurrect it in its old form?  This would appear
> to be an opportunity to improve that interface, unless the old one
> was perfect?

Well, the goal is to get people away from fakephp completely and
move them to these new interfaces. The legacy fakephp stuff is
just a transition aid.

Thanks.

/ac

--
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