]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agoMerge pull request #20066 from ddstreet/get-timezones
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 07:29:24 +0000 (09:29 +0200)] 
Merge pull request #20066 from ddstreet/get-timezones

time: use tzdata.zi instead of zone1970.tab for list of all timezones

2 years agoMerge pull request #20080 from bluca/core_flag
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 07:04:15 +0000 (09:04 +0200)] 
Merge pull request #20080 from bluca/core_flag

analyze: do not attempt to set up cgroups while verifying units

2 years agoMerge pull request #20058 from keszybz/status-format
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 06:58:14 +0000 (08:58 +0200)] 
Merge pull request #20058 from keszybz/status-format

Implement StatusUnitFormat=combined and prettify Descriptions

2 years agoMerge pull request #20030 from keszybz/exec_fd-event-source
Zbigniew Jędrzejewski-Szmek [Thu, 1 Jul 2021 06:57:23 +0000 (08:57 +0200)] 
Merge pull request #20030 from keszybz/exec_fd-event-source

exec_fd event source rework

2 years agoRevert "core: do not set noexec on sysfs/procfs"
Lennart Poettering [Mon, 1 Mar 2021 17:02:24 +0000 (18:02 +0100)] 
Revert "core: do not set noexec on sysfs/procfs"

This reverts commit b33cd6b3eec52fc50c6c34d6f07a41cc6254c27f.

2 years agoanalyze: use MANAGER_TEST_RUN_MINIMAL instead of MANAGER_TEST_RUN_BASIC 20080/head
Luca Boccassi [Wed, 30 Jun 2021 23:06:10 +0000 (00:06 +0100)] 
analyze: use MANAGER_TEST_RUN_MINIMAL instead of MANAGER_TEST_RUN_BASIC

MANAGER_TEST_RUN_MINIMAL allows to skip setting up cgroups, which we don't
really want to do in systemd-analyze. MANAGER_TEST_RUN_BASIC doesn't
actually do anything by itself anyway.

2 years agocore: do not setup/teardown cgroup if MANAGER_TEST_RUN_MINIMAL is set as a flag
Luca Boccassi [Wed, 30 Jun 2021 23:04:58 +0000 (00:04 +0100)] 
core: do not setup/teardown cgroup if MANAGER_TEST_RUN_MINIMAL is set as a flag

Rather than checking if test_run_flags is set exclusively to MANAGER_TEST_RUN_MINIMAL,
check if it is set as a flag, so that it can be used together with other flags.

2 years agoMerge pull request #20076 from keszybz/improve-logs-for-exec-condition-and-rescoping
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 20:23:10 +0000 (22:23 +0200)] 
Merge pull request #20076 from keszybz/improve-logs-for-exec-condition-and-rescoping

Improve logs for ExecCondition and rescoping

2 years agoMerge pull request #19980 from yuwata/sd-ipv4acd-filter-all-hwaddr
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 20:22:47 +0000 (22:22 +0200)] 
Merge pull request #19980 from yuwata/sd-ipv4acd-filter-all-hwaddr

network: IPv4LL and ACD fixes

2 years agoMerge pull request #20020 from anitazha/oomd_with_mem
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 19:59:34 +0000 (21:59 +0200)] 
Merge pull request #20020 from anitazha/oomd_with_mem

oomd: check that memory use also exceeds threshold before doing a swap kill

2 years agocore: when recursively bind-remounting nested mounts, use options from top one
Luca Boccassi [Wed, 30 Jun 2021 14:51:03 +0000 (15:51 +0100)] 
core: when recursively bind-remounting nested mounts, use options from top one

When mount points are stacked, bind_remount_recursive_with_mountinfo()
uses the existing mount options of the "lower" level mount (ie: the
first one that was mounted on a mount point). But the actual mount
point in use is the "top" one (ie: the last one that was mounted on a
mount point), so in practice if the mount options are different between
the layers, the bottom options are used by mistake on the top mount,
which is not what we want. This is because libmount returns the "bottom"
one first.

If the hashmap returns EEXIST, which means the same key (path) with different
value (options) is already present, update the hashmap instead of discarding
the result. This way, the last/top mount options are always used when
mounts are stacked on a mount point.

This was found to cause problems as LXC version 4.x stacks two /sys mounts,
the bottom one read-write and the top one read-only. systemd accidentally
remounts the top-one read-write, breaking various expectations since a
read-only /sys is the way we decide whether we are running in a container
or not (in this particular case, networkd tests are broken as networkd
expects to be able to modify network settings with a writable /sys).

Future versions of LXC will no longer do this double-stacking, but we
need to support running inside older versions too.

This was triggered by https://github.com/systemd/systemd/commit/6720e356c137
as that causes a recursive remount of '/', which processes '/sys' as one
of the submounts, from make_nosuid(). But it's likely that other combinations
of options could trigger this as well.

Before:

root@systemd-debug:/# systemd-run -t --wait --property ProtectSystem=yes findmnt
Running as unit: run-u9.service
Press ^] three times within 1s to disconnect TTY.
TARGET                         SOURCE                           FSTYPE    OPTIONS
/                              /dev/sda2[/var/lib/lxc/systemd-debug/rootfs]
│                                                               ext4      ro,nosuid,relatime,errors=remount-ro,stripe=
├─/dev                         none                             tmpfs     rw,nosuid,relatime,size=492k,mode=755
│ ├─/dev/.lxc/proc             proc                             proc      rw,nosuid,relatime
│ ├─/dev/.lxc/sys              sys                              sysfs     rw,nosuid,relatime
│ ├─/dev/console               devpts[/2]                       devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptm
│ ├─/dev/pts                   devpts                           devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptm
│ ├─/dev/ptmx                  devpts[/ptmx]                    devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptm
│ ├─/dev/tty1                  devpts[/0]                       devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptm
│ ├─/dev/tty2                  devpts[/1]                       devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptm
│ ├─/dev/tty3                  devpts[/2]                       devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptm
│ ├─/dev/tty4                  devpts[/3]                       devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptm
│ ├─/dev/shm                   tmpfs                            tmpfs     rw,nosuid,nodev
│ ├─/dev/hugepages             hugetlbfs                        hugetlbfs rw,nosuid,relatime,pagesize=2M
│ └─/dev/mqueue                mqueue                           mqueue    rw,nosuid,nodev,noexec,relatime
├─/proc                        proc                             proc      rw,nosuid,nodev,noexec,relatime
│ ├─/proc/sys                  proc[/sys]                       proc      ro,nosuid,nodev,noexec,relatime
│ │ ├─/proc/sys/net            proc[/sys/net]                   proc      rw,nosuid,nodev,noexec,relatime
│ │ └─/proc/sys/kernel/random/boot_id
│ │                            none[/.lxc-boot-id]              tmpfs     ro,nosuid,nodev,noexec,relatime,size=492k,mo
│ └─/proc/sysrq-trigger        proc[/sysrq-trigger]             proc      ro,nosuid,nodev,noexec,relatime
├─/sys                         sysfs                            sysfs     rw,nosuid,nodev,noexec,relatime
│ └─/sys                       sysfs                            sysfs     rw,nosuid,nodev,noexec,relatime
│   ├─/sys/devices/virtual/net sysfs                            sysfs     rw,relatime
│   │ └─/sys/devices/virtual/net
│   │                          sysfs[/devices/virtual/net]      sysfs     rw,nosuid,relatime
│   ├─/sys/fs/fuse/connections fusectl                          fusectl   rw,nosuid,nodev,noexec,relatime
│   └─/sys/fs/cgroup           cgroup                           cgroup2   rw,nosuid,nodev,noexec,relatime,nsdelegate,m
├─/run                         tmpfs                            tmpfs     ro,nosuid,nodev,size=4912348k,nr_inodes=8192
│ ├─/run/credentials           tmpfs[/systemd/inaccessible/dir] tmpfs     ro,nosuid,nodev,noexec,size=4912348k,nr_inod
│ └─/run/systemd/incoming      tmpfs[/systemd/propagate/run-u9.service]
│                                                               tmpfs     ro,nosuid,nodev,size=4912348k,nr_inodes=8192
├─/tmp                         tmpfs                            tmpfs     rw,nosuid,nodev,size=12280872k,nr_inodes=409
│ └─/tmp                       tmpfs[/systemd-private-b730df90da424397a3f246cb15dcdbb1-run-u9.service-K6EUwf/tmp]
│                                                               tmpfs     rw,nosuid,nodev,size=12280872k,nr_inodes=409
└─/var/tmp                     /dev/sda2[/var/lib/lxc/systemd-debug/rootfs/var/tmp/systemd-private-b730df90da424397a3f246cb15dcdbb1-run-u9.service-vEHyRi/tmp]
                                                                ext4      rw,nosuid,relatime,errors=remount-ro,stripe=
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 14.249s
CPU time consumed: 37ms

