chiark / gitweb /
16 years ago[PATCH] PATCH some cleanups and security fixes [Wed, 6 Oct 2004 07:48:10 +0000 (00:48 -0700)]
[PATCH] PATCH some cleanups and security fixes

posted by Steve Grubb on

16 years ago[PATCH] PATCH some cleanups and security fixes [Wed, 6 Oct 2004 07:27:10 +0000 (00:27 -0700)]
[PATCH] PATCH some cleanups and security fixes

posted by Steve Grubb on

16 years ago[PATCH] be paranoid in dev_d.c [Wed, 6 Oct 2004 07:23:37 +0000 (00:23 -0700)]
[PATCH] be paranoid in dev_d.c

16 years ago[PATCH] add USE_SELINUX to README documentation so people have a chance to see what... [Wed, 6 Oct 2004 06:51:24 +0000 (23:51 -0700)]
[PATCH] add USE_SELINUX to README documentation so people have a chance to see what is going on.

16 years ago[PATCH] update the selinux.h file to start to look sane [Wed, 6 Oct 2004 06:49:50 +0000 (23:49 -0700)]
[PATCH] update the selinux.h file to start to look sane

and I told them to follow the proper coding style...  bleah...

16 years ago[PATCH] PATCH selinux for udev [Wed, 6 Oct 2004 06:39:05 +0000 (23:39 -0700)]
[PATCH] PATCH selinux for udev

Daniel Walsh's working selinux patch

16 years ago[PATCH] cleanup PATCH for extras/chassis_id/Makefile [Wed, 6 Oct 2004 05:20:12 +0000 (22:20 -0700)]
[PATCH] cleanup PATCH for extras/chassis_id/Makefile

for "make install"

16 years ago[PATCH] respect prefix= setting in built udev.conf (updated) [Wed, 6 Oct 2004 05:15:16 +0000 (22:15 -0700)]
[PATCH] respect prefix= setting in built udev.conf (updated)

Here is a revised version of the patch. Again, it modifies the Makefile
to respect the prefix= setting when putting paths to
/etc/udev/{rules.s,permissions.d} into the built /etc/udev/udev.conf
file. It also changes the Makefile to create this file at "make" time,
not "make install" time. This allows for udevdir to be specified at
"make" time (thus putting the correct path into udev.conf), but not
specified at "make install" time (thus allowing the installation to
proceed without trying to use the wrong directory).

 Submitted By: Kevin P. Fleming <>
 Date: 2004-09-16
 Initial Package Version: 032
 Origin: David Jensen
 Description: correct udev's Makefile and template config file
 to respect the "prefix=" setting supplied when it is built; also
 build etc/udev/udev.conf at "make" time, not "make install" time

16 years ago[PATCH] kdetv wants to see device nodes in /dev [Wed, 6 Oct 2004 05:13:30 +0000 (22:13 -0700)]
[PATCH] kdetv wants to see device nodes in /dev

16 years ago[PATCH] update comments in [Wed, 6 Oct 2004 04:56:39 +0000 (21:56 -0700)]
[PATCH] update comments in

16 years ago[PATCH] finally solve the bad sysfs-timing for all of us [Wed, 6 Oct 2004 04:35:39 +0000 (21:35 -0700)]
[PATCH] finally solve the bad sysfs-timing for all of us

On Tue, Sep 21, 2004 at 07:17:34PM +0200, Kay Sievers wrote:
> During the integration of HAL into the linux hotplug system, we dicover
> every week a new signaling path that fails cause of the delayed
> population of the sysfs files, which are connected by symlinks and
> appear in something like a random order in userspace.
> It's pretty complicated to understand the connection between all these
> files for all the different subsystems with all the exceptions, so most
> of the users simply sleep a few seconds, but that is not acceptable for
> our integration work.
> Here I try to get all the special knowledge about that behavior together
> and place that in a simple binary. That program _must_ run first of all
> other hotplug processsing and every later script, udev or HAL all can get
> rid of the wild guesses about the right time sysfs is ready.
> It will not only wait for the "dev"-file events we handle with udev, also
> for every /device-device with the corresponding bus link.
> It is provided as a patch against the current udev tree and a "install" will
> place the new program in the hotplug.d directory:
>   [kay@pim ~]$ tree /etc/hotplug.d/
>   /etc/hotplug.d/
>   `-- default
>       |-- 00-wait_for_sysfs.hotplug -> /sbin/wait_for_sysfs
>       |-- 10-udev.hotplug -> /sbin/udevsend
>       |-- 20-hal.hotplug -> /usr/libexec/hal.hotplug
>       |-- default.hotplug
>       `-- log.hotplug
> For now, it logs the result of the waiting to syslog, to catch any
> device, that needs special treatment. All newly discovered delay problems,
> device black/whitelist updates should go into that program and we may remove
> that kind of specialisation from all the other hotplug programs.
> Any patches, reports, testing is more than welcome.
> Sample debug:
>   Sep 21 18:44:07 localhost kernel: usb 3-2: new full speed USB device using address 12
>   Sep 21 18:44:07 localhost kernel: hub 3-2:1.0: USB hub found
>   Sep 21 18:44:07 localhost kernel: hub 3-2:1.0: 2 ports detected
>   Sep 21 18:44:07 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/devices/pci0000:00/0000:00:1d.1/usb3/3-2'
>   Sep 21 18:44:07 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0'
>   Sep 21 18:44:08 localhost kernel: usb 3-2.1: new full speed USB device using address 13
>   Sep 21 18:44:08 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/class/usb/lp0'
>   Sep 21 18:44:08 localhost kernel: drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 13 if 0 alt 1 proto 2 vid 0x067B pid 0x2305
>   Sep 21 18:44:08 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2.1/3-2.1:1.0'
>   Sep 21 18:44:08 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2.1'
>   Sep 21 18:44:08 localhost udev: configured rule in '/etc/udev/rules.d/50-udev.rules' at line 29 applied, 'lp0' becomes 'usb/%k'
>   Sep 21 18:44:08 localhost udev: creating device node '/udev/usb/lp0'
>   Sep 21 18:44:09 localhost kernel: usb 3-2.2: new full speed USB device using address 14
>   Sep 21 18:44:09 localhost kernel: pl2303 3-2.2:1.0: PL-2303 converter detected
>   Sep 21 18:44:09 localhost kernel: usb 3-2.2: PL-2303 converter now attached to ttyUSB0
>   Sep 21 18:44:09 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2.2'
>   Sep 21 18:44:09 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2.2/3-2.2:1.0'
>   Sep 21 18:44:09 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2.2/3-2.2:1.0/ttyUSB0'
>   Sep 21 18:44:09 localhost 00-wait_for_sysfs.hotplug: result: waiting for sysfs successful '/class/tty/ttyUSB0'
>   Sep 21 18:44:09 localhost udev: creating device node '/udev/ttyUSB0'

