Commit Graph
10875 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 64144440a5 sd-daemon: simplify sd_pid_notify_with_fds
Coverity was complaining that CMSG_NXTHDR is used without
checking the return value. In this case it cannot fail, but
it is a good excuse to simplify the function a bit.

CID #1261726.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 24bfda116c udev: properly calculate size of remaining data
The data comes from the kernel, so chances of it being
garbled are low, but for correctness' sake, add the check.

CID #996458.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 9116b40692 test-dhcp-option: conform to usual coding style 2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 0915fda60a test-dhcp-option: add assert to check index is nonnegative
CID #1237623.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek d6483ba783 core: check asprintf return value
CID #1261729.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek e64d523579 core: print warning on invalid swap pri= field
CID #1264371.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 8fa158e79d core: one more (void)
CID #996308.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 2bf105232f logind: explicitly ignore errors we can do nothing about
CID #1237545.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek d3839740fa bus: explicitly ignore failure during error handling
CID #1237548.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 42b1b9907d core: explicitly ignore failure during cleanup
CID #1237550.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek cd972d6911 core: don't wait for reply if writing to pipe fails
This shouldn't really happen, but it's seems cleaner to
continue on error.

CID #1237552.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 3164e3cbc5 core: either ignore or handle mount failures
/dev/pts/ptmx is as important as /dev/pts, so error out if that
fails. Others seem less important, since the namespace is usable
without them, so ignore failures.

CID #123755, #123754.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek dc75168823 Use space after a silencing (void)
We were using a space more often than not, and this way is
codified in CODING_STYLE.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 2ae56591b5 core: ignore any issues with setting time on jobs_in_progress_event_source
CID #1237559.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek d448c7927a sd-resolve: use different element of union to make code more readable
They both point to the same location, but the reader
is not forced to look back to the beginning of the function
to see that.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 39d0fd9c0c journal-remote: explain why source->buf cannot be null
In reference to CID #1238956.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 012d7b4217 Check that EWOULDBLOCK is the same as EAGAIN
It certainly is everywhere on Linux, but as a courtesy
to people doing some strange cross-compilation, check
that the assumption holds.
2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek be7e1319ea journal-remote: make process_data static 2015-03-13 23:42:17 -04:00
Zbigniew Jędrzejewski-Szmek 48861960ac nspawn: tell coverity that we ignore return value
CID #1271353.
2015-03-13 23:42:16 -04:00
Zbigniew Jędrzejewski-Szmek a0b1209c4a gpt-auto-generator: allow type check to fail
add_mount() is OK with unknow file type, but we have to initalize
the variable to NULL not to pass garbage on error.
2015-03-13 23:42:16 -04:00
Zbigniew Jędrzejewski-Szmek 7c5925a448 efi: widen operand to avoid overflow
CID #1287141.
2015-03-13 23:42:16 -04:00
Zbigniew Jędrzejewski-Szmek 9fff898181 core: issue error on oom we can do nothing about
CID #1287142.
2015-03-13 23:42:16 -04:00
Zbigniew Jędrzejewski-Szmek d357562c48 µhttp-util: setup gnutls logs in one function 2015-03-13 23:42:16 -04:00
Tom Gundersen 1b14c3cfbe udev: make set_usec_initialized() internal to libudev
Instead introduce ensure_usec_initialized(), which copies the timestamp if possible otherwise
sets it to now(CLOCK_MONOTONIC).
2015-03-13 18:47:07 +01:00
Tom Gundersen 0964dcd772 sd-rtnl: read_message - don't set group if not needed 2015-03-13 16:15:03 +01:00
Tom Gundersen f436aa11f7 sd-rtnl: process - only apply matches to broadcast messages 2015-03-13 16:13:24 +01:00
Tom Gundersen 3f42446d28 sd-rtnl: improve detection of broadcast messages
Do not rely on nl_pid == 0, but check the groups instead. We currently avoid using
nl_pid == 0 for unicast anyway, so this should be redundant, but let's try to be
correct.
2015-03-13 16:12:57 +01:00
Tom Gundersen 913b0eef1a sd-rtnl: never set serial to 0
In the unlikely event that we wrap the counter, skip 0 as this is used
for broadcasts.

Suggested by Richard Maw.
2015-03-13 15:56:08 +01:00
David Herrmann 15411c0cb1 tree-wide: there is no ENOTSUP on linux
Replace ENOTSUP by EOPNOTSUPP as this is what linux actually uses.
2015-03-13 14:10:39 +01:00
David Herrmann 32a568fb90 bus: stop using EDEADLOCK
The error code is called EDEADLK, stop using legacy names like EDEADLOCK.
Note that _some_ weird architectures define them differently (namely, mips
and sparc), but on all sane architectures they're exactly the same. So
stay with the widely used code, which is EDEADLK.
2015-03-13 14:10:39 +01:00
David Herrmann ff55c3c732 journal-remote: stop using EWOULDBLOCK
There is no reason to ever use EWOULDBLOCK. It's equivalent to EAGAIN on
all architectures on linux.
2015-03-13 14:10:35 +01:00
David Herrmann ca2031fcc8 udev: dont use EWOULDBLOCK
EWOULDBLOCK is the same as EAGAIN, stop using it.
2015-03-13 14:09:55 +01:00
Mathieu Chevrier d736e4f3e7 gpt-auto-generator: fix detection of /srv
https://bugs.freedesktop.org/show_bug.cgi?id=89226
2015-03-13 00:36:02 -04:00
Zbigniew Jędrzejewski-Szmek a2360a467b sd-event: fix typo 2015-03-13 00:26:02 -04:00
Zbigniew Jędrzejewski-Szmek 043945b938 journal-remote: process events without delay
journal-remote buffers input, and then parses it handling one journal entry at a time.
It was possible for useful data to be left in the buffer after some entries were
processesed. But all data would be already read from the fd, so there would be
no reason for the event loop to call the handler again. After some new data came in,
the handler would be called again, and would then process the "old" data in the buffer.

