1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-04 22:21:55 +03:00
Commit Graph

11188 Commits

Author SHA1 Message Date
Lennart Poettering
974efc4658 cgroup: always keep access mode of 'tasks' and 'cgroup.procs' files in cgroup directories in sync 2013-04-08 18:22:47 +02:00
Marc-Antoine Perennou
d82d87dac1 kernel-install: don't make unused parameter mandatory
We only use the image name in the case we're adding a kernel

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2013-04-08 17:00:04 +02:00
Kay Sievers
5666ea6fca TODO: update 2013-04-08 16:52:50 +02:00
Lennart Poettering
7120511888 journald: no need to free audit vars 2013-04-08 15:48:31 +02:00
Lennart Poettering
adb435bb70 journald: drop two more memory allocations 2013-04-08 15:48:31 +02:00
Lennart Poettering
a569398925 journald: get rid of one more memory allocation 2013-04-08 15:48:31 +02:00
Holger Hans Peter Freyther
c2457105d7 journald: Do not dynamically allocate _UID/_GID/_PID strings
Avoid the dynamic allocation for the _UID, _GID, and _PID strings.
The maximum size of the string can be determined at compile time.

The code has only been compile tested.
2013-04-08 15:35:03 +02:00
Holger Hans Peter Freyther
0a20e3c107 journald: Do not always record _AUDIT_SESSION and _AUDIT_LOGINUID
When systemd was compiled without audit support, do not collect the
audit session and loginuid in the journal. This is saving a couple of
syscalls and memory allocations per log message.
2013-04-08 15:30:04 +02:00
Holger Hans Peter Freyther
ab7d9b674e util: Avoid memory allocations for formatting paths
Avoid memory allocations to construct the path for files in the
procfs. The procfs paths are way shorter than the PATH_MAX so we
can use snprintf on a string located on the stack. This shows up
as a win on x86 using the benchmark program below.

$ make libsystemd-shared.la; gcc -O2 -Isrc/systemd/ -Isrc/ \
	-o simple-perf-test simple-perf-test.c \
	.libs/libsystemd-shared.a  -lrt

 #include "shared/util.h"
void test_once(void) {
	pid_t pid = getpid();
	char *tmp = NULL;

	get_process_comm(pid, &tmp);
	free(tmp);
	tmp = NULL;
	get_process_cmdline(pid, 0, 1, &tmp);
	free(tmp);
	is_kernel_thread(pid);
	tmp = NULL;
	get_process_exe(pid, &tmp);
	free(tmp);
}

int main(int argc, char **argv)
{
	int i;
	for (i = 0; i < 50000; ++i)
		test_once();
}
2013-04-08 15:26:32 +02:00
Lennart Poettering
b6b7d43379 update TODO 2013-04-08 15:23:52 +02:00
Lennart Poettering
62b95b8b40 cgtop: print absolute CPU times with format_timespan 2013-04-08 15:23:52 +02:00
Harald Hoyer
b3680f49e2 Do not serialize environment, when switching root
When switching root, i.e. LANG can be set to the locale of the initramfs
or "C", if it was unset. When systemd deserializes LANG in the real root
this would overwrite the setting previously gathered by locale_set().

To reproduce, boot with an initramfs without locale.conf or change
/etc/locale.conf to a different language than the initramfs and check a
daemon started by systemd:

$ tr "$\000" '\n' </proc/$(pidof sshd)/environ | grep LANG
LANG=C

To prevent that, serialization of environment variables is skipped, when
serializing for switching root.

https://bugzilla.redhat.com/show_bug.cgi?id=949525
2013-04-08 14:45:19 +02:00
Simon McVittie
9735bd12ab sd-daemon.c: allow use of -lrt to be avoided
In recent glibc, many commonly-used librt functions have moved
from librt to libc. This results in dbus' configure.ac
concluding that we don't need to link in librt. However,
sd-daemon.c needs it for mq_getattr(), causing the build
to fail.

dbus doesn't use POSIX message queues, so I'd prefer to be
able to avoid "if on Linux, link librt for sd-daemon.c".
2013-04-08 13:54:31 +02:00
Marius Vollmer
23e97f7d92 journal: Fix typo
This would break backwards skipping.

https://bugs.freedesktop.org/show_bug.cgi?id=63250
2013-04-08 11:08:38 +02:00
Steven Hiscocks
7c962c866a systemd-python: fix wait bug 2013-04-06 18:50:35 -04:00
Kay Sievers
2f9f5aa014 dbus-loop.c: fix variable initialization
Fix for:
  b92bea5d2a