After:

root@systemd-debug:/# systemd-run -t --wait --property ProtectSystem=yes findmnt
Running as unit: run-u3.service
Press ^] three times within 1s to disconnect TTY.
TARGET                         SOURCE                      FSTYPE    OPTIONS
/                              /dev/sda2[/var/lib/lxc/systemd-debug/rootfs]
│                                                          ext4      rw,relatime,errors=remount-ro,stripe=32699
├─/dev                         none                        tmpfs     rw,relatime,size=492k,mode=755
│ ├─/dev/.lxc/proc             proc                        proc      rw,relatime
│ ├─/dev/.lxc/sys              sys                         sysfs     rw,relatime
│ ├─/dev/console               devpts[/2]                  devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode
│ ├─/dev/pts                   devpts                      devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode
│ ├─/dev/ptmx                  devpts[/ptmx]               devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode
│ ├─/dev/tty1                  devpts[/0]                  devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode
│ ├─/dev/tty2                  devpts[/1]                  devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode
│ ├─/dev/tty3                  devpts[/2]                  devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode
│ ├─/dev/tty4                  devpts[/3]                  devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode
│ ├─/dev/shm                   tmpfs                       tmpfs     rw,nosuid,nodev
│ ├─/dev/hugepages             hugetlbfs                   hugetlbfs rw,relatime,pagesize=2M
│ └─/dev/mqueue                mqueue                      mqueue    rw,nosuid,nodev,noexec,relatime
├─/proc                        proc                        proc      rw,nosuid,nodev,noexec,relatime
│ ├─/proc/sys                  proc[/sys]                  proc      ro,nosuid,nodev,noexec,relatime
│ │ ├─/proc/sys/net            proc[/sys/net]              proc      rw,nosuid,nodev,noexec,relatime
│ │ └─/proc/sys/kernel/random/boot_id
│ │                            none[/.lxc-boot-id]         tmpfs     ro,nosuid,nodev,noexec,relatime,size=492k,mode=75
│ └─/proc/sysrq-trigger        proc[/sysrq-trigger]        proc      ro,nosuid,nodev,noexec,relatime
├─/sys                         sysfs                       sysfs     rw,nosuid,nodev,noexec,relatime
│ └─/sys                       sysfs                       sysfs     ro,nosuid,nodev,noexec,relatime
│   ├─/sys/devices/virtual/net sysfs                       sysfs     rw,relatime
│   │ └─/sys/devices/virtual/net
│   │                          sysfs[/devices/virtual/net] sysfs     rw,nosuid,nodev,noexec,relatime
│   ├─/sys/fs/fuse/connections fusectl                     fusectl   rw,nosuid,nodev,noexec,relatime
│   └─/sys/fs/cgroup           cgroup                      cgroup2   rw,nosuid,nodev,noexec,relatime,nsdelegate,memory
├─/run                         tmpfs                       tmpfs     rw,nosuid,nodev,size=4912348k,nr_inodes=819200,mo
│ ├─/run/credentials           tmpfs[/systemd/inaccessible/dir]
│ │                                                        tmpfs     ro,nosuid,nodev,noexec,size=4912348k,nr_inodes=81
│ └─/run/systemd/incoming      tmpfs[/systemd/propagate/run-u3.service]
│                                                          tmpfs     ro,nosuid,nodev,size=4912348k,nr_inodes=819200,mo
├─/tmp                         tmpfs                       tmpfs     rw,nosuid,nodev,size=12280872k,nr_inodes=409600
├─/boot                        /dev/sda2[/var/lib/lxc/systemd-debug/rootfs/boot]
│                                                          ext4      ro,relatime,errors=remount-ro,stripe=32699
└─/usr                         /dev/sda2[/var/lib/lxc/systemd-debug/rootfs/usr]
                                                           ext4      ro,relatime,errors=remount-ro,stripe=32699
Finished with result: success
Main processes terminated with: code=exited/status=0
Service runtime: 14ms
CPU time consumed: 5ms

Host (LXC):

root@systemd-debug:/# findmnt
TARGET                         SOURCE               FSTYPE    OPTIONS
/                              /dev/sda2[/var/lib/lxc/systemd-debug/rootfs]
│                                                   ext4      rw,relatime,errors=remount-ro,stripe=32699
├─/run                         tmpfs                tmpfs     rw,nosuid,nodev,size=4912348k,nr_inodes=819200,mode=755
├─/tmp                         tmpfs                tmpfs     rw,nosuid,nodev,size=12280872k,nr_inodes=409600
├─/dev                         none                 tmpfs     rw,relatime,size=492k,mode=755
│ ├─/dev/pts                   devpts               devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666,ma
│ ├─/dev/ptmx                  devpts[/ptmx]        devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666,ma
│ ├─/dev/tty1                  devpts[/0]           devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666,ma
│ ├─/dev/tty2                  devpts[/1]           devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666,ma
│ ├─/dev/tty3                  devpts[/2]           devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666,ma
│ ├─/dev/tty4                  devpts[/3]           devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666,ma
│ ├─/dev/shm                   tmpfs                tmpfs     rw,nosuid,nodev
│ ├─/dev/hugepages             hugetlbfs            hugetlbfs rw,relatime,pagesize=2M
│ ├─/dev/mqueue                mqueue               mqueue    rw,nosuid,nodev,noexec,relatime
│ ├─/dev/console               devpts[/2]           devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ ├─/dev/.lxc/proc             proc                 proc      rw,relatime
│ └─/dev/.lxc/sys              sys                  sysfs     rw,relatime
├─/proc                        proc                 proc      rw,nosuid,nodev,noexec,relatime
│ ├─/proc/sys                  proc[/sys]           proc      ro,nosuid,nodev,noexec,relatime
│ │ ├─/proc/sys/kernel/random/boot_id
│ │ │                          none[/.lxc-boot-id]  tmpfs     ro,nosuid,nodev,noexec,relatime,size=492k,mode=755
│ │ └─/proc/sys/net            proc[/sys/net]       proc      rw,nosuid,nodev,noexec,relatime
│ └─/proc/sysrq-trigger        proc[/sysrq-trigger] proc      ro,nosuid,nodev,noexec,relatime
└─/sys                         sysfs                sysfs     rw,nosuid,nodev,noexec,relatime
  └─/sys                       sysfs                sysfs     ro,nosuid,nodev,noexec,relatime
    ├─/sys/devices/virtual/net sysfs                sysfs     rw,relatime
    │ └─/sys/devices/virtual/net
    │                          sysfs[/devices/virtual/net]
    │                                               sysfs     rw,nosuid,nodev,noexec,relatime
    ├─/sys/fs/fuse/connections fusectl              fusectl   rw,nosuid,nodev,noexec,relatime
    └─/sys/fs/cgroup           cgroup               cgroup2   rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recurs

