summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* udevd: implement the full Type=notify-reload protocolLennart Poettering2023-01-102-22/+28
| | | | | | We are basically already there, just need to add MONOTONIC_USEC= to the RELOADING=1 message, and make sure the message is generated in really all cases.
* networkd: implement Type=notify-reload protocolLennart Poettering2023-01-105-21/+47
|
* pid1: make sure we send our calling service manager RELOADING=1 when reloadingLennart Poettering2023-01-104-1/+24
| | | | | | | | And send READY=1 again when we are done with it. We do this not only for "daemon-reload" but also for "daemon-reexec" and "switch-root", since from the perspective of an encapsulating service manager these three operations are not that different.
* man: document Type=notify-reloadLennart Poettering2023-01-102-122/+162
|
* pid1: add new Type=notify-reload service typeLennart Poettering2023-01-108-76/+189
| | | | Fixes: #6162
* manager: add one more assert()Lennart Poettering2023-01-101-0/+2
|
* Merge pull request #26003 from keszybz/efi-ifdefsLennart Poettering2023-01-109-17/+20
|\ | | | | Fix one compile-time conditional and refactor SD_BOOT definition
| * meson: use 0|1 for SD_BOOTZbigniew Jędrzejewski-Szmek2023-01-109-17/+20
| | | | | | | | | | | | | | We converted to not using #ifdef for most of our defines because the syntax is nicer and we are protected against typos and can set -Werror=undef. Let's do the same for SD_BOOT. The define is nicely hidden in build.h for normal builds, and for EFI builds we were already setting SD_BOOT on the commandline.
| * fundamental: fix compile check for explicit_bzeroZbigniew Jędrzejewski-Szmek2023-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Our HAVE_* variables are defined to 0 or 1, so '#if defined(HAVE_*)' is always true. The variable is not defined when compiling for EFI though, so we need the additional guard. Fixup for 3f92dc2fd4070b213e6bc85263a9bef06ec9a486. (I don't want to do something like add -DHAVE_EXPLICIT_BZERO=0 to the commandline in src/efi/boot/meson.build, because this quite verbose. Our compilation commandlines are very long already. Let's instead keep this localized in this one spot in the source file.)x
* | bootctl: honor $KERNEL_INSTALL_CONF_ROOTLudwig Nussel2023-01-105-9/+29
| | | | | | | | | | Honor $KERNEL_INSTALL_CONF_ROOT for reading config files, as kernel-install does.
* | core: add OpenFile settingRichard Phibel2023-01-1027-6/+914
| |
* | ci: Remove a bunch of labels when a PR is mergedDaan De Meyer2023-01-101-1/+32
| |
* | shutdown: don't close pipe fds.Lennart Poettering2023-01-101-2/+2
| | | | | | | | | | | | Man, I royally screwed this one up! 😳 Fixes: #25998
* | man: restore example formatting in systemd-coredump(8)Zbigniew Jędrzejewski-Szmek2023-01-101-1/+2
| | | | | | | | Fixup for 4f57f77267610388139272d9ab9ee64dd78e9720.
* | Merge pull request #24939 from msizanoen1/journal-realtime-enforce-consistencyDaan De Meyer2023-01-104-2/+14
|\ \ | |/ |/| journal: enforce strict consistency for realtime timestamps on write
| * journal: handle clock rollback error in managed_journal_file_open_reliablymsizanoen12023-01-091-1/+2
| | | | | | | | | | -EREMCHG was introduced to denote a clock rollback detection error. Handle this in managed_journal_file_open_reliably.
| * test-journal-flush: don't fail on -EREMCHGmsizanoen12023-01-091-1/+2
| | | | | | | | | | -EREMCHG on write is now used to denote clock rollback conditions detected during journal write.
| * journal: enforce strict consistency for realtime timestamps on writemsizanoen12023-01-092-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure all realtime timestamps in a journal file are strictly ordered on write as a defense-in-depth measure. All known callers of journal_file_append_entry and journal_file_copy_entry, which call this function, should be able to handle the error by rotating the journal. This is especially helpful for systems with RTC local time enabled, where all log entries from initramfs might be recorded as several hours later than it actually is, which won't get caught by journald during log flushing. In those cases, the resulting inconsistency can cause libsystemd to loop infinitely through journal files as observed in `abrt-dump-journal-oops`.
* | kernel-install: refactor some variablesLudwig Nussel2023-01-101-10/+12
| | | | | | | | In preparation for plugin support
* | shutdown: propagate the original errnoYu Watanabe2023-01-101-1/+1
| | | | | | | | Follow-up for b293bb23162534e0260ed07357c2478655541166.
* | hwdb: Mark Dell platform accel sensor location to baseKai-Chuan Hsieh2023-01-101-0/+1
| | | | | | | | | | Dell would like to disable screen rotation for the platform eternally. Mark the aceel sensor location base to disable it.
* | Fix Positivo MASTER-N1110 key toggle touchpaddrosdeck2023-01-101-0/+2
| |
* | Merge pull request #25980 from yuwata/udev-fail-to-rename-netifLennart Poettering2023-01-106-94/+251
|\ \ | | | | | | udev,pid1: gracefully handle failure in renaming network interface
| * | test: add tests for failure in renaming network interfaceYu Watanabe2023-01-101-0/+78
| | |
| * | core/device: ignore failed ueventsYu Watanabe2023-01-101-0/+19
| | | | | | | | | | | | | | | When udevd failed to process the device, SYSTEMD_ALIAS or any other properties may contain invalid values. Let's refuse to handle the uevent.
| * | core/device: downgrade log level for ignored errorsYu Watanabe2023-01-101-2/+2
| | |
| * | sd-device: introduce device_get_property_int()Yu Watanabe2023-01-102-0/+21
| | |
| * | udev: restore syspath and properties on failureYu Watanabe2023-01-101-29/+64
| | | | | | | | | | | | | | | Otherwise, invalid sysname or properties may be broadcast to udev listeners.
| * | udev: move device_rename() from device-private.cYu Watanabe2023-01-093-46/+46
| | | | | | | | | | | | The function is used only by udevd.
| * | sd-device: do not directly access entry in sd-device objectYu Watanabe2023-01-091-5/+9
| | | | | | | | | | | | No functional change, just refactoring.
| * | sd-device: make device_set_syspath() clear sysname and sysnumYu Watanabe2023-01-092-4/+4
| | | | | | | | | | | | | | | | | | Otherwise, when a new syspath is assigned to the sd-device object, sd_device_get_sysname() or _sysnum() will provide an outdated device name or number.
| * | udev: align tableYu Watanabe2023-01-091-17/+17
| | |
* | | man: exec,nspawn: fix typoUlrich Ölmann2023-01-102-2/+2
| | |
* | | shutdown: propagate mount() failures from child to parentLennart Poettering2023-01-093-12/+59
| | | | | | | | | | | | | | | | | | Let's propagate the actual error code up, as we usual do. Inspired by: #25168
* | | Merge pull request #25982 from mrc0mmand/curl-schemeLennart Poettering2023-01-092-5/+9
|\ \ \ | | | | | | | | Fix build with the latest libcurl
| * | | import: use CURLOPT_PROTOCOLS_STR with libcurl >= 7.85.0Frantisek Sumsal2023-01-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CURLOPT_PROTOCOLS [0] was deprecated in libcurl 7.85.0 with CURLOPT_PROTOCOLS_STR [1] as a replacement, causing build warnings/errors: ../build/src/import/curl-util.c: In function ‘curl_glue_make’: ../build/src/import/curl-util.c:255:9: error: ‘CURLOPT_PROTOCOLS’ is deprecated: since 7.85.0. Use CURLOPT_PROTOCOLS_STR [-Werror=deprecated-declarations] 255 | if (curl_easy_setopt(c, CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS|CURLPROTO_FILE) != CURLE_OK) | ^~ In file included from ../build/src/import/curl-util.h:4, from ../build/src/import/curl-util.c:6: /usr/include/curl/curl.h:1749:3: note: declared here 1749 | CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181, | ^~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Since there's no grace period between the two symbols, let's resort to a light if-def-ery to resolve this. [0] https://curl.se/libcurl/c/CURLOPT_PROTOCOLS.html [1] https://curl.se/libcurl/c/CURLOPT_PROTOCOLS_STR.html
| * | | import: use CURLINFO_SCHEME instead of CURLINFO_PROTOCOLFrantisek Sumsal2023-01-091-5/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CURLINFO_PROTOCOL has been deprecated in curl 7.85.0 causing compilation warnings/errors: ../build/src/import/pull-job.c: In function ‘pull_job_curl_on_finished’: ../build/src/import/pull-job.c:142:9: error: ‘CURLINFO_PROTOCOL’ is deprecated: since 7.85.0. Use CURLINFO_SCHEME [-Werror=deprecated-declarations] 142 | code = curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol); | ^~~~ In file included from ../build/src/import/curl-util.h:4, from ../build/src/import/pull-job.h:6, from ../build/src/import/pull-common.h:7, from ../build/src/import/pull-job.c:16: /usr/include/curl/curl.h:2896:3: note: declared here 2896 | CURLINFO_PROTOCOL CURL_DEPRECATED(7.85.0, "Use CURLINFO_SCHEME") | ^~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Since both CURLINFO_SCHEME and CURLINFO_PROTOCOL were introduced in the same curl version (7.52.0 [0][1]) we don't have to worry about backwards compatibility. [0] https://curl.se/libcurl/c/CURLINFO_SCHEME.html [1] https://curl.se/libcurl/c/CURLINFO_PROTOCOL.html
* | | boot: Simplify object erasureJan Janssen2023-01-098-63/+52
| | | | | | | | | | | | | | | | | | | | | | | | This erase_obj() machinery looks like voodoo and creates an awful lot of noise as soon as we get back to building with -O0. We can do this in a more simple way by introducing a struct that holds the information we need on cleanup. When building with optimization enabled, all this gets inlined and the eraser vanishes.
* | | man: make clearer that sd_bus_get_timeout() returns an absolute time-outLennart Poettering2023-01-091-17/+15
| | | | | | | | | | | | | | | | | | Prompted by: https://lists.freedesktop.org/archives/systemd-devel/2023-January/048714.html
* | | Merge pull request #25979 from yuwata/coverity-fixesLennart Poettering2023-01-092-11/+12
|\ \ \ | | | | | | | | Coverity fixes
| * | | bootctl: 'tmp' is always non-NULLYu Watanabe2023-01-091-2/+2
| | | | | | | | | | | | | | | | Fixes CID#1502330.
| * | | bootctl: fix indentationYu Watanabe2023-01-091-1/+1
| | | |
| * | | tmpfile: make failure in path_extract_filename() non-criticalYu Watanabe2023-01-091-6/+6
| | | |
| * | | tmpfile: fix resource leakYu Watanabe2023-01-091-2/+3
| |/ / | | | | | | | | | Fixes CID#1501687.
* | | boot: Remove option TPM PCR compat optionJan Janssen2023-01-099-97/+40
|/ / | | | | | | It says remove in 2023; happy to oblige.
* | alloc-util: Disallow inlining of expand_to_usableSiddhesh Poyarekar2023-01-082-3/+5
| | | | | | | | | | Explicitly set __attribute__ ((noinline)) so that the compiler does not attempt to inline expand_to_usable, even with LTO.
* | Merge pull request #25915 from poettering/arm-timer-relLuca Boccassi2023-01-072-12/+15
|\ \ | | | | | | pid1: rework service_arm_timer() to optionally take a relative time v…
| * | pid1: rework service_arm_timer() to optionally take a relative time valueLennart Poettering2023-01-061-12/+12
| | | | | | | | | | | | In most cases this is actually what we want, hence simplify this case.
| * | sd-event: don't mistake USEC_INFINITY passed in for overflowLennart Poettering2023-01-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Let's pass USEC_INFINITY from sd_event_source_set_time_relative() to sd_event_source_set_time() instead of raising EOVERFLOW. We should raise EOVERFLOW only if your addition fails, but not if the input already is USEC_INFINITY, since it's an entirely valid operation to have an infinite time-out, and we should support that.
* | | Merge pull request #25936 from poettering/emergaction-fixLuca Boccassi2023-01-072-16/+7
|\ \ \ | | | | | | | | EmergencyAction parsing fix