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:	Tue, 24 Nov 2009 09:53:51 +0100
From:	Kay Sievers <kay.sievers@...y.org>
To:	Rusty Russell <rusty@...tcorp.com.au>
Cc:	Takashi Iwai <tiwai@...e.de>,
	Ondrej Zary <linux@...nbow-software.org>,
	linux-kernel@...r.kernel.org,
	Jon Masters <jonathan@...masters.org>,
	Jaroslav Kysela <perex@...ex.cz>, Greg KH <gregkh@...e.de>
Subject: Re: MODULE_DEVICE_TABLE(isapnp, ...) does nothing

On Mon, Nov 23, 2009 at 22:51, Rusty Russell <rusty@...tcorp.com.au> wrote:
> On Mon, 23 Nov 2009 07:10:22 pm Takashi Iwai wrote:
>> At Mon, 23 Nov 2009 13:59:53 +1030, Rusty Russell wrote:
>> > Two things are required:
>> > 1) Modify file2alias to add aliases for isapnp.  This is pretty easy.
>> > 2) Expose the isapnp devices in sysfs where udev will match them up
>> >    (/sys/bus/isa/devices/<dev>/modalias I guess?)
>>
>> There is non-pnp ISA bus, so I'm afraid "isa" may conflict.
>> I suppose "isapnp" would be a safer choice.
>
> Without pnp, I don't think you can enumerate the ISA bus. Hence I chose
> "isa:" in the hope that udev would "just work" if isapnp created the
> modalias under /sys/bus/isa...
>
> But Kay says there's a pnp bus (who knew?).  I don't know what he means
> by unfixable aliases tho, since it's all in the kernel source so we can
> change it at any time?

Here's a bit of the background:

The aliases in the modules can only match a single value, but PNP
devices often have vendor specific IDs and usual IDs describing the
function.

Like here, where the interesting ID is only the second one of the two
for a single device:
  $ grep . /sys/bus/pnp/devices/*/id
  /sys/bus/pnp/devices/00:09/id:LEN0006
  /sys/bus/pnp/devices/00:09/id:PNP0f13

So the kernel device would need to compose a "modalias" string with
all IDs in a single line. But the in-module aliases can unfortunately
match only on a single value, like:
  alias pnp:dPNP0700* floppy

For that reason, a while ago udev switched to acpi aliases entirely,
and dropped all pnp: usage. The acpi aliases can handle multi-values
just fine with single strings like:
  $ cat /sys/bus/acpi/devices/LEN0006:00/modalias
  acpi:LEN0006:PNP0F13:

  alias acpi*:PNP0700:* floppy

Udev does not use any pnp: or /sys/bus/pnp/ values since a while. But
there might be still distros who use the (broken) pnp: aliases and
ship the (also broken) shell scripts to iterate over the sysfs devices
and call modprobe for all they find.

Thanks,
Kay
--
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