Causing:
  systemd-logind[265]: Assertion 'd = event.data.ptr' failed at src/shared/dbus-loop.c:233, function bus_loop_dispatch(). Aborting.
2013-04-06 02:56:04 +02:00
Zbigniew Jędrzejewski-Szmek
245802dd89 Use _cleanup_ when reading config files 2013-04-05 20:00:55 -04:00
Zbigniew Jędrzejewski-Szmek
c84a948831 Add _cleanup_globfree_
Fixes a memleak in error path in exec_context_load_environment.
2013-04-05 19:58:53 -04:00
Zbigniew Jędrzejewski-Szmek
b92bea5d2a Use initalization instead of explicit zeroing
Before, we would initialize many fields twice: first
by filling the structure with zeros, and then a second
time with the real values. We can let the compiler do
the job for us, avoiding one copy.

A downside of this patch is that text gets slightly
bigger. This is because all zero() calls are effectively
inlined:

$ size build/.libs/systemd
         text    data     bss     dec     hex filename
before 897737  107300    2560 1007597   f5fed build/.libs/systemd
after  897873  107300    2560 1007733   f6075 build/.libs/systemd

… actually less than 1‰.

A few asserts that the parameter is not null had to be removed. I
don't think this changes much, because first, it is quite unlikely
for the assert to fail, and second, an immediate SEGV is almost as
good as an assert.
2013-04-05 19:50:57 -04:00
Zbigniew Jędrzejewski-Szmek
8c62ecf1a9 udevadm: do not free node on success
A fix for ff03aed06a.
2013-04-05 17:39:13 -04:00
Zbigniew Jędrzejewski-Szmek
bad490b051 udev-builtin-usb_id: avoid comparison of unsigned and ssize_t
For some reason this shows up on i686 only:
src/udev/udev-builtin-usb_id.c:192:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2013-04-05 17:39:02 -04:00
Lennart Poettering
5a8e9427a6 systemctl: tweak drop-in display
So far we didn't place spaces between the box drawing chars and the
values next to them. Let's be consistent here.

(Or to turn this around: if we really want to place a space there we
probably should do that in all our tree outputs, not just here...)
2013-04-05 20:19:54 +02:00
Lennart Poettering
45a4f72337 systemctl: tweak output of Listen: fields a bit
It's probably a good idea to minimize the number of field names to show
in the "systemctl status" output, in order to make them useful as a
guide for the reader how things are "grouped". This patch moves
information about the used socket technology to the end of the output
lines in brackets, rather than into the field names. This turns the used
socket technology into what it is -- peripheral meta information --
instead of something that was at the core.

New output:

systemd-journald.socket - Journal Socket
         Loaded: loaded (/usr/lib/systemd/system/systemd-journald.socket; static)
         Active: active (running) since Fr 2013-03-29 02:16:30 CET; 1 weeks 0 days ago
           Docs: man:systemd-journald.service(8)
                 man:journald.conf(5)
                 man:systemd-journald.service(8)
                 man:journald.conf(5)
         Listen: /run/systemd/journal/stdout (Stream)
                 /run/systemd/journal/socket (Datagram)
                 /dev/log (Datagram)
2013-04-05 20:12:39 +02:00
Oleksii Shevchuk
76d14b876a systemctl: Add DropIn paths to status message
$ systemctl status null.target
null.target - NYAN
   Loaded: loaded (/home/alxchk/.config/systemd/user/null.target; disabled)
  Drop-In: /home/alxchk/.config/systemd/user/null.target.d
           └─ descr.conf, install-1.conf, install.conf
           /etc/systemd/user/null.target.d
           └─ test.conf
   Active: active since Пт 2013-04-05 20:42:13 EEST; 1min 58s ago
2013-04-05 20:01:42 +02:00
Lennart Poettering
0c20f88d55 build-sys: libsystemd-daemon.so is no longer required for pam_systemd 2013-04-05 19:27:00 +02:00
Lennart Poettering
6f62868b56 build-sys: add new man pages to makefile 2013-04-05 19:26:20 +02:00
Lennart Poettering
2c4f86c129 logind: consider key inhibitors that are taken by non-session processes as global
This should allow system services to take over key handling for all
sessions, globally.
2013-04-05 18:57:58 +02:00
Martin Pitt
79d860fe78 PAM, uaccess: check for logind, not for systemd
It is possible to build systemd without logind or run logind without systemd
init. Commit 66e41181 fixed sd_booted() to only succeed for systemd init; with
that, testing for systemd init is wrong in the parts that talk to logind.