Fixes https://github.com/systemd/systemd/issues/20032

2 years agoRevert "Introduce ExitType"
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 12:21:33 +0000 (14:21 +0200)] 
Revert "Introduce ExitType"

This reverts commit cb0e818f7cc2499d81ef143e5acaa00c6e684711.

After this was merged, some design and implementation issues were discovered,
see the discussion in #18782 and #19385. They certainly can be fixed, but so
far nobody has stepped up, and we're nearing a release. Hopefully, this feature
can be merged again after a rework.

Fixes #19345.

2 years agocore/cgroup: upgrade log level when we fail to rescope a pid 20076/head
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 15:17:41 +0000 (17:17 +0200)] 
core/cgroup: upgrade log level when we fail to rescope a pid

See https://bugzilla.redhat.com/show_bug.cgi?id=1973058 again:

systemd[1779]: Started Application launched by gnome-session-binary.
systemd[1779]: app-glib-liveinst\x2dsetup-1897.scope: Failed to add PIDs to scope's control group: No such process
systemd[1779]: app-glib-liveinst\x2dsetup-1897.scope: Failed with result 'resources'.
systemd[1779]: Failed to start Application launched by gnome-session-binary.
systemd[1779]: app-glib-xdg\x2duser\x2ddirs-1900.scope: Failed to add PIDs to scope's control group: No such process
systemd[1779]: app-glib-xdg\x2duser\x2ddirs-1900.scope: Failed with result 'resources'.
systemd[1779]: Failed to start Application launched by gnome-session-binary.
systemd[1779]: app-gnome-gsettings\x2ddata\x2dconvert-1902.scope: Failed to add PIDs to scope's control group: No such process
systemd[1779]: app-gnome-gsettings\x2ddata\x2dconvert-1902.scope: Failed with result 'resources'.
systemd[1779]: Failed to start Application launched by gnome-session-binary.

Since we don't show the PID anywhere, it can be quite hard to figure out what
is going on. There may be logs from the pid above or below in the log, but
we have no PID number to identify them. So let's upgrade the log from
unit_attach_pids_to_cgroup() to tell us precisely which PIDs and why couldn't
be handled.

2 years agotime: get timezones from tzdata.zi 20066/head
Dan Streetman [Wed, 30 Jun 2021 11:30:28 +0000 (07:30 -0400)] 
time: get timezones from tzdata.zi

The zone1970.tab file doesn't include any timezone 'aliases'. Instead
of parsing it, parse the tzdata.zi file which does include all zones
as well as aliases.

This keeps the parsing function for zone1970.tab as a fallback in case
the tzdata.zi file isn't found.

2 years agotime: split get_timezone() into main function and zone1970.tab function
Dan Streetman [Wed, 30 Jun 2021 11:17:22 +0000 (07:17 -0400)] 
time: split get_timezone() into main function and zone1970.tab function

This allows for adding another function to read from a different timezone
source, which is added in the next commit.

2 years agotime: simplify get_timezones()
Dan Streetman [Tue, 29 Jun 2021 13:13:22 +0000 (09:13 -0400)] 
time: simplify get_timezones()

The function can be simplified by using extract_many_words() and strv_extend()

2 years agotest-network: update tests for ipv4acd 19980/head
Yu Watanabe [Tue, 22 Jun 2021 06:32:57 +0000 (15:32 +0900)] 
test-network: update tests for ipv4acd

2 years agonetwork: introduce callback fucntions to check the sender MAC address for IPv4ACD...
Yu Watanabe [Fri, 25 Jun 2021 14:33:11 +0000 (23:33 +0900)] 
network: introduce callback fucntions to check the sender MAC address for IPv4ACD and IPv4LL

Fixes #12145.

2 years agonetwork: ipv4acd: first probe address and then assign it
Yu Watanabe [Mon, 21 Jun 2021 19:08:19 +0000 (04:08 +0900)] 
network: ipv4acd: first probe address and then assign it

Previously, if IPv4 ACD is enabled on an address, then we first
assign the address, and start sd-ipv4acd daemon for the address.
This is not only RFC incompliant, but also the address is always
dropped, as the daemon always considers the address is conflicted.

This commit makes networkd first starts sd-ipv4acd daemon to probe
the address, and then the address is configured if no conflict is
detected.

Fixes #17235.

2 years agonetwork: make request_drop() accept NULL
Yu Watanabe [Wed, 30 Jun 2021 15:45:47 +0000 (00:45 +0900)] 
network: make request_drop() accept NULL

2 years agonetwork: acquire address on request configure rather than on configure
Yu Watanabe [Tue, 22 Jun 2021 14:57:57 +0000 (23:57 +0900)] 
network: acquire address on request configure rather than on configure

A preparation for later commits.

2 years agonetwork: rename dhcp_lease_lost() -> dhcp4_lease_lost() and expose it
Yu Watanabe [Tue, 22 Jun 2021 10:48:55 +0000 (19:48 +0900)] 
network: rename dhcp_lease_lost() -> dhcp4_lease_lost() and expose it

A preparation for later commits.

2 years agonetwork: address: do not send tentative flag
Yu Watanabe [Tue, 22 Jun 2021 10:36:39 +0000 (19:36 +0900)] 
network: address: do not send tentative flag

Currently, networkd does not set tentative flag on create, and kernel
ignore the flag on remove. So, this commit does not change any current
behaviour. This is just a preparation for later commits.

2 years agonetwork: introduce link_request_static_address()
Yu Watanabe [Tue, 22 Jun 2021 05:52:47 +0000 (14:52 +0900)] 
network: introduce link_request_static_address()

2 years agonetwork: introduce address_dup() and replace address_copy() with it
Yu Watanabe [Mon, 21 Jun 2021 07:42:22 +0000 (16:42 +0900)] 
network: introduce address_dup() and replace address_copy() with it

2 years agonetwork: ipv4ll: reset MAC address without stopping sd-ipv4ll engine
Yu Watanabe [Sun, 20 Jun 2021 19:28:09 +0000 (04:28 +0900)] 
network: ipv4ll: reset MAC address without stopping sd-ipv4ll engine

