1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-10-28 11:55:23 +03:00
Commit Graph

25393 Commits

Author SHA1 Message Date
Tejun Heo
e57051f542 core: update invoke_sigchld_event() to handle NULL ->sigchld_event()
After receiving SIGCHLD, one of the ways manager_dispatch_sigchld() maps the
now zombie $PID to its unit is through manager_get_unit_by_pid_cgroup() which
reads /proc/$PID/cgroup and looks up the unit associated with the cgroup path.

On non-unified cgroup hierarchies, a process is immediately migrated to the
root cgroup on death and the cgroup lookup would always have returned the unit
associated with it, making it rather pointless but safe.  On unified hierarchy,
a zombie remains associated with the cgroup that it was associated with at the
time of death and thus manager_get_unit_by_pid_cgroup() will look up the unit
properly.

However, by the time manager_dispatch_sigchld() is running, the original cgroup
may have become empty and it and its associated unit might already have been
removed.  If the cgroup path doesn't yield a match, manager_dispatch_sigchld()
keeps pruning the leaf component.  This means that the function may return a
slice unit for a pid and as a slice doesn't have ->sigchld_event() handler,
calling invoke_sigchld_event() on it causes a segfault.

This patch updates invoke_sigchld_event() so that it skips calling if the
handler is not set.
2016-03-26 12:06:06 -04:00
Tejun Heo
ab2c3861dc core: update populated event handling in unified hierarchy
Earlier during the development of unified hierarchy, the populated event was
reported through by the dedicated "cgroup.populated" file; however, the
interface was updated so that it's reported through the "populated" field of
"cgroup.events" file.  Update populated event handling logic accordingly.
2016-03-26 12:05:57 -04:00
Alban Crequy
099619957a cgroup2: use new fstype for unified hierarchy
Since Linux v4.4-rc1, __DEVEL__sane_behavior does not exist anymore and
is replaced by a new fstype "cgroup2".

With this patch, systemd no longer supports the old (unstable) way of
doing unified hierarchy with __DEVEL__sane_behavior and systemd now
requires Linux v4.4 for unified hierarchy.

Non-unified hierarchy is still the default and is unchanged by this
patch.

67e9c74b8a
2016-03-26 12:05:29 -04:00
Zbigniew Jędrzejewski-Szmek
09541e49eb Merge pull request #2887 from martinpitt/master
Fix logind crash if shutdown is called from a non-tty
2016-03-25 17:06:50 -04:00
Beniamino Galvani
6afa676780 lldp: move public macros to sd-lldp.h and namespace them
lldp.h contains definitions of LLDP types, subtypes and capabilities which
should be exposed in public headers. Get rid of the file and move those
definitions to sd-lldp.h with the SD_ prefix.
2016-03-24 16:41:48 +01:00
Daniel Mack
d8fd85e94f Merge pull request #2892 from yuwata/localectl
localectl: remove an unnecessary line break from and align the output of status command
2016-03-24 10:37:19 +01:00
Martin Pitt
b4944d2df2 logind: fix crash when shutdown is not issued from a tty
It's possible that sd_bus_creds_get_tty() fails and thus
scheduled_shutdown_tty is NULL in method_schedule_shutdown().

Fix logind_wall_tty_filter() to get along with that, by showing the message on
all TTYs, instead of crashing in strcmp().

https://launchpad.net/bugs/1553040
2016-03-24 08:35:17 +01:00
Martin Pitt
b59f0ecd27 core: fix "stoppping" typo 2016-03-24 08:35:17 +01:00
Yu Watanabe
c86b2d8f73 localectl: align output of 'localectl status' command
If kernel command line options for locale are given,
the output of 'localectl status' command is not aligned,
for example,
=============
Warning: Settings on kernel command line override system locale settings in /etc/locale.conf.
  Command Line: LANG=C
   System Locale: LANG=C
       VC Keymap: n/a
      X11 Layout: n/a
=============
This commit fixes the alignment.
2016-03-24 10:58:38 +09:00
Yu Watanabe
a75db59cf7 localectl: remove unnecessary line break
If /etc/locale.conf is empty or does not exist, the output of
'localectl status' command includes an unnecessary line break
as follows:
=======================
   System Locale: n/a

       VC Keymap: n/a
      X11 Layout: n/a