In particular, this affects the PAM module and the "uaccess" udev builtin.
Change sd_booted() to a new logind_running() which tests for
/run/systemd/seats/.

For details, see:
<https://mail.gnome.org/archives/desktop-devel-list/2013-March/msg00092.html>

https://bugs.freedesktop.org/show_bug.cgi?id=62754
2013-04-05 18:16:58 +02:00
Zbigniew Jędrzejewski-Szmek
9e542e0b3a shell-completion: work on session shell is --user is used
https://bugs.freedesktop.org/show_bug.cgi?id=61695
2013-04-05 11:44:01 -04:00
Zbigniew Jędrzejewski-Szmek
ac2b34e155 build-sys: use LN_S in Makefile.am
For consistency only. We're Linux only, so it really makes no
difference.

https://bugs.freedesktop.org/show_bug.cgi?id=63036
2013-04-05 11:43:46 -04:00
Lennart Poettering
b7f247e0be bus: various improvements for test-bus-chat 2013-04-05 14:56:48 +02:00
Lennart Poettering
d4100e2444 bus: convert a couple of calls over to new convenience functions 2013-04-05 14:56:48 +02:00
Lennart Poettering
f10dda3b82 bus: add convenience calls for method replies, too 2013-04-05 14:56:48 +02:00
Lennart Poettering
88d331d537 bus: when parsing signature strings, accept NULL as empty signature 2013-04-05 14:56:48 +02:00
Lennart Poettering
eba8617efc bus: make sure callback structs are always properly initialized 2013-04-05 14:56:48 +02:00
Michal Schmidt
2034ec42ec vconsole-setup: fix vconsole.conf vs. cmdline overriding logic
Skipping the parsing of /etc/vconsole.conf just because some values were
already assigned from the cmdline never made sense. And by the way, commit
f73141d changed the return values of parse_env_file() - it now gives 0
on success. Which means in current HEAD /etc/vconsole.conf overrides the
cmdline, which is the reverse of what's expected.

We need to parse /etc/vconsole.conf first and then let vconsole.*
overrides from cmdline take effect. The behaviour is documented in
vconsole.conf(5).

https://bugzilla.redhat.com/show_bug.cgi?id=948750
2013-04-05 13:46:47 +02:00
Lennart Poettering
c784c5ce77 bus: use C99 struct construction for error initializers
That way we can allocate an error struct on-the-fly while calling a
function. Nice!
2013-04-05 13:12:11 +02:00
Zbigniew Jędrzejewski-Szmek
1e64bbc156 test-strv: do not declare table to be sorted const
Segmentation fault under clang.
2013-04-05 00:31:59 -04:00
Zbigniew Jędrzejewski-Szmek
737563e4bb test-catalog,core/load-dropin: remove unused variables 2013-04-05 00:17:35 -04:00
Cristian Rodríguez
144e51eca2 journal: u64log2 can be expressed just as __builtin_clzll(n) ^ 63U 2013-04-05 00:17:35 -04:00
Zbigniew Jędrzejewski-Szmek
e8853816bf systemctl: align cgroups to 'n' in 'name='
Also drop ':' in repeated Docs lines.
2013-04-05 00:17:35 -04:00
Zbigniew Jędrzejewski-Szmek
54c7d1f454 sd-id128: check that the kernel is feeding us proper data
The characters are already checked, so we show that
we don't trust the kernel. Make sure we don't overrun
the buffer too.
2013-04-05 00:17:35 -04:00
Zbigniew Jędrzejewski-Szmek
ff03aed06a udevadm-hwdb: avoid leak in error path 2013-04-04 22:46:19 -04:00
Zbigniew Jędrzejewski-Szmek
5483a18693 efivars: un-leak a few strings 2013-04-04 22:46:19 -04:00
Zbigniew Jędrzejewski-Szmek
d257f05a5f timedated: fix a few memory leaks
Contents of /etc/adjtime and more.
2013-04-04 22:46:19 -04:00
Lennart Poettering
917b5dc707 bus: add convenience functions for constructing and sending method calls/signals in one call 2013-04-05 04:15:39 +02:00
Lennart Poettering
7286037fd4 bus: properly detect and handle if a callback is installed/removed from within a callback 2013-04-05 03:55:58 +02:00
Lennart Poettering
6807947e56 bus: don't allow recursive invocation of sd_bus_process() 2013-04-05 03:15:10 +02:00
Lennart Poettering
4b9c52209b update TODO 2013-04-05 00:24:00 +02:00
Lennart Poettering
50cfc57928 localectl: add support for listing X11 keymap information 2013-04-05 00:23:23 +02:00