2 years agonetwork: ipv4ll: refuse to configure IPv4LL address on interface where the length...
Yu Watanabe [Mon, 21 Jun 2021 19:11:15 +0000 (04:11 +0900)] 
network: ipv4ll: refuse to configure IPv4LL address on interface where the length of the hardware address is not ETH_ALEN

Currently, sd-ipv4acd assumes hardware address is ETH_ALEN.

2 years agonetwork: ipv4ll: make link enter failed state on failure of restarting ipv4ll engine
Yu Watanabe [Sun, 20 Jun 2021 19:30:56 +0000 (04:30 +0900)] 
network: ipv4ll: make link enter failed state on failure of restarting ipv4ll engine

2 years agonetwork: introduce link_get_by_hw_addr()
Yu Watanabe [Fri, 25 Jun 2021 07:25:48 +0000 (16:25 +0900)] 
network: introduce link_get_by_hw_addr()

2 years agonetwork: rename Manager::links -> Manager::links_by_index
Yu Watanabe [Fri, 25 Jun 2021 06:58:30 +0000 (15:58 +0900)] 
network: rename Manager::links -> Manager::links_by_index

This also renames link_get() -> link_get_by_index().

2 years agoether-addr-util: introduce hw_addr_hash_ops
Yu Watanabe [Fri, 25 Jun 2021 06:55:36 +0000 (15:55 +0900)] 
ether-addr-util: introduce hw_addr_hash_ops

2 years agosd-ipv4ll: introduce sd_ipv4ll_set_check_mac_callback()
Yu Watanabe [Fri, 25 Jun 2021 07:50:22 +0000 (16:50 +0900)] 
sd-ipv4ll: introduce sd_ipv4ll_set_check_mac_callback()

2 years agosd-ipv4ll: allow to set MAC address without stopping sd-ipv4ll engine
Yu Watanabe [Sun, 20 Jun 2021 19:00:31 +0000 (04:00 +0900)] 
sd-ipv4ll: allow to set MAC address without stopping sd-ipv4ll engine

2 years agosd-ipv4acd: update condition of address conflict
Yu Watanabe [Sun, 20 Jun 2021 18:45:29 +0000 (03:45 +0900)] 
sd-ipv4acd: update condition of address conflict

See RFC 5227 section 2.1.1.

This introduces a callback which intend to a library user, e.g.
networkd, checks whether the sender hardware address is a MAC address of
the host's intrerface or not.

2 years agosd-ipv4acd: allow to change requesting address without restarting sd-ipv4acd
Yu Watanabe [Sun, 20 Jun 2021 17:47:20 +0000 (02:47 +0900)] 
sd-ipv4acd: allow to change requesting address without restarting sd-ipv4acd

2 years agosd-ipv4acd: set defend window in timeout event and state is IPV4ACD_STATE_STARTED
Yu Watanabe [Sun, 20 Jun 2021 17:45:45 +0000 (02:45 +0900)] 
sd-ipv4acd: set defend window in timeout event and state is IPV4ACD_STATE_STARTED

2 years agosd-ipv4acd: allow to change MAC address without restarting sd-ipv4acd
Yu Watanabe [Sun, 20 Jun 2021 17:29:46 +0000 (02:29 +0900)] 
sd-ipv4acd: allow to change MAC address without restarting sd-ipv4acd

This also makes sd_ipv4acd_set_mac() refuses null MAC address.

2 years agoarp-util: split out logic of setting BPF code into a function
Yu Watanabe [Sun, 20 Jun 2021 17:21:59 +0000 (02:21 +0900)] 
arp-util: split out logic of setting BPF code into a function

2 years agoarp-util: use struct in_addr
Yu Watanabe [Fri, 18 Jun 2021 07:02:46 +0000 (16:02 +0900)] 
arp-util: use struct in_addr

2 years agoarp-util: make arp_send_{probe,announcement}() inline
Yu Watanabe [Fri, 18 Jun 2021 06:40:38 +0000 (15:40 +0900)] 
arp-util: make arp_send_{probe,announcement}() inline

2 years agoarp-util: shorten code a bit
Yu Watanabe [Fri, 18 Jun 2021 06:29:07 +0000 (15:29 +0900)] 
arp-util: shorten code a bit

2 years agoarp-util: check ifindex and mac address
Yu Watanabe [Fri, 18 Jun 2021 06:18:57 +0000 (15:18 +0900)] 
arp-util: check ifindex and mac address

2 years agoarp-util: check sent message size
Yu Watanabe [Fri, 18 Jun 2021 06:17:11 +0000 (15:17 +0900)] 
arp-util: check sent message size

2 years agoarp-util: align elements
Yu Watanabe [Fri, 18 Jun 2021 06:16:11 +0000 (15:16 +0900)] 
arp-util: align elements

2 years agosd-ipv4acd: include announced address in log message
Yu Watanabe [Sun, 20 Jun 2021 16:42:58 +0000 (01:42 +0900)] 
sd-ipv4acd: include announced address in log message

2 years agosd-ipv4acd: use struct in_addr instead of be32_t
Yu Watanabe [Fri, 18 Jun 2021 06:12:25 +0000 (15:12 +0900)] 
sd-ipv4acd: use struct in_addr instead of be32_t

2 years agoMerge pull request #20074 from yuwata/fix-typo
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 15:26:51 +0000 (17:26 +0200)] 
Merge pull request #20074 from yuwata/fix-typo

tree-wide: fix typo

2 years agocore/cgroup: inline more iterator variable declarations
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 15:10:43 +0000 (17:10 +0200)] 
core/cgroup: inline more iterator variable declarations

2 years agocore: emit nicer log message for exiting ConditionExec processes
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 15:02:45 +0000 (17:02 +0200)] 
core: emit nicer log message for exiting ConditionExec processes

See https://bugzilla.redhat.com/show_bug.cgi?id=1973058:

we would log something like:
systemd[244]: Starting willskip.service...
systemd[244]: willskip.service: Control process exited, code=exited, status=2/INVALIDARGUMENT
systemd[244]: willskip.service: Skipped due to 'exec-condition'.
systemd[244]: Condition check resulted in willskip.service being skipped.

The line with 'Control process exited' would be at LOG_NOTICE level.

With the patch:
systemd[244]: Starting willskip.service...
systemd[244]: willskip.service: Skipped due to 'exec-condition'.
systemd[244]: Condition check resulted in willskip.service being skipped.

Debug logs:
systemd[244]: Starting willskip.service...
systemd[244]: Sent message type=signal sender=org.freedesktop.systemd1 destination=n/a path=/org/freedesktop/systemd1/unit/willskip_2eservice interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=8 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
systemd[244]: Sent message type=signal sender=org.freedesktop.systemd1 destination=n/a path=/org/freedesktop/systemd1/unit/willskip_2eservice interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=9 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
systemd[244]: Sent message type=signal sender=org.freedesktop.systemd1 destination=n/a path=/org/freedesktop/systemd1/job/46 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=10 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
systemd[11020]: Skipping PR_SET_MM, as we don't have privileges.
systemd[11020]: willskip.service: Executing: sh -c 'exit 2'
systemd[244]: Received SIGCHLD from PID 11020 (sh).
systemd[244]: Child 11020 (sh) died (code=exited, status=2/INVALIDARGUMENT)
systemd[244]: willskip.service: Child 11020 belongs to willskip.service.
systemd[244]: willskip.service: Condition check process exited, code=exited, status=2/INVALIDARGUMENT (success)
systemd[244]: willskip.service: Got final SIGCHLD for state condition.
systemd[244]: willskip.service: Skipped due to 'exec-condition'.
systemd[244]: willskip.service: Service will not restart (restart setting)
systemd[244]: willskip.service: Changed condition -> dead
systemd[244]: willskip.service: Job 46 willskip.service/start finished, result=done
systemd[244]: Condition check resulted in willskip.service being skipped.