=======================
This commit removes the line break after the system locale.
2016-03-24 10:53:00 +09:00
Daniel Mack
1eb963a32d Merge pull request #2885 from gbrikis/master
core: Fix path for opening ffs endpoint ep0
2016-03-23 19:48:26 +01:00
Daniel Mack
3288dcd390 Merge pull request #2888 from kinvolk/iaguis/remove-dots
run: remove period when printing started units
2016-03-23 18:06:07 +01:00
Georgia Brikis
27a6ea9163 core: Fix path for opening ffs endpoint ep0
usbffs_address_create() expects an absolute path to the file that is
supposed to be opened. The path specified only leads to the directory
containing the endpoint ep0 not the endpoint itself. This commit adds
the endpoints name to the path.
2016-03-23 17:47:45 +01:00
Iago López Galeiras
110ceee58e run: remove period when printing started units
If you start a unit with systemd-run you usually need its name to
inspect it or stop it. Removing the period makes copying the unit name
easier.
2016-03-23 15:45:32 +01:00
Daniel Mack
15cb891e15 Merge pull request #2886 from fbuihuu/systemctl-list-units-inactive-state
systemctl: no need to pass --all if inactive is explicitly requested …
2016-03-23 13:08:04 +01:00
Daniel Mack
51359d02d1 Merge pull request #2883 from keszybz/allow-boms
Ignore BOM in config files
2016-03-23 13:00:33 +01:00
Franck Bui
ebc962656c systemctl: no need to pass --all if inactive is explicitly requested in list-units
If list-units command is explicitly asked to show inactive units
by using '--state=inactive' option, there's no need to force the user
to pass '--all' option to include inactive units in the search in
this case.
2016-03-23 08:36:05 +01:00
Zbigniew Jędrzejewski-Szmek
9dd7ea9a7d Ignore BOM in config files
Fixes #2823.

Also remove unnecessary feof check.
2016-03-22 18:51:59 -04:00
Zbigniew Jędrzejewski-Szmek
944dedd302 Merge pull request #2844 from yarda/uaccess-3dprinters
Add support for 3D printers to uaccess (ID_3DPRINTER).
2016-03-22 11:00:20 -04:00
Jaroslav Škarvada
68ea57b21d Added support for 3D printers to uaccess (ID_MAKER_TOOL)
This is to support 3D printers, CNCs, laser cutters, 3D scanners, etc.
2016-03-22 14:09:23 +01:00
Daniel Mack
99d91109a6 Merge pull request #2880 from keszybz/more-tests
Add some simple tests for env_value_is_valid and env_assignment_is_valid
2016-03-22 10:23:12 +01:00
Zbigniew Jędrzejewski-Szmek
c4b3e434a7 Merge pull request #2879 from ronnychevalier/rc/test_execute_fix
test-execute: fix execution of AmbientCapabilities tests
2016-03-21 23:38:28 -04:00
Zbigniew Jędrzejewski-Szmek
85d8f87e24 Merge pull request #2882 from systemd/revert-2818-master
Revert "DHCP DUID and IAID configurability"
2016-03-21 22:30:53 -04:00
Zbigniew Jędrzejewski-Szmek
afec45395f Revert "DHCP DUID and IAID configurability" 2016-03-21 18:24:24 -04:00
Zbigniew Jędrzejewski-Szmek
b8c83cfc1a test-env-util: test env_{value,assignment}_is_valid
Just to make sure everything works as expected in relation
to https://bugzilla.redhat.com/show_bug.cgi?id=1312384.
2016-03-21 16:49:42 -04:00
Zbigniew Jędrzejewski-Szmek
93515caebf tests: rename test-env-replace to test-env-util 2016-03-21 16:17:18 -04:00
Ronny Chevalier
34f5ff465f test-execute: fix execution of AmbientCapabilities tests
Wrong tests were executed
2016-03-21 18:48:12 +01:00
Daniel Mack
e31512b1c9 Merge pull request #2878 from martinpitt/master
test-copy: use correct data type for max_bytes
2016-03-21 16:47:31 +01:00
Martin Pitt
fa13cf9e21 test-copy: use correct data type for max_bytes
copy_bytes() and the comparisons in test_copy_bytes_regular_file() expect an
uint64_t, not a size_t. On 32 bit architectures the latter is 32 bit, leading
to truncation errors.