New version with more devices excluded from /device-link saerch and
a better maching for device names.

16 years ago[PATCH] update udev to include scsi_id 0.6 [Wed, 6 Oct 2004 04:30:54 +0000 (21:30 -0700)]
[PATCH] update udev to include scsi_id 0.6

Here's a patch updating udev's copy of scsi_id to version 0.6.

16 years ago[PATCH] fix up Makefiles to get the klibc build working properly. [Wed, 6 Oct 2004 02:01:12 +0000 (19:01 -0700)]
[PATCH] fix up Makefiles to get the klibc build working properly.

Based on a patch from Kay Sievers <>

16 years ago[PATCH] oops forgot to add the new klibc/include directory [Wed, 6 Oct 2004 01:51:53 +0000 (18:51 -0700)]
[PATCH] oops forgot to add the new klibc/include directory

16 years ago[PATCH] update klibc to version 0.181 [Wed, 6 Oct 2004 01:32:12 +0000 (18:32 -0700)]
[PATCH] update klibc to version 0.181

16 years ago[PATCH] volume-id build fix and update [Sun, 19 Sep 2004 06:22:27 +0000 (23:22 -0700)]
[PATCH] volume-id build fix and update

Let's try it another way:

We define BLKGETSIZE64 in udev-volume_id.c now, cause including <fs.h>
does also not work with klibc. This hopefully fixes your compile problem

Also included is an update to udev_volume_id with the latest fixes for
volume_id. It adds a simple logging file to map the debug function, that
we can use exactly the same files in HAL and udev.

16 years ago[PATCH] switch udev's seqnum to u64 [Thu, 16 Sep 2004 05:36:31 +0000 (22:36 -0700)]
[PATCH] switch udev's seqnum to u64

The kernel will use a u64 for the sequence number, so we want the same.

16 years ago[PATCH] add enum tests [Wed, 15 Sep 2004 04:44:55 +0000 (21:44 -0700)]
[PATCH] add enum tests

On Fri, Sep 10, 2004 at 01:09:07PM -0700, Greg KH wrote:
> On Tue, Sep 07, 2004 at 01:19:34PM +0200, David Zeuthen wrote:
> >
> >         KERNEL="sr*", NAME="%k", SYMLINK="cdrom%e"
> >         KERNEL="scd*", NAME="%k", SYMLINK="cdrom%e"
> >         KERNEL="pcd*", NAME="%k", SYMLINK="cdrom%e"
> >         KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom", NAME="\%k", SYMLINK="cdrom%e"
> >         KERNEL="fd[0-9]", NAME="%k", SYMLINK="floppy%e"
> >         KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="floppy", NAME=\"%k", SYMLINK="floppy%e"
> >
> > New patch is attached.
> Nice, I've applied this.
> How about sending a patch for the test/ script that adds a
> test for this new paramater, so we make sure to not break it in the
> future.

Here are the tests for the enumeration character %e. I've added a option
string to be able to do a whole sequence of tests without node removal,
so we can skip the "remove" event and get an increasing number to append
to the name. After the sequence test the whole directory is cleaned for
the next tests.

16 years ago[PATCH] fix udev segfaults with bad permissions file [Wed, 15 Sep 2004 00:45:48 +0000 (17:45 -0700)]
[PATCH] fix udev segfaults with bad permissions file

On Tue, Sep 14, 2004 at 02:53:12PM +0200, Loleslaw wrote:
> Hi,
> Since I started using udev-031 on my gentoo udevstart would just segfault
> (udev-030 worked). As it turned out I had a file in /etc/udev/permissions.d
> with a single space in one line. I've cleaned the file and it works all
> right, but I thought you could be interested.
> I've traced it to function namedev_init_permissions in namedev_parse.c
> I don't know C well enough to suggest a patch.

Yeah, thanks for pointing that out. It only happens if the file ends with
whitespace-only lines. Here is a fix and a test for to
cover that case.

16 years ago[PATCH] 032 release 032 [Tue, 14 Sep 2004 13:55:08 +0000 (06:55 -0700)]
[PATCH] 032 release

16 years ago[PATCH] udev parse bug [Tue, 14 Sep 2004 13:50:38 +0000 (06:50 -0700)]
[PATCH] udev parse bug

There is a bug parsing PROGRAMs after apostrophes. Try PROGRAM="/bin/echo 'test test".

16 years ago[PATCH] handle only block and class devices [Tue, 14 Sep 2004 13:50:33 +0000 (06:50 -0700)]
[PATCH] handle only block and class devices

Fix a stupid logic bug, I introduced with the udev.c simplification. We
want to look at class and block devices only.

16 years ago[PATCH] fix udevstart badly broken in udev 031 [Tue, 14 Sep 2004 13:50:28 +0000 (06:50 -0700)]
[PATCH] fix udevstart badly broken in udev 031