2 years agologin: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set
Franck Bui [Wed, 30 Jun 2021 07:09:37 +0000 (09:09 +0200)] 
login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set

This graphic chip doesn't have a DRM driver and fallback to vesa-framebuffer
driver.

Without this patch, users of such chip suddenly see their GUI broken without
any indication or reason of what happened (no error message). Hence this
regression is near to impossible to troubleshoot for end users.

2 years agotree-wide: "a" -> "an" 20074/head
Yu Watanabe [Wed, 30 Jun 2021 12:26:47 +0000 (21:26 +0900)] 
tree-wide: "a" -> "an"

2 years agotree-wide: fix "the the" and "a a"
Yu Watanabe [Wed, 30 Jun 2021 11:53:14 +0000 (20:53 +0900)] 
tree-wide: fix "the the" and "a a"

2 years agoMerge pull request #20021 from wat-ze-hex/socket-bind-ip-proto-2021-06-23
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 12:46:27 +0000 (14:46 +0200)] 
Merge pull request #20021 from wat-ze-hex/socket-bind-ip-proto-2021-06-23

core/bpf: support IP protocol in SocketBind{Allow|Deny}=

2 years agoman: fix typo
Yu Watanabe [Wed, 30 Jun 2021 11:47:57 +0000 (20:47 +0900)] 
man: fix typo

2 years agounits: adjust description of systemd-update-utmp.service 20058/head
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 11:20:27 +0000 (13:20 +0200)] 
units: adjust description of systemd-update-utmp.service

"Update about" is not gramatically correct. I also think saying "Record" makes
this easier to understand for people who don't necessarilly know what UTMP is.

2 years agocore: supress description in status if same as id
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 11:11:33 +0000 (13:11 +0200)] 
core: supress description in status if same as id

2 years agounits: shorten description of kmod-static-nodes.service
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jun 2021 10:54:31 +0000 (12:54 +0200)] 
units: shorten description of kmod-static-nodes.service

As suggested in
https://github.com/systemd/systemd/pull/20058#pullrequestreview-695023490.

2 years agounits: adjust Descriptions of various units
Zbigniew Jędrzejewski-Szmek [Tue, 29 Jun 2021 07:47:53 +0000 (09:47 +0200)] 
units: adjust Descriptions of various units

In general, it's not very usuful to repeat the unit name as the description.
Especially when the word is a common name and if somebody doesn't understand
the meaning immediately, they are not going to gain anything from the
repeat either, e.g. "halt", "swap".

In the status-unit-format=combined output parentheses are used around
Description, so avoid using parenthesis in the Description itself.

2 years agologind, units: unit Descriptions should be capitalized
Zbigniew Jędrzejewski-Szmek [Tue, 29 Jun 2021 07:29:57 +0000 (09:29 +0200)] 
logind, units: unit Descriptions should be capitalized

2 years agocore: add default descriptions for slices
Zbigniew Jędrzejewski-Szmek [Tue, 29 Jun 2021 07:10:42 +0000 (09:10 +0200)] 
core: add default descriptions for slices

[  OK  ] Created slice system-getty.slice (Slice /system/getty).
[  OK  ] Created slice system-modprobe.slice (Slice /system/modprobe).
[  OK  ] Created slice system-sshd\x2dkeygen.slice (Slice /system/sshd-keygen).
[  OK  ] Created slice user.slice (User and Session Slice).

Before, the first three slices were shown without any description which didn't
look nice.

2 years agocore: rework unit printing and implement 'combined' format
Zbigniew Jędrzejewski-Szmek [Mon, 28 Jun 2021 18:07:15 +0000 (20:07 +0200)] 
core: rework unit printing and implement 'combined' format

The code to print unit status formats had a long history, and became a
hard-to-manage mess of duplicate code parts. We would use sprintf() to
format a string, and then call sprintf() again… The code is reworked
to avoid repeated formattings and to streamline printing to the log
and the console.

The approach used in this patch is a bit more complex then in patches by Colin
Walter and Paweł Marciniak, because an allocation is only done if "combined"
format is used. In other cases we return the existing ->id or ->description
strings. The caller can also control whether a shorter or longer status string
should be used. This way the caller can use a shorter format where it makes
sense, for example in the cylon eye output, where we don't have enough
horizontal space.

Patch is based on Colin Walters' https://github.com/systemd/systemd/pull/15957,
and Paweł Marciniak's patch posted on fedora-devel.

Note: for some reason, the functions for printing of start and stop messages
were sepearated by some unrelated functions. They are moved to be consecutive,
but this makes the much more verbose than it would be otherwise. I found it
useful to view in gitk's "new" mode.

Co-authored-by: Colin Walters <walters@verbum.org>
Co-authored-by: Paweł Marciniak <sunwire+git@gmail.com>
Output from a Fedora Rawhide container boot (w/ some follow-up patches to
tweak Descriptions):

Welcome to Fedora 35 (Rawhide Prerelease)!