Fixes regression from commit 7a827fcb.
2016-03-21 14:58:30 +01:00
Daniel Mack
68de79d6a4 Merge pull request #2760 from ronnychevalier/rc/core_no_new_privileges_seccompv3
core: set NoNewPrivileges for seccomp if we don't have CAP_SYS_ADMIN
2016-03-21 12:57:43 +01:00
Daniel Mack
19180aadb5 Merge pull request #2826 from thom311/master
lldp: fix starting ttl timer for lldp neighbor
2016-03-21 12:44:38 +01:00
Daniel Mack
2d4122d4df Merge pull request #2875 from evverx/nspawn-template-bash-completion
bash completion: add --template to nspawn
2016-03-21 11:45:23 +01:00
Evgeny Vereshchagin
6d94d993c7 bash completion: add --template to nspawn 2016-03-20 17:55:58 +00:00
Michael Biebl
219e0ea74a man: fix typo in systemd-sysv-generator 2016-03-20 02:27:27 +01:00
Daniel Mack
9d74d73a4d Merge pull request #2865 from utezduyar/journald-upload
journal-upload: remove microhttpd dependency
2016-03-18 13:48:00 +01:00
Daniel Mack
af6cd87d98 Merge pull request #2862 from evverx/nspawn-expose-ports-error
nspawn: don't run nspawn --port=... without libiptc support
2016-03-18 12:00:29 +01:00
Umut Tezduyar Lindskog
2adeb166da journal-upload: remove microhttpd dependency
journal-upload doesn't really need microhttpd to run.
Without the dependency, we can cross compile systemd
without microhttpd and get the uploader part of the
remote logging.

Change-Id: I28dfa5ad2aae94e50de1d32713e1827623c3fd1d
2016-03-18 11:35:37 +01:00
Marcel Holtmann
6a692550f2 hwdb: Update database of Bluetooth company identifiers 2016-03-18 01:05:51 +01:00
Evgeny Vereshchagin
1c1ea21735 nspawn: don't run nspawn --port=... without libiptc support
We get
$ systemd-nspawn --image /dev/loop1 --port 8080:80 -n -b 3
--port= is not supported, compiled without libiptc support.

instead of a ping-nc-iptables debugging session
2016-03-17 21:07:11 +00:00
Daniel Mack
5fec580c84 Merge pull request #2839 from keszybz/use-sendfile-smarter
Use sendfile smarter
2016-03-17 20:33:41 +01:00
Daniel Mack
da9a4daa08 Merge pull request #2854 from keszybz/log-colors
systemd: obey systemd.log_color config
2016-03-17 20:30:16 +01:00
Daniel Mack
90e644608e Merge pull request #2856 from msekletar/merge-instance
core: look for instance when processing template name
2016-03-17 20:24:39 +01:00
Zbigniew Jędrzejewski-Szmek
2f368e4a11 basic/missing: move syscall definitions to basic/missing_syscall.h
We have a bunch of syscall wrapper definitions and it's easier to
see that they follow the same pattern if they are not interspersed
with other defines.

Change the wrappers to be uniform:
- if __NR_XXX is not defined, do not bother to call the syscall,
  and return -1/ENOSYS immediately.
- do not check __NR_XXX defines if we detect the symbol as defined,
  since we don't need them anyway
- reindent stuff for readability

New file basic/missing_syscall.h is included at the end of missing.h
because it might make use of some of the definitions in missing.h.
2016-03-17 13:34:34 -04:00
Zbigniew Jędrzejewski-Szmek
a44202e98b basic/copy: use copy_file_range()
For btrfs, c_f_r() is like BTRFS_IOC_CLONE which we already used, but also
works when max_bytes is set. We do call copy_bytes in coredump code with
max_bytes set, and for large files, so we might see some benefit from using
c_f_r() on btrfs.

For other filesystems, c_f_r() falls back to do_splice_direct(), the same as
sendfile, which we already call, so there shouldn't be much difference.

Tested with test-copy and systemd-coredump on Linux 4.3 (w/o c_f_r)
and 4.5 (w/ c_f_r).
2016-03-17 13:02:18 -04:00
Zbigniew Jędrzejewski-Szmek
1d4b557d1b basic/missing: add copy_file_range
syscall numbers based on:
https://fedora.juszkiewicz.com.pl/syscalls.html
2016-03-17 13:02:18 -04:00
David Herrmann
2ddbdcc9c2 Merge pull request #2858 from keszybz/fbdev-uaccess
rules: allow users to access frame buffer devices
2016-03-17 16:59:46 +01:00
Daniel Mack
c31be17f6b Merge pull request #2848 from keszybz/clang-warnings
Clang warnings
2016-03-17 16:41:20 +01:00
Zbigniew Jędrzejewski-Szmek
ce1d15ed0f Merge pull request #2859 from msekletar/ldconfig-after-localfs
units: run ldconfig.service after we have mounted all local file systems
2016-03-17 11:16:23 -04:00
Michal Sekletar
f66a1c48cf units: run ldconfig.service after we have mounted all local file systems
Also drop ConditionNeedsUpdate=|/etc. Regardless if system is updated
online or offline, updating dynamic loader cache should always be
responsibility of packaging tools/scripts.
2016-03-17 14:41:26 +01:00
Zbigniew Jędrzejewski-Szmek
dc9b58166c systemd: obey systemd.log_color config
Fixes #2845.
2016-03-17 09:33:56 -04:00