On Mon, 2004-09-13 at 01:56 +0200, Marco d'Itri wrote:
> Starting from udev 031, the %-arguments passed to PROGRAMs are not
> correct when the new udevstart code is being used.
> KERNEL="event[0-9]*",   NAME="input/%k", PROGRAM="/etc/udev/ %k %n %M %m", RESULT="inputdev", MODE="0664", GROUP="video"
> generates this log (just echo $*):
> event0 0 13 64
> event0 0 13 64
> event0 0 13 64
> while the correct log (generated using the old shell script instead of
> udevstart) would be:
> event0 0 13 64
> event1 1 13 65
> event2 2 13 66

Yes, I can simulate this, please try the attached patch. I expect, that
it fixes it, cause we better not mangle the parsed config while matching
the rules.

16 years ago[PATCH] 031 release 031 [Sat, 11 Sep 2004 05:09:58 +0000 (22:09 -0700)]
[PATCH] 031 release

16 years ago[PATCH] add symlink for video rule. [Sat, 11 Sep 2004 04:58:59 +0000 (21:58 -0700)]
[PATCH] add symlink for video rule.

16 years ago[PATCH] add a "first" list to udevstart and make it contain the class/mem/ devices [Sat, 11 Sep 2004 04:44:15 +0000 (21:44 -0700)]
[PATCH] add a "first" list to udevstart and make it contain the class/mem/ devices

Seems some programs really want /dev/null to work properly :)

16 years ago[PATCH] fix compiler warning in udevtest.c [Sat, 11 Sep 2004 04:13:18 +0000 (21:13 -0700)]
[PATCH] fix compiler warning in udevtest.c

16 years ago[PATCH] Fix naming ethernet devices in udevstart [Sat, 11 Sep 2004 04:09:25 +0000 (21:09 -0700)]
[PATCH] Fix naming ethernet devices in udevstart

On Tue, Sep 07, 2004 at 12:46:43PM +0200, Kay Sievers wrote:
> On Mon, 2004-09-06 at 20:18 -0700, Tom Rini wrote:
> > I noticed somewhat recently that my enet devices weren't being renamed
> > on boot anymore.  I don't quite know when this got broken (or rather, if
> > it was supposed to be working.  I swear it worked for me once..), but
> > the following seems to do it.
> I think it never worked in the udevstart case. It worked only with the
> hotplug-event-udev, I expect.
> > In udev_scan_class(), look for not just
> > %s/%s/dev (which everything with a dev node has), but %s/%s/dev* (both
> > of my enet devices, sis900 & 3c59x only have device) and if that
> > exists, pass this along to udev.
> Yeah, network devices don't have a devnode and therefore no "dev", but
> they are all in /sys/class/net/. We may just test if we are there
> instead of the "device" match.

How about something like this. It adds all the net devices without
looking at the attributes and keeps the remaining logic like it is.

It also removes certain levels of indirection and much simplifies the
udevstart process. We surely don't need to open and close the udevdb
for every node while iterating over the list. (We are about 5% faster on
my box)

It's not well tested, so it would be nice if someone can have a look
at it, before a broken udevstart renders any system unbootable.

16 years ago[PATCH] compatibility symlinks for udev [Sat, 11 Sep 2004 04:04:13 +0000 (21:04 -0700)]
[PATCH] compatibility symlinks for udev

On Mon, 2004-09-06 at 17:45 +0200, Kay Sievers wrote:
> On Mon, 2004-09-06 at 16:46 +0200, David Zeuthen wrote:
> Nice, I like it. It's a easy way to group device nodes of the same type,
> but coming from different kernel subsystems.

That's a good way of putting it, yeah.

> > Here's a patch against udev-030 that can help create compatibility
> > symlinks like /dev/cdrom, /dev/cdrom1 etc. The patch introduces a new
> > substitution type %C (for Compatibility) that can be used as follows
> I suggest using %e for enumeration here, cause "compatibility" can
> easily be misunderstood.

Good point, I've changed that.

> And we need a few lines added to the man page at :)

Done. I've also added an example.

Also, Kay pointed out offlist that the rules can be written to not
require a shell script; this actually works

        KERNEL="sr*", NAME="%k", SYMLINK="cdrom%e"
        KERNEL="scd*", NAME="%k", SYMLINK="cdrom%e"
        KERNEL="pcd*", NAME="%k", SYMLINK="cdrom%e"
        KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom", NAME="\%k", SYMLINK="cdrom%e"
        KERNEL="fd[0-9]", NAME="%k", SYMLINK="floppy%e"
        KERNEL="hd[a-z]", PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="floppy", NAME=\"%k", SYMLINK="floppy%e"

New patch is attached.


16 years ago[PATCH] udev - read long lines from config files overflow fix [Sat, 11 Sep 2004 03:54:04 +0000 (20:54 -0700)]
[PATCH] udev - read long lines from config files overflow fix

Hi Kay,

On 23:12 Sat 04 Sep     , Kay Sievers wrote:
> Cool, a real bug :)
> Thanks, for the patch. I think it would be better to skip lenghth exceeding
> lines instead of cutting it and continue. While looking at it I restructured
> the buffer reading logic a bit and fixed another stupid bug.
Thanks for the cleanup.

You may have overlooked the fix for udev_config.c(parsing udev.conf) in
your patch.  So, I've adapted the fixes you applied to namedev_parse.c
to this file also.

Also, while 'eating' the whitespace the 'count' doesn't get decremented.
This leads strncpy to copy the number of whitespace minus 1 characters
from the next line. Minus 1 because it copies '\n' from the current