Fix this by enabling a handler wherever we process input data and do not exhaust data
from the input buffer (i.e. when EAGAIN was not encountered). The handler runs until
we encounter EAGAIN.

Looping over the input data is done in this roundabout way to allow the event loop
to dispatch other events in the meanwhile. If the loop was inside the handler, a
source which produced data fast enough could completely monopolize the process.

https://bugs.freedesktop.org/show_bug.cgi?id=89516
2015-03-13 00:26:02 -04:00
Zbigniew Jędrzejewski-Szmek f53f7c8fc4 journal-remote: check also for EWOULDBLOCK
This matches similar code elsewhere.
2015-03-13 00:26:02 -04:00
Zbigniew Jędrzejewski-Szmek 0e72da6fe8 journal-remote: downgrade routine messages to debug
https://bugs.freedesktop.org/show_bug.cgi?id=89486
2015-03-13 00:26:02 -04:00
Zbigniew Jędrzejewski-Szmek c066b4746b sd-pppoe: workaround for incomplete include in old kernels 2015-03-12 20:50:08 -04:00
Richard Maw d422e52a35 networkd: Begin with serial number 1 for netlink requests
"Notifications are of informal nature and no reply is expected, therefore the
sequence number is typically set to 0."[1]

If networkd is started soon after recent netlink activity, then there
will be messages with sequence number 0 in the buffer.

The first thing networkd does is to request a dump of all the links. If
it uses sequence number 0 for this, then it may confuse the dump request's
response with that of a notification.

This will result in it failing to properly enumerate all the links,
but more importantly, when it comes to enumerate all the addresses, it
will still have the link dump in progress, so the address enumeration
will fail with -EBUSY.

[1]: http://www.infradead.org/~tgr/libnl/doc/core.html#core_msg_types

[tomegun: sequence -> serial]
2015-03-12 19:34:35 +01:00
Tom Gundersen 103635db51 core: add missing words to my fix of explanation of associativity 2015-03-12 12:23:59 +01:00
Tom Gundersen 6969c349df udevd: improve handling of failed worker
The information in the db is stale, so it does not make sense to
expose it any longer. Also, don't drop the kernel event, but simply
pass it on to userspace without ammending it.
2015-03-12 12:03:50 +01:00
Tom Gundersen 090b6bc520 udevd: don't free event when killing the worker, wait until it has been reaped
This will allow us to clean up the device when we are notified about the worker being killed.
2015-03-12 12:03:50 +01:00
Tom Gundersen 8f0f13f045 libudev: introduce clone_with_db()
This allows us to move the db reading from udevd to libudev.
2015-03-12 12:03:50 +01:00
Tom Gundersen a4445e88ce libudev: monitor - fix error path in send_device
Return -errno rather than -1 in case sendmsg() fails.
2015-03-12 12:03:50 +01:00
Tom Gundersen 3c0bab4aaf udevd: event - make db loading lazy in REMOVE event handling
We were explicitly eagerly loading the db, then deletenig the backing file and then processing the
rules/symlinks. Instead we delete the backnig db file as the last step and let the db loading be
lazy as everywhere else.

This may save us a bit of work in casese where the db is not needed, but more importantly it hides
some implementation details of libudev-device form udevd.
2015-03-12 12:03:50 +01:00
Tom Gundersen 1cd0a77022 libudev: introduce udev_device_properties_copy()
To copy properties from one device to another. Drop the equivalent functionality from udevd.
2015-03-12 11:59:04 +01:00
Kay Sievers 4db7e6d781 boot: efi - add config option to disable the command line editor 2015-03-11 23:33:53 +01:00
Umut Tezduyar Lindskog 510c4a0f1e cgtop: fix assert when not on tty
systemd-cgtop --dept=1 -b -n 10 -d 0.1 | cat

Assertion 'new_length >= 3' failed at src/shared/util.c:3 \
595, function ellipsize_mem(). Aborting.
Aborted (core dumped)

(David: add comment)
2015-03-11 16:59:53 +01:00
David Herrmann f5b51ea7fc core: fix cgroups-agent match for kdbus
On kdbus, we get cgroups-agent messages via the system bus, not the
private systemd socket. Therefore, we must install the match properly or
we will never receive cgroup notifications.
2015-03-11 16:36:41 +01:00
David Herrmann 39881ed299 core: rewind message before forwarding it
Forwarding messages that are not rewinded will drop data. Fix this for
cgroups-agent messages that we might remarshal before forwarding to the
system bus.
2015-03-11 16:36:41 +01:00