Queued start job for default target graphical.target.
[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Created slice system-sshd\x2dkeygen.slice - Slice /system/sshd-keygen.
[  OK  ] Created slice user.slice - User and Session Slice.
[  OK  ] Started systemd-ask-password-console.path - Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[  OK  ] Reached target cryptsetup.target - Local Encrypted Volumes.
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target remote-cryptsetup.target - Remote Encrypted Volumes.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target slices.target - Slice Units.
[  OK  ] Reached target swap.target - Swaps.
[  OK  ] Reached target veritysetup.target - Local Verity Integrity Protected Volumes.
[  OK  ] Listening on systemd-coredump.socket - Process Core Dump Socket.
[  OK  ] Listening on systemd-initctl.socket - initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald.socket - Journal Socket.
[  OK  ] Listening on systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Listening on systemd-userdbd.socket - User Database Manager Socket.
         Mounting dev-hugepages.mount - Huge Pages File System...
         Starting systemd-journald.service - Journal Service...
         Starting systemd-remount-fs.service - Remount Root and Kernel File Systems...
         Starting systemd-sysctl.service - Apply Kernel Variables...
[  OK  ] Mounted dev-hugepages.mount - Huge Pages File System.
[  OK  ] Finished systemd-remount-fs.service - Remount Root and Kernel File Systems.
         Starting systemd-hwdb-update.service - Rebuild Hardware Database...
         Starting systemd-sysusers.service - Create System Users...
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Started systemd-journald.service - Journal Service.
         Starting systemd-journal-flush.service - Flush Journal to Persistent Storage...
[  OK  ] Finished systemd-sysusers.service - Create System Users.
         Starting systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev...
[  OK  ] Finished systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pre.target - Preparation for Local File Systems.
[  OK  ] Reached target local-fs.target - Local File Systems.
[  OK  ] Reached target machines.target - Containers.
         Starting dracut-shutdown.service - Restore /run/initramfs on shutdown...
         Starting ldconfig.service - Rebuild Dynamic Linker Cache...
[  OK  ] Finished dracut-shutdown.service - Restore /run/initramfs on shutdown.
[  OK  ] Finished ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Finished systemd-journal-flush.service - Flush Journal to Persistent Storage.
         Starting systemd-tmpfiles-setup.service - Create Volatile Files and Directories...
[  OK  ] Finished systemd-tmpfiles-setup.service - Create Volatile Files and Directories.
         Starting systemd-journal-catalog-update.service - Rebuild Journal Catalog...
         Starting systemd-oomd.service - Userspace Out-Of-Memory (OOM) Killer...
         Starting systemd-update-utmp.service - Update UTMP about System Boot/Shutdown...
         Starting systemd-userdbd.service - User Database Manager...
[  OK  ] Finished systemd-update-utmp.service - Update UTMP about System Boot/Shutdown.
[  OK  ] Finished systemd-journal-catalog-update.service - Rebuild Journal Catalog.
[  OK  ] Started systemd-userdbd.service - User Database Manager.
[  OK  ] Started systemd-oomd.service - Userspace Out-Of-Memory (OOM) Killer.
[  OK  ] Finished systemd-hwdb-update.service - Rebuild Hardware Database.
         Starting systemd-networkd.service - Network Configuration...
         Starting systemd-update-done.service - Update is Completed...
[  OK  ] Finished systemd-update-done.service - Update is Completed.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started dnf-makecache.timer - dnf makecache --timer.
[  OK  ] Started logrotate.timer - Daily rotation of log files.
[  OK  ] Started systemd-tmpfiles-clean.timer - Daily Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
[  OK  ] Reached target sshd-keygen.target.
         Starting sysstat.service - Resets System Activity Logs...
         Starting systemd-homed.service - Home Area Manager...
         Starting systemd-logind.service - User Login Management...
         Starting dbus-broker.service - D-Bus System Message Bus...
[FAILED] Failed to start sysstat.service - Resets System Activity Logs.
See 'systemctl status sysstat.service' for details.
[  OK  ] Started dbus-broker.service - D-Bus System Message Bus.
[  OK  ] Started systemd-homed.service - Home Area Manager.
[  OK  ] Finished systemd-homed-activate.service - Home Area Activation.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Started systemd-networkd.service - Network Configuration.
         Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
         Starting systemd-resolved.service - Network Name Resolution...
[  OK  ] Started systemd-resolved.service - Network Name Resolution.
[  OK  ] Reached target network.target - Network.
[  OK  ] Reached target nss-lookup.target - Host and Network Name Lookups.
         Starting sshd.service - OpenSSH server daemon...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Started console-getty.service - Console Getty.
[  OK  ] Reached target getty.target - Login Prompts.
[  OK  ] Started sshd.service - OpenSSH server daemon.
[  OK  ] Reached target multi-user.target - Multi-User System.
[  OK  ] Reached target graphical.target - Graphical Interface.
         Starting systemd-update-utmp-runlevel.service - Update UTMP about System Runlevel Changes...
[  OK  ] Finished systemd-update-utmp-runlevel.service - Update UTMP about System Runlevel Changes.

Fedora 35 (Rawhide Prerelease)
Kernel 5.12.12-300.fc34.x86_64 on an x86_64 (console)

rawhide login: [  OK  ] Stopped session-24.scope - Session 24 of User zbyszek.
[  OK  ] Removed slice system-getty.slice - Slice /system/getty.
[  OK  ] Removed slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Removed slice system-sshd\x2dkeygen.slice - Slice /system/sshd-keygen.
[  OK  ] Stopped target graphical.target - Graphical Interface.
[  OK  ] Stopped target multi-user.target - Multi-User System.
[  OK  ] Stopped target getty.target - Login Prompts.
[  OK  ] Stopped target machines.target - Containers.
[  OK  ] Stopped target nss-lookup.target - Host and Network Name Lookups.
[  OK  ] Stopped target remote-cryptsetup.target - Remote Encrypted Volumes.
[  OK  ] Stopped target timers.target - Timer Units.
[  OK  ] Stopped dnf-makecache.timer - dnf makecache --timer.
[  OK  ] Stopped logrotate.timer - Daily rotation of log files.
[  OK  ] Stopped systemd-tmpfiles-clean.timer - Daily Cleanup of Temporary Directories.
[  OK  ] Closed systemd-coredump.socket - Process Core Dump Socket.
         Stopping console-getty.service - Console Getty...
         Stopping dracut-shutdown.service - Restore /run/initramfs on shutdown...
         Stopping sshd.service - OpenSSH server daemon...
         Stopping systemd-logind.service - User Login Management...
         Stopping systemd-oomd.service - Userspace Out-Of-Memory (OOM) Killer...
         Stopping user@1000.service - User Manager for UID 1000...
[  OK  ] Stopped systemd-oomd.service - Userspace Out-Of-Memory (OOM) Killer.
[  OK  ] Stopped systemd-networkd-wait-online.service - Wait for Network to be Configured.
[  OK  ] Stopped sshd.service - OpenSSH server daemon.
[  OK  ] Stopped console-getty.service - Console Getty.
[  OK  ] Stopped dracut-shutdown.service - Restore /run/initramfs on shutdown.
[  OK  ] Stopped target sshd-keygen.target.
[  OK  ] Stopped systemd-logind.service - User Login Management.
[  OK  ] Stopped user@1000.service - User Manager for UID 1000.
         Stopping user-runtime-dir@1000.service - User Runtime Directory /run/user/1000...
[  OK  ] Unmounted run-user-1000.mount - /run/user/1000.
[  OK  ] Stopped user-runtime-dir@1000.service - User Runtime Directory /run/user/1000.
[  OK  ] Removed slice user-1000.slice - User Slice of UID 1000.
         Stopping systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Stopped systemd-user-sessions.service - Permit User Sessions.
[  OK  ] Stopped target network.target - Network.
[  OK  ] Stopped target remote-fs.target - Remote File Systems.
         Stopping systemd-homed-activate.service - Home Area Activation...
         Stopping systemd-resolved.service - Network Name Resolution...
[  OK  ] Stopped systemd-resolved.service - Network Name Resolution.
         Stopping systemd-networkd.service - Network Configuration...
[  OK  ] Stopped systemd-homed-activate.service - Home Area Activation.
         Stopping systemd-homed.service - Home Area Manager...
[  OK  ] Stopped systemd-homed.service - Home Area Manager.
[  OK  ] Stopped target basic.target - Basic System.
[  OK  ] Stopped target paths.target - Path Units.
[  OK  ] Stopped target slices.target - Slice Units.
[  OK  ] Removed slice user.slice - User and Session Slice.
[  OK  ] Stopped target sockets.target - Socket Units.
         Stopping dbus-broker.service - D-Bus System Message Bus...
[  OK  ] Stopped dbus-broker.service - D-Bus System Message Bus.
[  OK  ] Closed dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Stopped target sysinit.target - System Initialization.
[  OK  ] Stopped target cryptsetup.target - Local Encrypted Volumes.
[  OK  ] Stopped systemd-ask-password-console.path - Dispatch Password Requests to Console Directory Watch.
[  OK  ] Stopped systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[  OK  ] Stopped target veritysetup.target - Local Verity Integrity Protected Volumes.
[  OK  ] Stopped systemd-update-done.service - Update is Completed.
[  OK  ] Stopped ldconfig.service - Rebuild Dynamic Linker Cache.
[  OK  ] Stopped systemd-hwdb-update.service - Rebuild Hardware Database.
[  OK  ] Stopped systemd-journal-catalog-update.service - Rebuild Journal Catalog.
         Stopping systemd-update-utmp.service - Update UTMP about System Boot/Shutdown...
[  OK  ] Stopped systemd-networkd.service - Network Configuration.
[  OK  ] Closed systemd-networkd.socket - Network Service Netlink Socket.
[  OK  ] Stopped systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Stopped systemd-update-utmp.service - Update UTMP about System Boot/Shutdown.
[  OK  ] Stopped systemd-tmpfiles-setup.service - Create Volatile Files and Directories.
[  OK  ] Stopped target local-fs.target - Local File Systems.
         Unmounting home.mount - /home...
         Unmounting run-credentials-systemd\x2dsysusers.se…e.mount - /run/credentials/systemd-sysusers.service...
         Unmounting tmp.mount - Temporary Directory /tmp...
[  OK  ] Unmounted home.mount - /home.
[  OK  ] Unmounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Unmounted run-credentials-systemd\x2dsysusers.service.mount - /run/credentials/systemd-sysusers.service.
[  OK  ] Stopped target local-fs-pre.target - Preparation for Local File Systems.
[  OK  ] Stopped target swap.target - Swaps.
[  OK  ] Reached target umount.target - Unmount All Filesystems.
[  OK  ] Stopped systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev.
[  OK  ] Stopped systemd-sysusers.service - Create System Users.
[  OK  ] Stopped systemd-remount-fs.service - Remount Root and Kernel File Systems.
[  OK  ] Reached target shutdown.target - System Shutdown.
[  OK  ] Reached target final.target - Late Boot Services.
[  OK  ] Finished systemd-poweroff.service - System Power Off.
[  OK  ] Reached target poweroff.target - System Power Off.
Sending SIGTERM to remaining processes...
Sending SIGKILL to remaining processes...
All filesystems, swaps, loop devices, MD devices and DM devices detached.
Powering off.

2 years agooomd: check mem free and swap free before doing a swap-based kill 20020/head
Anita Zhang [Thu, 24 Jun 2021 21:58:40 +0000 (14:58 -0700)] 
oomd: check mem free and swap free before doing a swap-based kill

https://bugzilla.redhat.com/show_bug.cgi?id=1974763

2 years agooomd: get memory total and free as part of system context
Anita Zhang [Thu, 24 Jun 2021 10:11:07 +0000 (03:11 -0700)] 
oomd: get memory total and free as part of system context

2 years agooomd: switch system context parsing to use /proc/meminfo
Anita Zhang [Thu, 24 Jun 2021 09:37:57 +0000 (02:37 -0700)] 
oomd: switch system context parsing to use /proc/meminfo

Makes it easier in the next commits to unify on one way to read swap and
memory info.

2 years agohwdb: add accel matrix for One-netbook OneMix 2s
laineantti [Tue, 29 Jun 2021 20:51:58 +0000 (23:51 +0300)] 
hwdb: add accel matrix for One-netbook OneMix 2s

2 years agoImprove tmpfiles unsafe transition log message (#20048)
Albert Brox [Wed, 30 Jun 2021 09:54:15 +0000 (05:54 -0400)] 
Improve tmpfiles unsafe transition log message (#20048)

2 years agoman: document ip proto in SocketBind{Allow|Deny}= 20021/head
Julia Kartseva [Thu, 24 Jun 2021 19:16:51 +0000 (12:16 -0700)] 
man: document ip proto in SocketBind{Allow|Deny}=

2 years agodbus: extend SocketBind{Allow|Deny}= with ip proto
Julia Kartseva [Wed, 23 Jun 2021 23:37:53 +0000 (16:37 -0700)] 
dbus: extend SocketBind{Allow|Deny}= with ip proto

2 years agofragment: add ip protocol to SocketBind{Allow|Deny}=
Julia Kartseva [Tue, 15 Jun 2021 02:14:14 +0000 (19:14 -0700)] 
fragment: add ip protocol to SocketBind{Allow|Deny}=

Add ip protocol token to SocketBind{Allow|Deny}= property parser.

Use parse_socket_bind_item helper.

Replace int32_t with int in cgroup item for socket-bind as it was
requested in [0].

Update tests.

[0] https://github.com/systemd/systemd/pull/19942#discussion_r652150024

2 years agoshared: add parser for SocketBind{Allow|Deny}=
Julia Kartseva [Tue, 29 Jun 2021 23:04:32 +0000 (16:04 -0700)] 
shared: add parser for SocketBind{Allow|Deny}=

Parse address family, ip protocol and ports, any of them can be
optional. If neither is specified, a special value 'any' is expected.
Helper is placed in shared to be reused in both fragment and dbus.
Add unit tests with valid and invalid examples.

2 years agoshared: add ip_protocol_{from|to}_tcp_udp helpers
Julia Kartseva [Sat, 26 Jun 2021 00:14:40 +0000 (17:14 -0700)] 
shared: add ip_protocol_{from|to}_tcp_udp helpers

Thin wrappers of ip_protocol_{from|to}_name targeting IPPROTO_TCP and
IPPROTO_UDP only.
Used to parse IP protocol configuration restricted only to TCP and UDP,
e.g. in SocketBind{Allow|Deny}= unit property.

These helpers are inspired by af_{from|to}_ipv4_ipv6 and potentially
extendable with other IP protocols if there is a use-case to expose
them.

2 years agobpf: add ip proto matching to socket-bind prog
Julia Kartseva [Sat, 12 Jun 2021 01:27:27 +0000 (18:27 -0700)] 
bpf: add ip proto matching to socket-bind prog

Lookup ip protocol in a socket address to allow or deny binding a socket
to the address.
Matching rule is extended with 'protocol' field. If its value is 0
(IPPROTO_IP) ip protocol comparison is omitted and matching is passed to
the next token which is ip ports.

Documentation is updated.

2 years agoAdd systemd-resolve backwards compatibility section to resolvectl docs
Dan Streetman [Tue, 29 Jun 2021 10:29:53 +0000 (06:29 -0400)] 
Add systemd-resolve backwards compatibility section to resolvectl docs

2 years agoMerge pull request #20047 from keszybz/doc-fix
Luca Boccassi [Tue, 29 Jun 2021 11:52:38 +0000 (12:52 +0100)] 
Merge pull request #20047 from keszybz/doc-fix

Update dnssec-trust-anchors comment syntax description and put rrs in index

2 years agoresolved: Fix link to resolv.conf manpage
Raul Tambre [Tue, 29 Jun 2021 08:49:56 +0000 (11:49 +0300)] 
resolved: Fix link to resolv.conf manpage

Seems to typically located in volume 5 these days on Linux systems that systemd targets.

2 years agoresolved: do not try to copy empty NSEC types bitmaps
Alexander Tsoy [Mon, 28 Jun 2021 20:00:11 +0000 (23:00 +0300)] 
resolved: do not try to copy empty NSEC types bitmaps

dns_resource_record_copy() assumes that NSEC types bitmap is non-empty
which results in a null pointer dereference inside bitmap_copy() in some
cases. Fix this by calling bitmap_copy() conditionally.

2 years agoman: add "DNS resource record types" section 20047/head
Zbigniew Jędrzejewski-Szmek [Sun, 27 Jun 2021 14:33:12 +0000 (16:33 +0200)] 
man: add "DNS resource record types" section

2 years agoman: add markup to dns resource record labels
Zbigniew Jędrzejewski-Szmek [Sun, 27 Jun 2021 14:20:38 +0000 (16:20 +0200)] 
man: add markup to dns resource record labels

2 years agocore: add combined status unit format
Paweł Marciniak [Sat, 26 Jun 2021 15:50:16 +0000 (17:50 +0200)] 
core: add combined status unit format

[zjs: actual implementation is stripped out and will be added in subsequent
commits.]

2 years agoMerge pull request #20039 from yuwata/sd-device-get-sysattr-value-embedded-nul
Franck Bui [Mon, 28 Jun 2021 13:43:29 +0000 (15:43 +0200)] 
Merge pull request #20039 from yuwata/sd-device-get-sysattr-value-embedded-nul

sd-device: allow to read sysattr which contains embedded NUL

2 years agoman: Don't link to a manpage that's within our documentation
Raul Tambre [Mon, 28 Jun 2021 09:44:22 +0000 (12:44 +0300)] 
man: Don't link to a manpage that's within our documentation

For example on systemd.network this results in the link taking one to another site with the manpage instead of the document that's on the same site.

2 years agoMerge pull request #20043 from yuwata/sd-netlink-cleanups
Luca Boccassi [Mon, 28 Jun 2021 09:35:34 +0000 (10:35 +0100)] 
Merge pull request #20043 from yuwata/sd-netlink-cleanups

sd-netlink: several trivial cleanups

2 years agoman/dnssec-trust-anchors: update comment syntax description
Zbigniew Jędrzejewski-Szmek [Sun, 27 Jun 2021 13:49:28 +0000 (15:49 +0200)] 
man/dnssec-trust-anchors: update comment syntax description

Let's just use the same phrase as in systemd.syntax(7).
Fixes #20045.

2 years agoman: fix incorrect description regarding DynamicUser= and StateDirectory=
dgcampea [Sat, 26 Jun 2021 12:23:20 +0000 (13:23 +0100)] 
man: fix incorrect description regarding DynamicUser= and StateDirectory=

2 years agoMerge pull request #20042 from yuwata/udev-rule-fix-cid-1457766
Luca Boccassi [Sat, 26 Jun 2021 22:03:36 +0000 (23:03 +0100)] 
Merge pull request #20042 from yuwata/udev-rule-fix-cid-1457766

udev: fix an issue and add a testcase

2 years agosd-netlink: use usec_sub_unsigned() and USEC_INFINITY 20043/head
Yu Watanabe [Sat, 26 Jun 2021 18:31:52 +0000 (03:31 +0900)] 
sd-netlink: use usec_sub_unsigned() and USEC_INFINITY

And shorten code more.

2 years agosd-netlink: shorten code a bit
Yu Watanabe [Sat, 26 Jun 2021 18:28:16 +0000 (03:28 +0900)] 
sd-netlink: shorten code a bit

This also reduces scope of variables, fixes and reduces indentations,
drop unnecessary initializations.

2 years agosd-netlink: do not call lookup_nlmsg_type() for known generic netlink family
Yu Watanabe [Sat, 26 Jun 2021 18:58:30 +0000 (03:58 +0900)] 
sd-netlink: do not call lookup_nlmsg_type() for known generic netlink family

2 years agosd-netlink: rename variables and functions for generic netlink
Yu Watanabe [Sat, 26 Jun 2021 18:00:42 +0000 (03:00 +0900)] 
sd-netlink: rename variables and functions for generic netlink

`id` or `type` is ambiguous. Let's use `nlmsg_type`. Also, use `ret` for
function arguments to store results.

This also adds several assertions.

2 years agosd-netlink: do not trigger assertion by calling socket_broadcast_group_unref() with...
Yu Watanabe [Sat, 26 Jun 2021 17:30:52 +0000 (02:30 +0900)] 
sd-netlink: do not trigger assertion by calling socket_broadcast_group_unref() with an arbitrary group number

socket_broadcast_group_unref() is only called in netlink_slot_disconnect(),
so the assertion should not be triggered as the match slot was
successfully created.

But, we usually design `_ref/unref()` functions as they can be called
for any inputs. So, let's also follow the design rule here.

2 years agosd-netlink: shorten code a bit
Yu Watanabe [Sat, 26 Jun 2021 17:28:14 +0000 (02:28 +0900)] 
sd-netlink: shorten code a bit

This also fixes comments, a log message, and coding style nits.

2 years agoudev-test: add a testcase for string_escape=replace 20042/head
Yu Watanabe [Sat, 26 Jun 2021 15:02:24 +0000 (00:02 +0900)] 
udev-test: add a testcase for string_escape=replace

2 years agoudev: reduce scope of variables
Yu Watanabe [Sat, 26 Jun 2021 14:52:33 +0000 (23:52 +0900)] 
udev: reduce scope of variables

Then, hopefully, we can easily find the bug fixed by the previous
commit.

2 years agoudev: fix use of invalid pointer
Yu Watanabe [Sat, 26 Jun 2021 14:34:59 +0000 (23:34 +0900)] 
udev: fix use of invalid pointer

Fixes a bug introduced by ea0f4578a7e90f5227817058bfb11bb91dbb1431.

Fixes CID#1457766.

2 years agocore/namespace: drop unnecessary initializations
Yu Watanabe [Fri, 25 Jun 2021 19:33:13 +0000 (04:33 +0900)] 
core/namespace: drop unnecessary initializations

2 years agoudev: update log messages
Yu Watanabe [Fri, 25 Jun 2021 18:01:26 +0000 (03:01 +0900)] 
udev: update log messages

Suggested at https://github.com/systemd/systemd/pull/19312#discussion_r658556983.

2 years agosd-device: allow to read sysattr which contains embedded NUL 20039/head
Yu Watanabe [Sat, 26 Jun 2021 01:40:07 +0000 (10:40 +0900)] 
sd-device: allow to read sysattr which contains embedded NUL

This effectively reverts the commit 2a394d0bf2f0afd8b9ed5faeb33f23459e3c6504.

But drop trailing '\r' of the read value, as sd_device_set_sysattr_value() drops it.

Fixes #20025.

2 years agonetworkctl: drop unused member in struct VxLanInfo
Yu Watanabe [Fri, 25 Jun 2021 16:06:38 +0000 (01:06 +0900)] 
networkctl: drop unused member in struct VxLanInfo

2 years agoMerge pull request #20028 from keszybz/hwdb-update-v249 v249-rc2
Zbigniew Jędrzejewski-Szmek [Fri, 25 Jun 2021 14:17:20 +0000 (16:17 +0200)] 
Merge pull request #20028 from keszybz/hwdb-update-v249

Hwdb update for v249-rc2

2 years agoman: document about NAMING_REPLACE_STRICTLY network interface naming policy
Yu Watanabe [Fri, 25 Jun 2021 12:56:53 +0000 (21:56 +0900)] 
man: document about NAMING_REPLACE_STRICTLY network interface naming policy

Follow-up for b4d885f0e861b2d1bb5a62311c61a96f5222b026 and
068b0f77289411ef9f92f5d701759e98145a06e4.