while (isspace(bufline[0])) {
+ count--;
strncpy(line, bufline, count);

Included patch(against udev-030) contains the above fixes as well as
your fixes.

Signed-off-by: Arun Bhanu <>
16 years ago[PATCH] udevsend depends on udev_lib.o [Tue, 7 Sep 2004 07:55:07 +0000 (00:55 -0700)]
[PATCH] udevsend depends on udev_lib.o

make -j  doesnt work with current udev.

16 years ago[PATCH] update udev_volume_id [Sun, 5 Sep 2004 16:05:36 +0000 (18:05 +0200)]
[PATCH] update udev_volume_id

Here is an update for the volume_id callout to catch up to the latest
and greatest:

o It is able to skip the label reading of linux raid members, which are
  otherwise recognized as a normal filesystem.

o It reads FAT labels stored in the directory instead of the
  superblock (Windows only writes in the directory).

o The NTFS uuid is the right one now.

o It reads all the Apple HFS(+) formats with the labels.

o UFS volumes are recognized but no labels are extracted.

o We use CFLAGS+=-D_FILE_OFFSET_BITS=64 instead of lsee64() which may fix
  a bug mentioned on the klibc mailing list.

A lot of other new features are only used in HAL and not needed in this
simple callout. But if someone stumbles over it and want's to send a patch
for some exotic formats, we better keep it up to date :)

16 years ago[PATCH] let /sbin/hotplug execute udev earlier [Sun, 5 Sep 2004 16:05:32 +0000 (18:05 +0200)]
[PATCH] let /sbin/hotplug execute udev earlier

We ran into problems with all the /etc/hotplug.d/ scripts that sleep for
the sysfs files or for other reasons. Anyway, it takes much too much time
before udev is executed.
HAL has its own notifier in /etc/hotplug.d/ and also waits for the
dev.d/events with the same SEQNUM. Sometimes it take 25 seconds between
these two events, cause the other scripts are sleeping too much :)

Attached is a patch that installs the udevsend symlink as
10-udev.hotplug instead of udev.hotplug, to be executed earlier.

[kay@pim udev.kay]$ tree /etc/hotplug.d/
`-- default
    |-- 10-udev.hotplug -> /sbin/udevsend
    |-- 20-hal.hotplug -> /usr/libexec/hal.hotplug
    `-- default.hotplug

16 years ago[PATCH] pass SEQNUM trough udevd [Sun, 5 Sep 2004 16:05:29 +0000 (18:05 +0200)]
[PATCH] pass SEQNUM trough udevd

here we change udevd to pass the SEQNUM from the hotplug environment
to udev and the dev.d/ scripts. We need this for HAL to match the
hotplug event with the dev.d/ events.

It also changes the type from int to long to match the kernel.

16 years ago[PATCH] Fix old-style pty breakage in rules file for tty device. [Sun, 5 Sep 2004 15:56:08 +0000 (17:56 +0200)]
[PATCH] Fix old-style pty breakage in rules file for tty device.

Thanks to Martin Schlemmer <> for the fix.

16 years ago[PATCH] add rules for i386 cpu devices. [Sun, 5 Sep 2004 15:53:11 +0000 (17:53 +0200)]
[PATCH] add rules for i386 cpu devices.

16 years ago[PATCH] add permission for legotower usb devices. [Sun, 5 Sep 2004 15:52:51 +0000 (17:52 +0200)]
[PATCH] add permission for legotower usb devices.

16 years ago[PATCH] fix manpages based on esr's spambot [Wed, 11 Aug 2004 08:03:06 +0000 (01:03 -0700)]
[PATCH] fix manpages based on esr's spambot

On Mon, Jul 12, 2004 at 11:14:28AM -0400, wrote:
> This is automatically generated email about problems in a man page for which
> you appear to be responsible.  If you are not the right person or list, tell
> me and I will attempt to correct my database.
> See for details on how and
> why these patches were generated.  Feel free to email me with any questions.
> Note: This patch does not change the mod date of the manual page.  You
> may wish to do that by hand.
> Problems with udevd.8:
> 1. There are multiple name lines.  This makes it impossible to translate
> the page to DocBook.  It may also confuse some implementations
> of man -k.
> --- udevd.8-orig 2004-07-10 06:35:12.032545856 -0400
> +++ udevd.8 2004-07-10 06:36:19.301319448 -0400
> @@ -1,8 +1,6 @@
>  .TH UDEVD 8 "February 2004" "" "Linux Administrator's Manual"
> -udevd \- udev event serializer daemon
> -udevsend \- sends the event to udevd
> +udevd, udevdsend \- udev event serializer daemon and udev event sender
> --
>                              Eric S. Raymond

Thanks Eric, udevsend.8 is only a symlink to udevd.8, so I attached a
stripped down patch to this mail.

16 years ago[PATCH] Minor POSIX-fixes for udev [Wed, 11 Aug 2004 08:03:03 +0000 (01:03 -0700)]
[PATCH] Minor POSIX-fixes for udev

The attached patch contains a few patches against udev, to remove
use of various XSI:isms and bash:isms, and to change two scripts form
/bin/bash to /bin/sh.  None of the bash-scripts in test/ uses any
bash-specific functions as far as I know, but I didn't touch them since
they aren't used runtime.

* Both of the /bin/bash-scripts are totally free from bashisms, hence they
  don't need to be /bin/bash; using /bin/sh instead helps (mainly)

