наб [Tue, 16 Mar 2021 15:59:07 +0000 (16:59 +0100)]
kernel-install: don't erase previous errors if a hook returns 77
The manpage says that exiting 77 is the same as exiting 0,
then skipping all other hooks, but the behaviour heretofor
was to exit 0, skip all, and behave as if all hooks exited 0
наб [Tue, 16 Mar 2021 15:08:34 +0000 (16:08 +0100)]
kernel-install/90-loaderentry: use install(1) instead of cp/chown/chmod chains
Also fix typo in error message
Roshan Shariff [Mon, 24 May 2021 07:30:38 +0000 (01:30 -0600)]
rules.d: Properly quote $env{MODALIAS}
Add quotes around use of $env{MODALIAS} in rules.d/80-drivers.rules. The
modalias can contain whitespace, for example when it is dynamically generated
using device or vendor IDs.
Vincent Dechenaux [Mon, 24 May 2021 12:31:06 +0000 (14:31 +0200)]
Typo in service.c
use => user
наб [Mon, 24 May 2021 09:39:38 +0000 (11:39 +0200)]
man: we is OK too -> which is OK too (#19708)
Zbigniew Jędrzejewski-Szmek [Mon, 24 May 2021 05:26:18 +0000 (07:26 +0200)]
Merge pull request #19701 from yuwata/network-udev-do-not-manage-loopback-interfaces
udev: do not manage loopback interfaces
Yu Watanabe [Sun, 23 May 2021 14:02:07 +0000 (23:02 +0900)]
Merge pull request #19704 from yuwata/network-small-fixes
network: several tiny cleanups
Yu Watanabe [Sun, 23 May 2021 07:59:40 +0000 (16:59 +0900)]
udev/net: do not manage loopback interfaces
There are nothing we can configure in udevd for loopback interfaces;
no ethertool configs can be applied, MAC address, interface name should
not be touched.
Yu Watanabe [Sun, 23 May 2021 07:56:47 +0000 (16:56 +0900)]
sd-netlink: rename rtnl_get_link_iftype() -> rtnl_get_link_info() and make it optionally return link flags
Yu Watanabe [Sun, 23 May 2021 07:44:03 +0000 (16:44 +0900)]
udev/net: rename link_config -> LinkConfig
Yu Watanabe [Sun, 23 May 2021 07:37:28 +0000 (16:37 +0900)]
udev/net: rename link_config_ctx -> LinkConfigContext
Yu Watanabe [Fri, 21 May 2021 23:15:00 +0000 (08:15 +0900)]
network: IPv6LinkLocalAddressGenerationMode=none disables IPv6LL addressing
Yu Watanabe [Thu, 20 May 2021 19:02:01 +0000 (04:02 +0900)]
network: make link_configure() static
Yu Watanabe [Thu, 20 May 2021 19:01:24 +0000 (04:01 +0900)]
ordered-set: introduce ordered_set_get()
Yu Watanabe [Sun, 23 May 2021 06:24:46 +0000 (15:24 +0900)]
Merge pull request #19681 from yuwata/ethtool-util-log
ethtool-util: several cleanups
Yu Watanabe [Fri, 21 May 2021 19:37:54 +0000 (04:37 +0900)]
ethtool-util: drop unused function
Yu Watanabe [Fri, 21 May 2021 19:23:51 +0000 (04:23 +0900)]
udev/net: drop unnecessary conditions
Yu Watanabe [Thu, 20 May 2021 21:22:37 +0000 (06:22 +0900)]
udev/net: drop fallback logic to set speed
ethtool_set_glinksettings() already fallback to use ETHTOOL_GSET/ETHTOOL_SSET
commands when ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS are not
supported.
Yu Watanabe [Fri, 21 May 2021 18:15:16 +0000 (03:15 +0900)]
ethtool-util: do not touch anything if nothing is requested
And update settings only when it is necessary.
Yu Watanabe [Thu, 20 May 2021 21:03:14 +0000 (06:03 +0900)]
ethtool-util: disable autonegotiation when speed, duplex, or port is specified
And if autonegotiation is enabled, speed, duplex, and port are ignored.
Fixes #19625.
Yu Watanabe [Thu, 20 May 2021 20:32:17 +0000 (05:32 +0900)]
ethtool-util: move and rebreak comments
Yu Watanabe [Fri, 21 May 2021 19:07:01 +0000 (04:07 +0900)]
ethtool-util: make ethtool_connect() open fd only when it is not opened
Luca Boccassi [Sat, 22 May 2021 22:57:18 +0000 (23:57 +0100)]
Merge pull request #19697 from jwrdegoede/hwdb-more-accel-quirks
Hwdb more accel quirks
Luca Boccassi [Sat, 22 May 2021 22:56:59 +0000 (23:56 +0100)]
Merge pull request #19700 from keszybz/check-os-release-fixups
Fixups for man/check-os-release.*
Hans de Goede [Sat, 22 May 2021 17:42:21 +0000 (19:42 +0200)]
hwdb: keyboard: Ignore duplicate atkbd keypresses on touchpad on/off toggle
The atkbd device on the Lenovo Yoga 300-11IBR 2-in-1 sends unknown
keycodes when the touchpad is toggled on/off:
[ 1918.995562] atkbd serio0: Unknown key pressed (translated set 2, code 0x63 on isa0060/serio0).
[ 1918.995610] atkbd serio0: Use 'setkeycodes 63 <keycode>' to make it known.
[ 1919.032121] atkbd serio0: Unknown key released (translated set 2, code 0x63 on isa0060/serio0).
[ 1919.032135] atkbd serio0: Use 'setkeycodes 63 <keycode>' to make it known.
[ 1926.098414] atkbd serio0: Unknown key pressed (translated set 2, code 0x62 on isa0060/serio0).
[ 1926.098461] atkbd serio0: Use 'setkeycodes 62 <keycode>' to make it known.
[ 1926.146537] atkbd serio0: Unknown key released (translated set 2, code 0x62 on isa0060/serio0).
[ 1926.146583] atkbd serio0: Use 'setkeycodes 62 <keycode>' to make it known.
The "Ideapad extra buttons" driver alreadys sends f22 / f23 key-events
when the touchpad is toggles off, so map the keycodes for the duplicate
atkbd events to unknown to silence these kernel warnings.
Zbigniew Jędrzejewski-Szmek [Sat, 22 May 2021 18:29:03 +0000 (20:29 +0200)]
man/check-os-release.*: allow ID_LIKE to have multiple values
I missed the fact that it is documented to be a space-separated list.
Zbigniew Jędrzejewski-Szmek [Sat, 22 May 2021 18:23:02 +0000 (20:23 +0200)]
man/check-os-release.py: ignore comment and empty lines
Plus fix off-by-one in error printing.
Hans de Goede [Sat, 22 May 2021 14:22:36 +0000 (16:22 +0200)]
hwdb: Add accel orientation quirk for the Lenovo Yoga 300-11IBR 2-in-1
Add a quirk for the accelerometer orientation and location for the
2 accelerometers inside the Lenovo Yoga 300-11IBR 2-in-1.
Lennart Poettering [Sat, 22 May 2021 12:44:50 +0000 (14:44 +0200)]
Merge pull request #19686 from keszybz/os-release-modernization-and-examples
os-release modernization and examples
Lennart Poettering [Sat, 22 May 2021 12:35:26 +0000 (14:35 +0200)]
Merge pull request #19693 from poettering/sleep-tweaks
sleep code refactoring + automatic fallback from hybrid sleep to suspend
Zbigniew Jędrzejewski-Szmek [Fri, 21 May 2021 13:02:23 +0000 (15:02 +0200)]
man/check-os-release.py: strip trailing whitespace
The shell parser would do that, so so should we.
Zbigniew Jędrzejewski-Szmek [Fri, 21 May 2021 09:11:01 +0000 (11:11 +0200)]
man: say that initrd-release is like os-release
Hans de Goede [Wed, 12 May 2021 17:05:18 +0000 (19:05 +0200)]
hwdb: Add accel orientation quirk for the KD Kurio Smart C15200 tablet
Add a quirk to fix the accelerometer orientation on the
KD Kurio Smart C15200 tablet.
Lennart Poettering [Fri, 21 May 2021 18:24:54 +0000 (20:24 +0200)]
sleep: clarify that failure setting env var is not fatal
Lennart Poettering [Fri, 21 May 2021 16:39:38 +0000 (18:39 +0200)]
sleep: if hybrid sleep fails, do regular suspend
Fixes #19550
Lennart Poettering [Fri, 21 May 2021 16:39:06 +0000 (18:39 +0200)]
sleep: remove duplicate logging
execute() logs about all errors, hence only log about what's new, i.e.
what we'll do as consequence, and don't mention the error cause again.
Lennart Poettering [Fri, 21 May 2021 16:27:04 +0000 (18:27 +0200)]
sleep: don't check for EADV
EADV is not generated anymore since
6d176522f5480ea9e9a83de5ef5ea5e0d95b79cb, let's hence not check for it
anymore.
Lennart Poettering [Fri, 21 May 2021 16:26:48 +0000 (18:26 +0200)]
sleep: can_sleep_state() + can_sleep_disk() don#t return plain booleans
Lennart Poettering [Fri, 21 May 2021 16:23:42 +0000 (18:23 +0200)]
sleep: use SleepOperation enum everywhere and drop sleep_settings()
Instead of comparing strings everywhere, let's use the new enum. This
allows us to drop sleep_settings(), since the operation enum can be
directly used as index into the config settings.
Some minor other refactoring is done, but mostly just shifting thing
around a bit, no actual change in behaviour.
Lennart Poettering [Thu, 20 May 2021 20:31:17 +0000 (22:31 +0200)]
sleep: introduce high-level SleepOperation enum
Lennart Poettering [Fri, 21 May 2021 20:04:33 +0000 (22:04 +0200)]
units: make sure importd has CAP_LINUX_IMMUTABLE flag
Since
d8f9686c0f1f276c0a687d9bd69f3adf33f15a95 we use the chattr +i flag
for marking containers in directories as reead-only. But to do so we
need the cap for it, hence grant it.
Fixes: #19115
Yu Watanabe [Sat, 22 May 2021 07:01:13 +0000 (16:01 +0900)]
Merge pull request #19594 from yuwata/network-nexthop-group
network: nexthop: add Group= setting to configure multipath route with group nexthop
Yu Watanabe [Sat, 22 May 2021 06:59:17 +0000 (15:59 +0900)]
Merge pull request #19691 from poettering/read-virtual-file-tweaks
tweaks to read_virtual_file()
Zbigniew Jędrzejewski-Szmek [Fri, 21 May 2021 08:53:25 +0000 (10:53 +0200)]
units: skip some units in the initrd
I'm working on building initramfs images directly from normal packages, and it
doesn't make sense for those units to be started. Pristine system rpms need to
behave correctly as much as possible also in the initrd, and those units are
enabled by the rpms. There usually isn't enough time for the timer to actually
fire, but starting it gives a line on the console and generally looks confusing
and sloppy. Flushing the journal means that its actually lost, since the real
/var is not available yet.
Another approach would be not enable those units, but right now they are
statically enabled, and changing that would be more work, and doesn't really
seem necessary, since the condition checks are very quick.
Checking for /etc/initrd-release is the standard condition that the initrd
units use, so let's do the same here.
Yu Watanabe [Thu, 13 May 2021 02:11:48 +0000 (11:11 +0900)]
test-network: add a test case for nexthop Group= setting
Yu Watanabe [Fri, 14 May 2021 01:15:23 +0000 (10:15 +0900)]
network: nexthop: add Group= setting to configure multipath route with group nexthop
Yu Watanabe [Tue, 18 May 2021 03:20:46 +0000 (12:20 +0900)]
network: nexthop: IFF_UP flag is required for nexthops which attached to a link
Yu Watanabe [Wed, 12 May 2021 19:59:56 +0000 (04:59 +0900)]
network: make nexthop_add(), nexthop_configure() and friends return 0 on success
After request queue is introduced, the return value on success is unused.
Lennart Poettering [Fri, 21 May 2021 15:40:19 +0000 (17:40 +0200)]
fileio: read_virtual_file(): on last attempt ignore file size
Apparently the reported file size was misleading on this file, hence
ignore it on our last loop attempt and just pretend it wasn't reported
at all.
Lennart Poettering [Fri, 21 May 2021 15:36:40 +0000 (17:36 +0200)]
test-fileio: run read_virtual_file() for a couple of more interesting sizes
Lennart Poettering [Fri, 21 May 2021 15:35:12 +0000 (17:35 +0200)]
test-fileio: fix confusing log output
Previously we'd pass all return values of read_virtual_file() to
log_info_errno() as error, but that makes no sense, given that we
sometimes return positive one with means "not truncated" but we'd show
as "Permission denied. Let's fix this, and log differently for sucess
and error.
Lennart Poettering [Fri, 21 May 2021 15:33:32 +0000 (17:33 +0200)]
fileio: read_virtual_file() don't tweak buffer for returning it when we aren't returning it
Let's avoid some redundant work.
Moreover, let' not check for NUL bytes in the buffer if we don't return
the buffer.
Lennart Poettering [Fri, 21 May 2021 14:32:37 +0000 (16:32 +0200)]
fileio: fix typo in comment
Lennart Poettering [Fri, 21 May 2021 14:31:52 +0000 (16:31 +0200)]
fileio: read_virtual_file(): exit once the max_size limit is reached
Alternative to: #19682
Lennart Poettering [Fri, 21 May 2021 14:30:52 +0000 (16:30 +0200)]
fileio: if we try to read a file larger than SIZE_MAX this is not a problem if a max_size is specified
i.e. 32bit userspace reading /proc/kcore on a 64bit kernel with max_size
should not needlessly fail.
Yu Watanabe [Thu, 13 May 2021 06:07:35 +0000 (15:07 +0900)]
network: route: make stored multipath route weight equivalent to hop of nexthop
Yu Watanabe [Thu, 20 May 2021 20:30:28 +0000 (05:30 +0900)]
ethtool-util: downgrade log level
This just hides issue #19625. It will be fixed in later commits.
Luca Boccassi [Fri, 21 May 2021 12:39:24 +0000 (13:39 +0100)]
test-env-util: use streq_ptr when comparing directly the result of getenv
It might return NULL.
Fixes CID #
1453247
Lennart Poettering [Mon, 10 May 2021 14:41:46 +0000 (16:41 +0200)]
sd-device: use strjoina() more again in sd_device_new_from_subsystem_sysname()
This reverts a major part of:
e17c95af8e450caacde692875b30675cea75211f
Using format strings for concatenating strings is pretty unefficient,
and using PATH_MAX buffers unpretty as well. Let's revert to using
strjoina() as before.
However, to fix the fuzz issue at hand, let's explicitly verify the two
input strings ensuring they are valid path names. This includes a length
check (to 2K each), thus making things prettier, faster and using less
memory again.
Lennart Poettering [Fri, 21 May 2021 15:52:36 +0000 (17:52 +0200)]
Merge pull request #19676 from bluca/coverity
Fix two new coverity issues
Lennart Poettering [Fri, 21 May 2021 15:52:14 +0000 (17:52 +0200)]
Merge pull request #19672 from yuwata/strextend
tree-wide: introduce strextendf_with_separator() and use strextend() or freinds
Zbigniew Jędrzejewski-Szmek [Thu, 20 May 2021 18:37:55 +0000 (20:37 +0200)]
man: reword description of BUILD_ID in os-release
Our description was pretty hard to parse. Let's replace it with a description
loosely based on a fairly clear description written by a distro that actually
uses BUILD_ID:
https://developer.rigado.com/docsets/Working-with-the-Rigado-Vesta-Gateway/latest/production/versioning-images.html#the-rigos-scheme.
Lennart Poettering [Fri, 21 May 2021 14:35:16 +0000 (16:35 +0200)]
Merge pull request #19647 from ddstreet/test-oomd-failure
handle lack of kernel support for some cgroup files
Zbigniew Jędrzejewski-Szmek [Thu, 20 May 2021 18:00:18 +0000 (20:00 +0200)]
man: add example os-release mangling in python
This is also not entirely obvious. I think the code I came
up with is pretty elegant ;] The final part of of the code that makes
use of the parsed data is kept very similar to the shell code on purpose,
even though it could be written a bit more idiomatically.
Zbigniew Jędrzejewski-Szmek [Thu, 20 May 2021 17:47:55 +0000 (19:47 +0200)]
man: add an example how to correctly read os-release in shell
This is not entirely obvious.
The logic of how to interpret the fields applies in any language, so drop the
pointless mention of C or shell.
Zbigniew Jędrzejewski-Szmek [Thu, 20 May 2021 12:57:06 +0000 (14:57 +0200)]
man: reorder fields in os-release
Let's order the fields from the most general to least: os name, os variant, os
version, machine-parseable version details, metadata, special settings. I added
section headers to roughly group the settings. The division is not strict,
because for example CPE_NAME also includes the version, and PRETTY_NAME may
too, but it still makes it easier to find the right name.
Also split out Examples to separate paragraphs:
almost all descriptions had "Example:" at the end, where multiple
examples were listed. Splitting this out to separate paragraphs
makes the whole thing much easier to read.
Add missing markup and punctuation while at it.
About
- If not set, defaults to <literal>NAME=Linux</literal>.
+ If not set, a default of <literal>NAME=Linux</literal> may be used.
and similar changes: in many circumstances, if this is not set, no value should
be used. The fallback mostly make sense when we need to present something to the
user. So let's reword this to not imply that the default is necessary.
Yu Watanabe [Thu, 20 May 2021 07:14:17 +0000 (16:14 +0900)]
network: fix an infinite loop
Fixes #19467.
asavah [Wed, 19 May 2021 20:58:02 +0000 (23:58 +0300)]
man: prevent race condition when generating systemd.directives.xml
Dan Streetman [Fri, 14 May 2021 12:08:33 +0000 (08:08 -0400)]
oom: log one-time warning if kernel doesn't provide memory.swap.current
The kernel can be compiled without support for any memory.swap.* files, or
it can be disabled at boot time with the 'swapaccount=0' boot parameter,
so if the file doesn't exist log warning indicating the kernel doesn't
support the file and the user may need to try using the 'swapaccount=1'
boot param.
Note that the actual error from the call to fopen() is ENOENT, but
that is translated into ENODATA in cg_get_attribute_as_uint64()
Dan Streetman [Wed, 19 May 2021 18:22:28 +0000 (14:22 -0400)]
psi: update is_pressure_supported to read file
The kernel still provides the /proc and cgroup pressure files even
if its psi support is disabled, so we need to actually read the files
to verify they don't return -EOPNOTSUPP
Dan Streetman [Wed, 19 May 2021 14:22:21 +0000 (10:22 -0400)]
log: add log_once() and log_once_errno() macros
These macros will log a message at the specified level only the first time
they are called. On all later calls, if the specified level is debug, the
logs will be suppressed; otherwise the message will be logged at debug.
Dan Streetman [Wed, 19 May 2021 14:01:59 +0000 (10:01 -0400)]
macro: add ONCE macro that evaluates to 1 one time
Every location that this macro is used, it will be true the first
time it's checked, then false each time after that.
This can be useful for things such as one-time logging.
Lennart Poettering [Thu, 20 May 2021 19:26:56 +0000 (21:26 +0200)]
fileio: make return parameters of read_virtual_file() optional
Prompted by: #19647
Lennart Poettering [Thu, 20 May 2021 19:37:59 +0000 (21:37 +0200)]
Merge pull request #19551 from cgzones/fix_reload
selinux: reload label db on policy load with libselinux 3.2
Lennart Poettering [Thu, 20 May 2021 19:33:14 +0000 (21:33 +0200)]
Merge pull request #19605 from yuwata/network-fdb-outgoing-interface
network: bridge-fdb: add support to specify outgoing interface
Yu Watanabe [Thu, 20 May 2021 06:55:06 +0000 (15:55 +0900)]
man: mention that drop-in files are merged in alphanumeric order
This addresses the request in https://github.com/systemd/systemd/issues/19467#issuecomment-
829332877.
Yu Watanabe [Thu, 20 May 2021 05:54:32 +0000 (14:54 +0900)]
sysv-generator: use strextend_with_separator()
Yu Watanabe [Thu, 20 May 2021 05:58:12 +0000 (14:58 +0900)]
systemctl: use strextend_with_separator()
Yu Watanabe [Thu, 20 May 2021 05:41:48 +0000 (14:41 +0900)]
run: use strextend_with_separator()
Yu Watanabe [Thu, 20 May 2021 05:36:14 +0000 (14:36 +0900)]
nspawn: use strextendf_with_separator()
Luca Boccassi [Thu, 20 May 2021 09:36:18 +0000 (10:36 +0100)]
resolved: check return value of gcrypt APIs
Coverity complains about missing error check.
CID #
1453234
Luca Boccassi [Thu, 20 May 2021 09:35:36 +0000 (10:35 +0100)]
journal: fix uninitialized variable use
If the journal file being processed is archivied, seqnum_id will not be
initialized before being passed on, and coverity complains.
Initialize it to zero.
CID #
1453235
Yu Watanabe [Fri, 14 May 2021 05:52:32 +0000 (14:52 +0900)]
test-network: add a testcase for OutgoingInterface= in [BridgeFDB]
Susant Sahani [Fri, 14 May 2021 05:28:18 +0000 (14:28 +0900)]
network: bridge-fdb: add support to specify outgoing interface
Yu Watanabe [Fri, 14 May 2021 05:05:00 +0000 (14:05 +0900)]
network: use queue to configure bridge FDB
Yu Watanabe [Fri, 14 May 2021 04:24:48 +0000 (13:24 +0900)]
network: bridgeFDB: rename FdbEntry -> BridgeFDB
Yu Watanabe [Thu, 20 May 2021 05:28:20 +0000 (14:28 +0900)]
networkctl: use strextend()
Yu Watanabe [Thu, 20 May 2021 05:24:57 +0000 (14:24 +0900)]
sd-bus: use strextend()
Yu Watanabe [Thu, 20 May 2021 05:22:58 +0000 (14:22 +0900)]
escape: use strextend()
Yu Watanabe [Thu, 20 May 2021 05:19:22 +0000 (14:19 +0900)]
pid1: use strextend_with_separator()
Yu Watanabe [Thu, 20 May 2021 05:15:34 +0000 (14:15 +0900)]
env-util: use strextend()
Yu Watanabe [Thu, 20 May 2021 05:07:34 +0000 (14:07 +0900)]
network: route: make log_route_debug() show weight for multipath route
Yu Watanabe [Thu, 20 May 2021 04:56:37 +0000 (13:56 +0900)]
string-util: introduce strextendf_with_separator()
Luca Boccassi [Thu, 20 May 2021 09:14:30 +0000 (10:14 +0100)]
Merge pull request #19669 from mrc0mmand/ci-mkosi-arch
ci: work around #19442 to make CI happy again
Yu Watanabe [Thu, 20 May 2021 06:04:15 +0000 (15:04 +0900)]
nspawn: fix build failure
This fixes a conflict between #19555 and #19653.
Anita Zhang [Wed, 19 May 2021 07:33:59 +0000 (00:33 -0700)]
man: document default rlimits
Fixes #19645
Zbigniew Jędrzejewski-Szmek [Wed, 19 May 2021 14:44:13 +0000 (16:44 +0200)]
test: enable fuzz regression tests by default
This ensures that the fuzz test code is also built by default.
It also increases the test coverage a bit. Compiling the tests
*with* sanitizers is painfully slow, so this is not enabled. But
just compiling them sauté is hardly noticable. Running the tests
increases the test count and runtime:
622 tests, 26 s
to
922 tests, 35 s
I think this is acceptable.
Lennart Poettering [Thu, 20 May 2021 05:33:51 +0000 (07:33 +0200)]
Merge pull request #19555 from poettering/nspawn-bind-user
nspawn: add --bind-user= feature for binding host user+homedir into a container
Lennart Poettering [Thu, 20 May 2021 05:33:21 +0000 (07:33 +0200)]
Merge pull request #19591 from poettering/terminal-fixes
five terminal handling fixes
Luca Boccassi [Wed, 19 May 2021 13:45:47 +0000 (14:45 +0100)]
build tests: check that Github pages can be built successfully