summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-10-31man: change systemd-udev to udev everywhereAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31man: ship pre-build man pagesAnthony G. Basile
This addresses https://github.com/gentoo/eudev/issues/98 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31src/shared/sparse-endian.h: cosmetic changeAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31src/udev/udev-node.c: fix selinux labelAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31rules/50-firmware.rules: remove firmware rulesAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31hashmap: rewrite the implementationMichal Schmidt
We reintroduce hashmap.{h,c}, list.h and set.h verbatim from upstream, before we punt dead code. The following is the upstream message: This is a rewrite of the hashmap implementation. Its advantage is lower memory usage. It uses open addressing (entries are stored in an array, as opposed to linked lists). Hash collisions are resolved with linear probing and Robin Hood displacement policy. See the references in hashmap.c. Some fun empirical findings about hashmap usage in systemd on my laptop: - 98 % of allocated hashmaps are Sets. - Sets contain 78 % of all entries, plain Hashmaps 17 %, and OrderedHashmaps 5 %. - 60 % of allocated hashmaps contain only 1 entry. - 90 % of allocated hashmaps contain 5 or fewer entries. - 75 % of all entries are in hashmaps that use trivial_hash_ops. Clearly it makes sense to: - store entries in distinct entry types. Especially for Sets - their entries are the most numerous and they require the least information to store an entry. - have a way to store small numbers of entries directly in the hashmap structs, and only allocate the usual entry arrays when the direct storage is full. The implementation has an optional debugging feature (enabled by defining the ENABLE_HASHMAP_DEBUG macro), where it: - tracks all allocated hashmaps in a linked list so that one can easily find them in gdb, - tracks which function/line allocated a given hashmap, and - checks for invalid mixing of hashmap iteration and modification. Since entries are not allocated one-by-one anymore, mempools are not used for entries. Originally I meant to drop mempools entirely, but it's still worth it to use them for the hashmap structs. My testing indicates that it makes loading of units about 5 % faster (a test with 10000 units where more than 200000 hashmaps are allocated - pure malloc: 449±4 ms, mempools: 427±7 ms). Here are some memory usage numbers, taken on my laptop with a more or less normal Fedora setup after booting with SELinux disabled (SELinux increases systemd's memory usage significantly): systemd (PID 1) Original New Change dirty memory (from pmap -x 1) [KiB] 2152 1264 -41 % total heap allocations (from gdb-heap) [KiB] 1623 756 -53 % Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31mempool: add a zeroing alloc functionMichal Schmidt
Add mempool_alloc0_tile(). It's like mempool_alloc_tile(), but it initializes the allocated tile's memory to zero. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31util: don't block on getrandom()Lennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31missing.h: fix wrong __NR_getrandom syscall defDave Reisner
278 is vmsplice on x86_64. 318 is what we want: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/x86/syscalls/syscall_64.tbl Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31util: make use of the new getrandom() syscall if it is available when ↵Lennart Poettering
needing entropy Doesn't require an fd, and could be a bit faster, so let's make use of it, if it is available. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-31keymap: Ignore brightness keys on Dell Inspiron 1520 to avoid double eventsHans de Goede
On the Dell Inspiron 1520 both the atkbd and acpi-video input devices report an event for pressing the brightness up / down key-combos, resulting in user space seeing double events and increasing / decreasing the brightness 2 steps for each keypress. This hwdb snippet suppresses the atkbd events, making the Inspiron 1520 work like most modern laptops which emit brightness up / down events through acpi-video only. Reported by Pavel Malyshev <p.malishev@gmail.com> https://bugzilla.redhat.com/show_bug.cgi?id=1141525 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-30man/udev.xml: update man pageAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-30util: unify how we see srand()Lennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-30udev: path_id - update commentsKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-29configure.ac: bump 2.1.1 = upstream 217eudev/v2.1.1Anthony G. Basile
Release for bug fix on musl. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-28src/shared/selinux-util.h: add missing include <fcntl.h>Anthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-28configure.ac: bump 2.1 = upstream 217eudev/v2.1Anthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-28cdrom_id: do not attempt to read past end of bufferZbigniew Jędrzejewski-Szmek
CID #1238437 Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-28udev: path_id - set supported_parent for well-known SCSI setupsKay Sievers
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-28Skip "udev hwdb: Support shipping pre-compiled database"Anthony G. Basile
We skip upstream commit 33488f19793dc0a86fdee27266c5319b5b78d695 because it breaks from our standard for where we put the hwdb.bin. We may have to revisit this issue in the future. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-26src/shared/mkdir-label.c: move and rename mkdir_label()Anthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-26src/shared/label.c: move and rename symlink_label()Anthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-26src/shared/virt.c: add docker to container namespaceAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-26src/shared/selinux-util.c: add path_is_absolute() checkAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-26label: move is_dir() to util.cLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25src/udev/udevd.c: rename apis again in static_dev_create_from_modules()Anthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25label: don't try to create labelled directories more than onceLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25selinux: clean up selinux label function namingLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25selinux: simplify and unify loggingLennart Poettering
Normally we shouldn#t log from "library" functions, but SELinux is weird, hence upgrade security messages uniformly to LOG_ERR when in enforcing mode. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25selinux: rework label query APIsLennart Poettering
APIs that query and return something cannot silently fail, they must either return something useful, or an error. Fix that. Also, properly rollback socket unit fd creation when something goes wrong with the security framework. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25smack: we don't need the special labels exported, hence don'tLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25selinux: drop 3 unused function prototypesLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25smack: rework SMACK label fixing code to follow more closely the semantics ↵Lennart Poettering
of the matching selinux code Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25smack: never follow symlinks when relabellingLennart Poettering
previously mac_smack_apply(path, NULL) would operate on the symlink itself while mac_smack_apply(path, "foo") would follow the symlink. Let's clean this up an always operate on the symlink, which appears to be the safer option. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25smack: rework smack APIs a bitLennart Poettering
a) always return negative errno error codes b) always become a noop if smack is off c) always take a NULL label as a request to remove it Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25mac: rename all calls that apply a label mac_{selinux|smack}_apply_xyz(), ↵Lennart Poettering
and all that reset it to defaults mac_{selinux|smack}_fix() Let's clean up the naming schemes a bit and use the same one for SMACK and for SELINUX. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25selinux: make use of cleanup gcc magicLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25hashmap: introduce hashmap_reserve()Michal Schmidt
With the current hashmap implementation that uses chaining, placing a reservation can serve two purposes: - To optimize putting of entries if the number of entries to put is known. The reservation allocates buckets, so later resizing can be avoided. - To avoid having very long bucket chains after using hashmap_move(_one). In an alternative hashmap implementation it will serve an additional purpose: - To guarantee a subsequent hashmap_move(_one) will not fail with -ENOMEM (this never happens in the current implementation). Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25hashmap: return more information from resize_buckets()Michal Schmidt
Return 0 if no resize was needed, 1 if successfully resized and negative on error. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25shared: split mempool implementation from hashmapsMichal Schmidt
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25time: don't do comparison twiceLennart Poettering
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25mac: also rename use_{smack,selinux,apparmor}() calls so that they share the ↵Lennart Poettering
new mac_{smack,selinux,apparmor}_xyz() convention Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25src/udev/udevd.c: rename apis in static_dev_create_from_modules() alsoAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25mac: rename apis with mac_{selinux/smack}_ prefixWaLyong Cho
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25src/shared/util.h: import realloc_multiply() from upstreamAnthony G. Basile
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25label: rearrange mandatory access control(MAC) apisWaLyong Cho
move label apis to selinux-util.ch or smack-util.ch appropriately. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25shared/log: add log_trace as compile-time optional debuggingZbigniew Jędrzejewski-Szmek
Repetetive messages can be annoying when running with SYSTEMD_LOG_LEVEL=debug, but they are sometimes very useful when debugging problems. Add log_trace which is like log_debug but becomes a noop unless LOG_TRACE is defined during compilation. This makes it easy to enable very verbose logging for a subset of programs when compiling from source. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25man: make udev.event-timeout more visibleZbigniew Jędrzejewski-Szmek
Evidently some people had trouble finding it in the documentation. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-25hwdb: Add mapping for special keys on compaq ku 0133 keyboardsHans de Goede
The compaq ku 0133 keyboard has 8 special keys at the top: http://lackof.org/taggart/hacking/keyboard/cpqwireless.jpg 3 of these use standard HID usage codes from the consumer page, the 5 others use part of the reserved 0x07 - 0x1f range. This commit adds mapping for this keyboard for these reserved codes, making the other 5 keys work. Cc: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
2014-10-22strv: add an additional overflow check when enlarging strv()sLennart Poettering
https://bugs.freedesktop.org/show_bug.cgi?id=76745 This also adds: strv: use realloc_multiply() to check for multiplication overflow by Michal Schmidt <mschmidt@redhat.com> This could overflow on 32bit, where size_t is the same as unsigned. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>