* local and source are bash:isms (well, they exist in several other
  shells as well, but they aren't part of POSIX or any of its extensions)

* -a in tests is an XSI-extension, not part of strict POSIX, and is
  easily replaced by &&

* Use of fgrep is deprecated in POSIX in favour of grep -F (though fgrep
  will remain in use for a long time...)

The fgrep-change isn't really necessary, since fgrep can always be
implemented as a shell-script, but the rest of the changes would really
be appreciated.

16 years ago[PATCH] fix UDEV_NO_SLEEP [Wed, 11 Aug 2004 08:02:59 +0000 (01:02 -0700)]

Move setting UDEV_NO_SLEEP into main().  I thought about moving
udev_init_config() around, but it still must be invoked in both udev and
udevstart cases, and before udev_hotplug() is called.  An alternative
would be to have main() do:
if (is_udevstart) {
... current ...
} else {
return udev_hotplug();

And move setting UDEV_NO_SLEEP into udev_start().  I can redo it that
way, if you prefer.

Signed-off-by: Tom Rini <>
Signed-off-by: Greg Kroah-Hartman <>
16 years ago[PATCH] clean up start_udev a bit [Wed, 11 Aug 2004 08:02:56 +0000 (01:02 -0700)]
[PATCH] clean up start_udev a bit

First, update extras/start_udev.  udevstart always internally set
UDEV_NO_SLEEP as well as setting the ACTION variable, so that only needs
to be done in the run_udev script case.

Signed-off-by: Tom Rini <>
Signed-off-by: Greg Kroah-Hartman <>
16 years ago[PATCH] add microcode rule to permissions.gentoo file [Wed, 11 Aug 2004 08:02:54 +0000 (01:02 -0700)]
[PATCH] add microcode rule to permissions.gentoo file

  Add microcode rule, remove duplicate rtc and psaux rules,
  and order alphabetically.

16 years ago[PATCH] Make udev/udevstart be one binary [Tue, 10 Aug 2004 07:50:21 +0000 (00:50 -0700)]
[PATCH] Make udev/udevstart be one binary


The following patch makes udev/udevstart be a common binary.  First,
doing this grows udev by a total of 1.8kB (ppc32, stripped) whereas
udevstart by itself is 6.4kB.  I know you mentioned being able to
replace udevstart with a script, but at 1.8kB I don't think it'll be
easy to beat this with size there.  Next, the following are by-eye
timings of before, after, and with devfs on a slow, but still usable
embedded platform (config stripped down to more-or-less bare for
-- Embedded Planet RPX LITE, 64Mhz MPC 823e --
devfs         : 15.333s, 15.253s, 14.988s (15.191s avg)
udev-pristine : 18.675s, 18.079s, 18.418s (18.390s avg)
udev-multi    : 14.587s, 14.747s, 14.868s (14.734s avg)

The patch ends up being rather large to add this, as in doing so I ended
up making all refs (that I hit..) to devpath/subsystem be marked as

Signed-off-by: Tom Rini <>
Signed-off-by: Greg Kroah-Hartman <>
16 years ago[PATCH] Add 'asmlinkage' to udev-030 [Tue, 10 Aug 2004 07:49:42 +0000 (00:49 -0700)]
[PATCH] Add 'asmlinkage' to udev-030

The following patch adds 'asmlinkage' defines to udev, to kill off 2
warnings on !i386.

Signed-off-by: Tom Rini <>
Signed-off-by: Greg Kroah-Hartman <>
16 years ago[PATCH] Update the FAQ with info about hardlink security [Tue, 10 Aug 2004 07:49:36 +0000 (00:49 -0700)]
[PATCH] Update the FAQ with info about hardlink security

16 years ago[PATCH] Try to provide a bit of security for hardlinks to /dev entries. [Tue, 10 Aug 2004 07:46:38 +0000 (00:46 -0700)]
[PATCH] Try to provide a bit of security for hardlinks to /dev entries.

16 years ago[PATCH] 030 release 030 [Sat, 10 Jul 2004 01:59:03 +0000 (18:59 -0700)]
[PATCH] 030 release

16 years ago[PATCH] fix stupid off-by-one bug that caused udevstart to die on x86-64 boxes. [Sat, 10 Jul 2004 01:46:08 +0000 (18:46 -0700)]
[PATCH] fix stupid off-by-one bug that caused udevstart to die on x86-64 boxes.

16 years ago[PATCH] 029 release 029 [Sat, 3 Jul 2004 02:15:10 +0000 (19:15 -0700)]
[PATCH] 029 release

16 years ago[PATCH] allow NAME_SIZE > SYSFS_PATH_MAX [Sat, 3 Jul 2004 01:59:30 +0000 (18:59 -0700)]

NAME_SIZE is too small for some configurations. This patch allows more
or longer names, it just keeps the stack in a sane state.

16 years ago[PATCH] add permission rule for jogdial device. [Sat, 3 Jul 2004 01:30:37 +0000 (18:30 -0700)]
[PATCH] add permission rule for jogdial device.

16 years ago[PATCH] fix dumb bug I added to udevstart [Fri, 2 Jul 2004 05:49:13 +0000 (22:49 -0700)]
[PATCH] fix dumb bug I added to udevstart

16 years ago[PATCH] make a "last list" of devices for udevstart to operate on last. [Fri, 2 Jul 2004 05:19:18 +0000 (22:19 -0700)]
[PATCH] make a "last list" of devices for udevstart to operate on last.

Should fix the dm startup issues, hopefully...

16 years ago[PATCH] fix permission problem with input event and ts nodes for gentoo [Fri, 2 Jul 2004 05:01:50 +0000 (22:01 -0700)]
[PATCH] fix permission problem with input event and ts nodes for gentoo

16 years ago[PATCH] 028 release 028 [Sat, 26 Jun 2004 08:32:43 +0000 (01:32 -0700)]
[PATCH] 028 release

16 years ago[PATCH] clean up block whitelist search logic a bit. [Sat, 26 Jun 2004 08:27:12 +0000 (01:27 -0700)]
[PATCH] clean up block whitelist search logic a bit.

16 years ago[PATCH] udevstart performance increase [Sat, 26 Jun 2004 08:18:31 +0000 (01:18 -0700)]
[PATCH] udevstart performance increase

I noticed a comment in namedev.c which stated

"Figure out where the device symlink is at.  For char devices this will
always be in the class_dev->path.  But for block devices, it's
different.  The main block device will have the device symlink in it's
path, but all partitions have the symlink in its parent directory.  But
we need to watch out for block devices that do not have parents, yet
look like a partition (fd0, loop0, etc.).  They all do not have a device
symlink yet.  We do a sit and spin on waiting for them right now, we
should possibly have a whitelist for these devices here..."

I went ahead and created a whitelist for the block devices that look
like partitions (mainly by using devices.txt) and tested for any
performance increase that we would see.  The whitelist only impacts
udevstart time depending on the state of UDEV_NO_SLEEP.  Since the list
was short, I just did a sequential search and ordered the list in such a
way that those block devices which have more /dev entires (ex. loop0,
loop1, loop2, etc) appear sooner in the list and will thus be found
quicker.  I've enclosed the patch and some of the performance results I
saw below.  Basically, as the number of block devices without device
symlinks increased, the use of the whitelist improved udevstart
performance compared to just sitting and spinning.  I just thought it
was interesting and thought I'd share.  If you feel the patch is
beneficial please consider for merging.  Also, if you'd be interested in
expanding the whitelist for other devices which are missing device
symlinks and seeing if there are added performance increases let me know
and I'll do what I can.  Thanks,


Note: ex. loop represents all the loop devices (i.e. loop0, loop1,
loop2, etc)

block devices present with whitelist time

16 years ago[PATCH] update udev_volume_id [Sat, 26 Jun 2004 08:18:21 +0000 (01:18 -0700)]
[PATCH] update udev_volume_id

volume_id is now able to read NTFS labels. Not very exciting, but we
keep up to date with the version in HAL. Also __packed__ was needed for
the structs, cause the gcc 3.4 compiled version was no longer working

16 years ago[PATCH] update udev scsi_id to scsi_id 0.5 [Sat, 26 Jun 2004 08:18:17 +0000 (01:18 -0700)]
[PATCH] update udev scsi_id to scsi_id 0.5

This patch syncs the scsi_id in the udev tree to version 0.5.

16 years ago[PATCH] Writing udev rules doc update [Sat, 26 Jun 2004 08:18:12 +0000 (01:18 -0700)]
[PATCH] Writing udev rules doc update

Here's an update to the documentation. It makes a few minor corrections and
adds info about multiple-symlinks.

It also seems that the patch I sent on April 27th (patching v0.53 to 0.54) was
not applied, so this patch includes that update too, which was also just some
small corrections plus added info on renaming network devices.

16 years ago[PATCH] Patch for chassis_id exras module [Sat, 26 Jun 2004 08:18:08 +0000 (01:18 -0700)]
[PATCH] Patch for chassis_id exras module

16 years ago[PATCH] reverse order of scanning of udevstart to look at class before block. [Sat, 26 Jun 2004 08:08:47 +0000 (01:08 -0700)]
[PATCH] reverse order of scanning of udevstart to look at class before block.

this should fix the startup issue for lvm, hopefully...

16 years ago[PATCH] 027 release 027 [Tue, 15 Jun 2004 04:36:50 +0000 (21:36 -0700)]
[PATCH] 027 release

16 years ago[PATCH] change default perms of misc/rtc to be readable by anyone. [Thu, 1 Jul 2004 07:29:06 +0000 (00:29 -0700)]
[PATCH] change default perms of misc/rtc to be readable by anyone.

16 years ago[PATCH] tweak the gentoo default permission rules as they are wrong for tty and misc... [Tue, 15 Jun 2004 04:33:01 +0000 (21:33 -0700)]
[PATCH] tweak the gentoo default permission rules as they are wrong for tty and misc devices.

16 years ago[PATCH] fix handle leak in udev_lib.c [Tue, 8 Jun 2004 23:47:16 +0000 (16:47 -0700)]
[PATCH] fix handle leak in udev_lib.c

There is a handle leak in failure path in file_map, and the result of
file_map (or the result of the caller of the file_map) is not always

16 years ago[PATCH] 026 release 026 [Tue, 8 Jun 2004 06:43:46 +0000 (23:43 -0700)]
[PATCH] 026 release

16 years ago[PATCH] fix udevd zombies [Mon, 7 Jun 2004 09:56:47 +0000 (02:56 -0700)]
[PATCH] fix udevd zombies

The recent version of klibc switched to -mregparm=3. This broke the
signal handlers parameter, cause it is called directly from the kernel
with the parameter on the stack not in a register.

16 years ago[PATCH] add test for ! in partition name [Sat, 5 Jun 2004 05:01:53 +0000 (22:01 -0700)]
[PATCH] add test for ! in partition name

16 years ago[PATCH] catchup with recent klibc [Thu, 27 May 2004 02:40:27 +0000 (19:40 -0700)]
[PATCH] catchup with recent klibc

Our own implementation of the sysinfo system call is no longer
needed, cause it's merged it into klibc now.

16 years ago[PATCH] 025_bk mark [Fri, 21 May 2004 06:53:50 +0000 (23:53 -0700)]
[PATCH] 025_bk mark

because is down, no release just yet...

16 years ago[PATCH] Update to version 117 of klibc (from version 108) [Fri, 21 May 2004 06:14:08 +0000 (23:14 -0700)]
[PATCH] Update to version 117 of klibc (from version 108)

16 years ago[PATCH] udev rpm fix [Fri, 21 May 2004 02:14:09 +0000 (19:14 -0700)]
[PATCH] udev rpm fix

Some file locations have changed since the spec file was last updated.
Also a failed build might leave behind a stale buildroot directory.
This patch should fix both problems.

16 years ago[PATCH] evaluate getenv() return value for udev_config.c [Sat, 15 May 2004 06:18:46 +0000 (23:18 -0700)]
[PATCH] evaluate getenv() return value for udev_config.c

Small patch to fix the evaluation logic for the return value of getenv()
in udev_config.c file.  Basically, the actual values for the environment
variables "UDEV_NO_SLEEP" and "UDEV_NO_DEVD" were not being checked.
For example UDEV_NO_SLEEP could have been set to false but the line:

if (getenv("UDEV_NO_SLEEP") != NULL)

in this case would always evaluate to true, since getenv() returns
char*, thus the "udev_sleep" variable would be set incorrectly.  The
patch makes sure to check the value returned by getenv() not just if
getenv() returned a value.  Hope this made sense.  Thanks,

16 years ago[PATCH] udevsend fallback [Sat, 15 May 2004 06:18:41 +0000 (23:18 -0700)]
[PATCH] udevsend fallback

On Tue, May 11, 2004 at 04:54:44PM -0700, Greg KH wrote:
> On Tue, May 11, 2004 at 01:16:41PM +0200, Kay Sievers wrote:
> > Hi,
> > the execution of udev depends on the proper fuction of udevd, the
> > serializing daemon. If we can't connect to udevd within a 20 second we
> > give up and the request to create a node is lost. Hope this never happens,
> > but a broken udevd may prevent udev from working.
> >
> > What do you think? Should we call the udev binary directly from udevsend
> > instead of discarding the event? This way we would create the node, regardless
> > of the state of udevd. It would be 20 seconds later and maybe not in the right
> > sequence order - but the node will propably be there.
> >
> > Does it sound sane? What do you think?
> That sounds like a good "failsafe" thing to do.

Here we go:

Add a fallback udev call to udevsend. If udevsend is unable to send the
event to udevd, we call the udev binary instead of doing nothing and exiting.

16 years ago[PATCH] add volume_id support to the udev.spec file [Sat, 15 May 2004 06:08:04 +0000 (23:08 -0700)]
[PATCH] add volume_id support to the udev.spec file

16 years ago[PATCH] remove dbus and selinux stuff from the udev.spec file. [Sat, 15 May 2004 06:05:05 +0000 (23:05 -0700)]
[PATCH] remove dbus and selinux stuff from the udev.spec file.

16 years ago[PATCH] delete udev_selinux as it doesn't work properly and is the wrong way to do... [Sat, 15 May 2004 06:03:50 +0000 (23:03 -0700)]
[PATCH] delete udev_selinux as it doesn't work properly and is the wrong way to do it...

16 years ago[PATCH] Deleted the udev_dbus extra as it didn't really work properly and HAL has... [Sat, 15 May 2004 06:03:15 +0000 (23:03 -0700)]
[PATCH] Deleted the udev_dbus extra as it didn't really work properly and HAL has a real solution now.

16 years ago[PATCH] udev_volume_id update [Wed, 12 May 2004 07:52:52 +0000 (00:52 -0700)]
[PATCH] udev_volume_id update

Here is a update to extras/volume_id/*

o The device is now specified by the DEVPATH in the environment,
  it's no longer needed to pass the major/minor to the callout.

o leading spaces and slashes are now removed from the returned string
  and spaces are replaced by underscore, to not to confuse udev.

o Arnd Bergmann <> provided the code to recognize s390
  dasd disk labels. The -d switch tries to read the main block device
  instead of the partition.

16 years ago[PATCH] add udev.permissions.slackware file. [Thu, 6 May 2004 05:32:05 +0000 (22:32 -0700)]
[PATCH] add udev.permissions.slackware file.

From Lucas de Souza Santos <>

16 years ago[PATCH] udev callout for reading filesystem labels [Thu, 6 May 2004 05:21:48 +0000 (22:21 -0700)]
[PATCH] udev callout for reading filesystem labels

On Fri, Apr 30, 2004 at 03:29:54PM -0700, Greg KH wrote:
> On Thu, Apr 29, 2004 at 11:04:46PM +0200, Kay Sievers wrote:
> > Hi,
> > here is a small udev toy, which enables udev to name partitions by
> > its filesystem label or uuid's.
> >
> > The following udev rule:
> >
> >   KERNEL="sd*", PROGRAM="/sbin/udev_volume_id -M%M -m%m -u", SYMLINK="%c"
> >
> > creates a symlink with the uuid read from the filesystem. If no label or
> > uuid is found the program exits with nonzero and the rule will fail.
> >
> > ext2, ext3, reiserfs, xfs, jfs, vfat, msdos volume labels are supported,
> > ntfs and swap partitions can be recognized.
> >
> > It's possible to compile with klibc and the static binary takes 13kb.
> Very nice, I was wondering who was going to use that library to make
> such a tool.  This is even better as we can use klibc for it.

Here is a update, which supports iso9660 and udf labels.
Not very useful in the udev case, but I've added it for hal,
so we just catch up with the latest version.

16 years ago[PATCH] udev callout for reading filesystem labels [Sat, 1 May 2004 06:26:33 +0000 (23:26 -0700)]
[PATCH] udev callout for reading filesystem labels

here is a small udev toy, which enables udev to name partitions by
its filesystem label or uuid's.

The following udev rule:

  KERNEL="sd*", PROGRAM="/sbin/udev_volume_id -M%M -m%m -u", SYMLINK="%c"

creates a symlink with the uuid read from the filesystem. If no label or
uuid is found the program exits with nonzero and the rule will fail.

ext2, ext3, reiserfs, xfs, jfs, vfat, msdos volume labels are supported,
ntfs and swap partitions can be recognized.

It's possible to compile with klibc and the static binary takes 13kb.

16 years ago[PATCH] udevstart: close open directories. [Sat, 24 Apr 2004 04:55:57 +0000 (21:55 -0700)]
[PATCH] udevstart: close open directories.

Based on a munged patch from Olaf Hering <>

16 years ago[PATCH] udev default config layout changes [Sat, 24 Apr 2004 04:50:27 +0000 (21:50 -0700)]
[PATCH] udev default config layout changes

Here we catch up, after the default config changes.

o the man page is updated to reflect the new default config

o /etc/udev/rules.d/ + permissions.d/ dirs are created now

o udev.rules is installed in /etc/udev/rules.d/50-udev.rules
  so the user can easily order the files by prepending a number.
  (RedHat has the same name in the last rpm.)

o defined directory names in the Makefile are all without slashes now,
  not the first half with and the remaining without.

o all binaries are uninstalled now

o leading slashes in config values are now removed or prepended while the
  config is parsed, so we are more robust if the usere changes something.

o replaced the macros from udev_config.c with real code, cause we can
  skip if the value matches and not useless iterate over the remaining

o config parsing errors are logged with info() now, fixes the bug where
  we report a error with debug_parse(), even when there isn't one

16 years ago[PATCH] v025 release 025 [Thu, 22 Apr 2004 05:31:17 +0000 (22:31 -0700)]
[PATCH] v025 release

16 years ago[PATCH] make dev.d call each directory in the directory chain of the device name... [Thu, 22 Apr 2004 03:24:51 +0000 (20:24 -0700)]
[PATCH] make dev.d call each directory in the directory chain of the device name, instead of just the whole name.

This lets /etc/dev.d/sound/ work better.

16 years ago[PATCH] add devd_test script. [Thu, 22 Apr 2004 03:23:47 +0000 (20:23 -0700)]
[PATCH] add devd_test script.

16 years ago[PATCH] add more permissions based on SuSE's recommendations. [Thu, 22 Apr 2004 00:53:52 +0000 (17:53 -0700)]
[PATCH] add more permissions based on SuSE's recommendations.

16 years ago[PATCH] gcov for udev [Thu, 22 Apr 2004 00:49:49 +0000 (17:49 -0700)]
[PATCH] gcov for udev

Sorry for the late email regarding the gcov code coverage information
for udev.  For those of you who have not yet noticed, udev can now be
compiled with gcov support and provide code coverage analysis.  All
pertinent scripts and information can be found in the udev tree.  Please
refer to "README-gcov_for_udev" for detailed information on compiling
gcov into udev and obtaining code coverage analysis.  I've enclosed a
patch that updates the README-gcov_for_udev.  Also, "" in
udev/test/ was expanded to test symlinks, permissions, and some lack of
node creation a little more thoroughly.  All comments and feedback would
be greatly welcomed.  Also, any extra testing would be appreciated.

16 years ago[PATCH] fix test regressions [Thu, 22 Apr 2004 00:49:44 +0000 (17:49 -0700)]
[PATCH] fix test regressions

On Sat, Apr 17, 2004 at 03:30:29AM +0200, Kay Sievers wrote:
> On Sat, Apr 17, 2004 at 02:04:55AM +0200, Kay Sievers wrote:
> > On Fri, Apr 16, 2004 at 04:04:42PM -0700, Greg KH wrote:
> > > Oh, and if you run the latest, we have a bunch more tests,
> > > including a few that fail, if you were looking for something to do :)
> >
> > Will do it. We need to change apply_format(). I tries to expand the '%%'
> > with the next iteration over the string and removes the '%'.

The tests are all successful now.
If this patch breaks something else, we simply have too few tests :)

16 years ago[PATCH] added rules for tun and raw devices [Thu, 22 Apr 2004 00:43:17 +0000 (17:43 -0700)]
[PATCH] added rules for tun and raw devices

16 years ago[PATCH] add udev conf.d file. [Sat, 17 Apr 2004 07:29:36 +0000 (00:29 -0700)]
[PATCH] add udev conf.d file.

16 years ago[PATCH] Switch the default config to point to a directory for the rules and permissio... [Sat, 17 Apr 2004 07:25:46 +0000 (00:25 -0700)]
[PATCH] Switch the default config to point to a directory for the rules and permission files.

16 years ago[PATCH] update the Red Hat .dev files to work on other distros [Sat, 17 Apr 2004 07:25:20 +0000 (00:25 -0700)]
[PATCH] update the Red Hat .dev files to work on other distros

16 years ago[PATCH] add, and files for /etc/dev.d/default... [Sat, 17 Apr 2004 07:23:17 +0000 (00:23 -0700)]
[PATCH] add, and files for /etc/dev.d/default/ usage

Thanks to Red Hat for them.

16 years ago[PATCH] add hints for red hat users from Leann Ogasawara <> [Sat, 17 Apr 2004 07:09:32 +0000 (00:09 -0700)]
[PATCH] add hints for red hat users from Leann Ogasawara <>

16 years ago[PATCH] add scripts to run gcov for udev from Leann Ogasawara <> [Sat, 17 Apr 2004 07:09:17 +0000 (00:09 -0700)]
[PATCH] add scripts to run gcov for udev from Leann Ogasawara <>

16 years ago[PATCH] udev_selinux changes [Sat, 17 Apr 2004 06:58:27 +0000 (23:58 -0700)]
[PATCH] udev_selinux changes

Here is the fix for extras/seliux/*
 o install the binary in /sbin/
 o add symlink to /etc/dev.d/ with suffix .dev
 o removed the undefined udev_log variable
 o fixed compiler warnings

16 years ago[PATCH] Update writing udev rules docs [Sat, 17 Apr 2004 06:58:08 +0000 (23:58 -0700)]
[PATCH] Update writing udev rules docs

Here's an update for the writing udev rules document.
- Minor corrections/clarifications
- Added info about using NAME{all_partitions}
- Added more info about udevinfo, simplifying the rule-writing process

You can ignore the diff I sent you yesterday - according to the 20040415 bk
snapshot on, you haven't applied it yet. This patch
incorporates that update, and some other changes I just made.