Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-11-12 | reserve child slot 0 | Kay Sievers | |
2008-11-12 | string index - split nodes and childs to allow and unlimited number of childs | Kay Sievers | |
2008-11-11 | silence "comparison between signed and unsigned" | Kay Sievers | |
2008-11-11 | udevd: de-duplicate strings in rules | Alan Jenkins | |
On my Ubuntu installation this removes 15k of duplicate strings, using a temporary index of about 25k. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> | |||
2008-11-07 | convert debug string arrays to functions | Kay Sievers | |
On Fri, Nov 7, 2008 at 13:07, Matthias Schwarzott <zzam@gentoo.org> wrote: > I managed to let udev-131 segfault at startup. > > I configured it like this: > CFLAGS="-Wall -ggdb" ./configure --prefix=/usr --sysconfdir=/etc --exec-prefix= > > Running it in gdb shows it segfaults at udev-rules.c:831 > > (gdb) run > Starting program: /tmp/udev-131/udev/udevd > > Program received signal SIGSEGV, Segmentation fault. > 0x0804ea06 in get_key (udev=0x9175008, line=0xafcdc8f0, key=0xafcdc5d8, > op=0xafcdc5d0, value=0xafcdc5d4) > at udev-rules.c:831 > 831 dbg(udev, "%s '%s'-'%s'\n", operation_str[*op], *key, *value); If compiled without optimization, the dbg() macro dereferences variables which are not available. Convert the string array to a function, which just returns NULL if compiled without DEBUG. | |||
2008-11-07 | fix size_t compiler warning on 32 bit platforms | Kay Sievers | |
2008-11-06 | udevadm: settle - exit if udevd exits | Kay Sievers | |
2008-11-06 | cleanup /dev/.udev/queue on startup and exit | Kay Sievers | |
2008-11-06 | fix indentation | Kay Sievers | |
2008-11-05 | udevd: shrink struct token to 12 bytes | Alan Jenkins | |
2008-11-05 | $links should be relative | Kay Sievers | |
2008-11-05 | unify string replacement | Kay Sievers | |
2008-11-05 | do not import the "uevent" file when we only read the db to get old symlinks | Kay Sievers | |
2008-11-05 | fix cleanup of possible left-over symlinks | Kay Sievers | |
2008-11-05 | fix $links substitution | Kay Sievers | |
2008-11-05 | info() PROGRAM and IMPORT execution | Kay Sievers | |
2008-11-04 | fix list handling in enumerate and rules file sorting | Kay Sievers | |
2008-11-01 | move debugging strings inside #ifdef DEBUG | Kay Sievers | |
2008-11-01 | move some info() to dbg() | Kay Sievers | |
2008-11-01 | fix udev_node_update_old_links() logic | Kay Sievers | |
No need to check if links that still belong to us, need to be updated. | |||
2008-11-01 | skip entire rule containing device naming keys, if no device can be named | Kay Sievers | |
If rules set NAME, SYMLINK, OWNER, GROUP, MODE, events without a device node and remove events will skip the entire rule. The old parser did the same. | |||
2008-11-01 | log rules file and line number when NAME, SYMLINK, OWNER, GROUP, MODE, RUN ↵ | Kay Sievers | |
is applied | |||
2008-11-01 | udevd: be more careful when matching against parents | Alan Jenkins | |
I'm worried about what will happen with things like KERNELS=="*" # pointless rule KERNELS=="doesnt-match" # another pointless rule Since TK_RULE < TK_M_PARENTS_MAX, we will try to match all three tokens against parents of the current device. I can't think of a bad case, but it's not exactly good either. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> | |||
2008-11-01 | udevd: fix termination of rule execution | Alan Jenkins | |
LAST_RULE was broken, and I broke TK_END by making it do the same. It used a "break" which exited the switch statement, but not the loop! ==2953== Invalid read of size 4 ==2953== at 0x4081EE: dump_token (udev-rules.c:859) ==2953== by 0x40BADB: udev_rules_apply_to_event (udev-rules.c:1849) ==2953== by 0x403F17: udev_event_execute_rules (udev-event.c:554) ==2953== by 0x418626: main (test-udev.c:100) ==2953== Address 0x55ab1f8 is 0 bytes after a block of size 80 alloc'd ==2953== at 0x4C23082: realloc (vg_replace_malloc.c:429) ==2953== by 0x40B13B: udev_rules_new (udev-rules.c:1670) ==2953== by 0x418536: main (test-udev.c:84) ... Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> | |||
2008-10-31 | write trace log to stderr | Kay Sievers | |
2008-10-29 | ATTR{}== always fails if the attribute does not exist | Kay Sievers | |
2008-10-29 | udevd: merge exec and run queue to minimize devpath string compares | Kay Sievers | |
2008-10-28 | udevd: simplify rules execution loop | Alan Jenkins | |
cur can't become NULL, and the check for TK_END can be folded into the switch statement. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> | |||
2008-10-26 | kerneldoc comment fixes | Alan Jenkins | |
s/ressources/resources/ Also reduce commas per sentence and add a possessive apostrophe. | |||
2008-10-26 | libudev: device - allocate envp array only once | Kay Sievers | |
2008-10-26 | test: add RUN+="socket: ..." to a test to run monitor code | Kay Sievers | |
2008-10-26 | libudev: device - fill envp array while composing monitor buffer | Kay Sievers | |
Thanks to Alan Jenkins, for the idea. | |||
2008-10-26 | fix $attr{[<subsystem>/<sysname>]<attribute>} substitution | Kay Sievers | |
2008-10-26 | do not init string arrays, just clear first byte | Kay Sievers | |
2008-10-26 | match_attr() - copy attr value only when needed | Kay Sievers | |
2008-10-26 | udevd: avoid implicit memset in match_attr() | Alan Jenkins | |
Initializing a char array to "" is equivalent to a memset() call - which is exactly what it gets compiled to. Fixing this one callsite reduced memset() _user_ cpu cycles from 2-4% to 0.05% on the EeePC. Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> | |||
2008-10-25 | udevd: use a tighter loop for compare_devpath() | Alan Jenkins | |
This crops up in my threaded udevd profiles from time to time. It's not consistent - probably due to variations in the number of concurrent events - but it can hit 4% user time and higher. The change halves the user time spent in compare_devpath(). Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> | |||
2008-10-25 | fix handling of string_escape option | Alan Jenkins | |
2008-10-25 | match KEY="A|B" without temporary string copy | Kay Sievers | |
2008-10-24 | remove debug printf | Kay Sievers | |
2008-10-24 | fix "unused" warnings | Kay Sievers | |
2008-10-24 | libudev: monitor - cache result of monitor send buffer | Kay Sievers | |
2008-10-24 | libudev: monitor - replace far too expensive snprintf() with strlcpy() | Kay Sievers | |
2008-10-24 | special-case "?*" match to skip fnmatch() | Kay Sievers | |
2008-10-24 | determine at rule parse time if we need to call fnmatch() | Kay Sievers | |
This cuts down the large rule set's 120.000 calls to fnmatch() to 51.000, and we can just call strcmp for the simple matches. | |||
2008-10-24 | distinguish "match" from "assign" by (op < OP_MATCH_MAX) | Kay Sievers | |
2008-10-24 | cache uid/gid during rule parsing | Kay Sievers | |
This cuts down the number of parsing /etc/group from ~700 to 11, with some large rule files installed. | |||
2008-10-24 | fix uninitialized variable warnings | Kay Sievers | |
2008-10-24 | rules: let empty strings added to buffer always return offset 0 | Kay Sievers | |
2008-10-23 | skip SYMLINK rules for devices without a device node | Kay Sievers | |