summaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | tree-wide: use html links for kernel docsZbigniew Jędrzejewski-Szmek2022-07-022-4/+4
| | |/ / / | |/| | | | | | | | | | | | | Instead of using "*.txt" as reference name, use the actual destination title.
* | | | | Merge pull request #23088 from yuwata/udev-event-blockerZbigniew Jędrzejewski-Szmek2022-07-024-76/+59
|\ \ \ \ \ | | | | | | | | | | | | udev: cleanups for event blocker
| * | | | | udev: also make uevent blocked by events for the same device nodeYu Watanabe2022-05-041-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if the device node is the same, devnum (thus, device ID) and syspath may be different. If a 'remove' and 'add' events for the same device node but with different devnum and syspath are queued, previously, we might process them in parallel. And, udev_watch_end() for the 'remove' event and udev_watch_begin() for the 'add' event may interfere each other.
| * | | | | udev: make newer event also blocked by DEVPATH_OLDYu Watanabe2022-05-044-28/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, a device has DEVPATH_OLD is blocked by a previous event whose devpath is equivalent to the DEVPATH_OLD. This extends the condtion. 1. an event has DEVPATH_OLD is blocked by a previous event whose devpath is a parent of, child of, or equivalent to the DEVPATH_OLD. 2. an event is blocked by a previous event whose DEVPATH_OLD is a parent of, child of, or equivalent to the devpath of the new event. I am not sure such check is really necessary. But, the cost of the check is expected to be extremely small, as device renaming does not occur so frequently. Hence, it should not introduce any significant performance regression.
| * | | | | udev: use device ID to find blockersYu Watanabe2022-05-041-57/+28
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If two devices have the same devnum and subsystem (more specifically, if the device is block or not), or have the same ifindex, then IDs of these devices are equivalent. Hence, the previous conditions are covered by comparing device IDs. Of course, events with a same ID should be already blocked by the devpath check. So, this should not change anything. However, udevd saves many kinds of data under /run/udev named with the device ID. If multiple workers processes events for the same device ID, then the database may become corrupted. Let's explicitly check the device IDs for safety and simplicity.
* | | | | Merge pull request #23865 from keszybz/drop-memcpy-callZbigniew Jędrzejewski-Szmek2022-07-024-5/+5
|\ \ \ \ \ | | | | | | | | | | | | sd-id128: avoid an unnecessary function call in inline helper
| * | | | | homework: silence gcc warningZbigniew Jędrzejewski-Szmek2022-07-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc was warning that found_fs_uuid was used unitialized. The issue stemmed from the call to open(), where gcc seemingly didn't know that errno must be negative. When that is set, we can drop some unnecessary initializations without warnings.
| * | | | | sd-journal: silence bogus gcc warningZbigniew Jędrzejewski-Szmek2022-07-012-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In function 'sd_id128_equal', inlined from 'journal_file_verify' at ../src/libsystemd/sd-journal/journal-verify.c:1047:29: ../src/systemd/sd-id128.h:119:43: error: 'entry_boot_id.qwords[0]' may be used uninitialized [-Werror=maybe-uninitialized] 119 | return a.qwords[0] == b.qwords[0] && a.qwords[1] == b.qwords[1]; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/libsystemd/sd-journal/journal-verify.c: In function 'journal_file_verify': ../src/libsystemd/sd-journal/journal-verify.c:823:20: note: 'entry_boot_id.qwords[0]' was declared here 823 | sd_id128_t entry_boot_id; | ^~~~~~~~~~~~~ cc1: all warnings being treated as errors entry_boot_id is only used when entry_monotonic_set has been set, and that's only done in one place where entry_boot_id is also initalized.
| * | | | | sd-id128: avoid an unnecessary function call in inline helperZbigniew Jędrzejewski-Szmek2022-06-291-1/+1
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | When optimizing, the compiler will most likely replace the call to memcmp(), but at -O0, the code that is emitted builds the call preamble and does the call. Let's use the same pattern as with sd_id128_is_null() and sd_id128_is_allf() and avoid the call.
* | | | | Merge pull request #23835 from yuwata/nspawn-private-users-identityZbigniew Jędrzejewski-Szmek2022-07-022-3/+12
|\ \ \ \ \ | | | | | | | | | | | | nspawn: follow-ups for --private-users=identity
| * | | | | nspawn: support PrivateUsers=identityYu Watanabe2022-06-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow-up for 33eac552ab22af58b303342b1fa912900fa42820. Fixes #23825.
| * | | | | nspawn: update help message for user namespacingYu Watanabe2022-06-271-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | Follow-up for 33eac552ab22af58b303342b1fa912900fa42820.
* | | | | | debug-generator: shorten code a bitYu Watanabe2022-07-021-6/+0
| | | | | |
* | | | | | core: do not filter out systemd.unit= and run-level specifier from kernel ↵Yu Watanabe2022-07-011-7/+0
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | command line Fixes a bug introduced by 846f1da465beda990c1c01346311393f485df467. The commit 846f1da465beda990c1c01346311393f485df467 made systemd.unit= filtered out from the command line. That causes debug-generator does not work as expected on daemon-reexecute, and we cannot call `systemctl daemon-reexecute` in our test suite running on nspawn. Fixes issue reported in https://github.com/systemd/systemd/pull/23851#issuecomment-1170992052.
* | | | | journalctl: fix to show user sliceYu Watanabe2022-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | Fixes #23867.
* | | | | Merge pull request #23868 from keszybz/lib-resplit-2Yu Watanabe2022-07-0150-450/+620
|\ \ \ \ \ | | | | | | | | | | | | Export sd-netlink and clean up exported interfaces a bit
| * | | | | basic/socket-util: rename fd_inc_rcvbuf → fd_increase_rxbufZbigniew Jędrzejewski-Szmek2022-06-305-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | See previous commit for justification.
| * | | | | sd-netlink: rename sd_netlink_inc_rcvbuf → sd_netlink_increase_rxbufZbigniew Jędrzejewski-Szmek2022-06-305-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have RxBufferSize= and TxBufferSize= in .link files. Let's use the same abbreviation here. OTOH, "inc" could be short for "increment" or "increase", let's avoid that.
| * | | | | sd-bus: indentationZbigniew Jędrzejewski-Szmek2022-06-301-8/+8
| | | | | |
| * | | | | sd-bus: use assert_return() in public function sd_bus_message_dumpZbigniew Jędrzejewski-Szmek2022-06-302-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Also, document that NULL is allowed.
| * | | | | sd-event: let sd_event_source_set_enabled accept NULLZbigniew Jędrzejewski-Szmek2022-06-303-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Same story as before: disabling a non-existent event source shouldn't need to be guarded by an if. I retained the wrapper so that that we don't have to say SD_EVENT_OFF in the many places where this is called.
| * | | | | sd-event: allow sd_event_source_is_enabled() to return false for NULLZbigniew Jędrzejewski-Szmek2022-06-305-15/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a natural use case, and instead of defining a wrapper to do this for us, let's just make this part of the API. Calling with NULL was not allowed, so this is not a breaking change to the interface. (After sd_event_source_is_enabled was originally added, we introduced sd_event_source_disable_unref() and other similar functions which accept NULL. So not accepting NULL here is likely to confuse people. Let's just make the API usable with minimal fuss.)
| * | | | | sd-netlink: allow sd_netlink_message_read() to be used for union typesZbigniew Jędrzejewski-Szmek2022-06-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, sd_netlink_message_read() expected to fill a buffer completely, and would return -EIO if the attribute being read was shorter than the buffer. This means that the function can be used to "peek" into attributes (by specifying a short buffer to just read part of the attribute), but cannot be used to read something into a union without knowing beforehand which specific field in the union is being filled. That latter operation seems more useful (messages are short, so we don't really need to do partial reads), so let's allow reads that don't fill the output buffer completely.
| * | | | | sd-bus: export sd_bus_message_read_strv_extend()Zbigniew Jędrzejewski-Szmek2022-06-305-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The same story as before: it's a useful helper, other uses of the library are likely to find it useful.
| * | | | | sd-id128: rename and export sd_id128_string_equal()Zbigniew Jędrzejewski-Szmek2022-06-308-26/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We find this function useful in our code, so no reason not to export it. I changed the order of last two words in the name to match the arguments. (With "equal_string" I expected sd_id128_t first, string second, but in actual use, the second argument is usually a long constant so it's nice to keep this order of arguments.)
| * | | | | sd-bus: export sd_bus_error_setfv()Zbigniew Jędrzejewski-Szmek2022-06-306-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The usual: if we find that function useful, other users of the library will too. In particular, the v-variants are necessary to build pass-thru wrappers.
| * | | | | sd-bus: drop unused prototypeZbigniew Jędrzejewski-Szmek2022-06-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Function was exported in 07a0d22f9ec5a0cac2385b73dc08b12a811cead8, but apparently we forgot to remove the old declaration.
| * | | | | libsystemd: drop unexported sd-utf8Zbigniew Jędrzejewski-Szmek2022-06-303-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It had two symbols which were not actually exported because they were not listed in libsystemd.sym. They were also entirely unused in our codebase. I don't think it makes much sense to export just those two functions, and it doesn't make to build a string processing library in systemd either. History of the file shows that it was created in faaa5728d956b7f0d24f27f3341d0b9fff30af00 'utf8: export utf8 validation functions as part of sd-bus' and hasn't gone even one non-trivial change since then ;)
| * | | | | libsystemd: export sd-netlinkZbigniew Jędrzejewski-Szmek2022-06-3012-297/+485
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was added originally in 65f568bbeb9b8c70200e44c19a797df3a0bfd485. The API is has stabilized pretty much, and generally follows the usual style for libsystemd. We've held it as a public-but-private library for almost 10 years, let's export it. sd_netlink_sendv() and sd_nfnl_nft_*() are excluded. libsystemd.so seems to grow by 12k.
| * | | | | test-lib*-sym: print symbols names in addition to addressesZbigniew Jędrzejewski-Szmek2022-06-301-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it easier to see what the test is doing. I converted the code to use f-strings. They are already used in other scripts necessary for build, so IIUC this is OK.
| * | | | | sd-daemon: remove sd_ prefix from static functionZbigniew Jędrzejewski-Szmek2022-06-301-5/+5
| | | | | |
| * | | | | sd-netlink: remove sd_ prefix from static functionZbigniew Jędrzejewski-Szmek2022-06-301-3/+3
| | | | | |
| * | | | | Turn mempool_enabled() into a weak symbolZbigniew Jędrzejewski-Szmek2022-06-297-30/+26
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before we had the following scheme: mempool_enabled() would check mempool_use_allowed, and libsystemd-shared would be linked with a .c file that provides mempool_use_allowed=true, while other things would linked with a different .c file with mempool_use_allowed=false. In the new scheme, mempool_enabled() itself is a weak symbol. If it's not found, we assume false. So it only needs to be provided for libsystemd-shared, where it can return false or true. test-set-disable-mempool is libshared, so it gets the symbol. But then we actually disable the mempool via envvar. mempool_enable() is called to check its return value directly.
* / | | | logind: log wall messages to the journalZbigniew Jędrzejewski-Szmek2022-06-303-14/+35
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently kde installs a fake utmp session to listen for this. This provides an alternative mechanism as discussed in #23574. Example with 'shutdown 6 -r' and shutdown -c': PRIORITY=6 SYSLOG_FACILITY=4 SYSLOG_IDENTIFIER=systemd-logind ... CODE_FILE=src/login/logind-utmp.c CODE_LINE=90 CODE_FUNC=warn_wall MESSAGE_ID=9e7066279dc8403da79ce4b1a69064b2 OPERATOR=root MESSAGE=The system will reboot at Thu 2022-06-30 12:16:43 CEST! ACTION=reboot PRIORITY=5 SYSLOG_FACILITY=4 SYSLOG_IDENTIFIER=systemd-logind ... OPERATOR=root CODE_FILE=src/login/logind-dbus.c CODE_LINE=2407 CODE_FUNC=method_cancel_scheduled_shutdown MESSAGE=System shutdown has been cancelled MESSAGE_ID=249f6fb9e6e2428c96f3f0875681ffa3 ACTION=reboot
* | | | journal: Fix missing parenthesisDaan De Meyer2022-06-291-1/+1
| | | |
* | | | virt: fix detection of Parallels virtualizationYu Watanabe2022-06-291-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If Parallels virtualization is detected from DMI, then trust that over CPUID. Fixes issue caused by 28b1a3eac252d471de4fbb6f317353af30d68878. Fixes #23856.
* | | | sd-journal: data object may be invalid after data_object_in_hash_table()Yu Watanabe2022-06-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a bug introduced by 578cd1855b73d2710ae14a8d77c4fac1d8ea7f48. The function `data_object_in_hash_table()` calls `journal_file_move_to_object()` with `OBJECT_DATA`. Hence, previously obtained pointer to a data object may be now invalid. Fixes #23794.
* | | | sd-journal: also check object header before verifying object dataYu Watanabe2022-06-281-51/+44
| | | | | | | | | | | | | | | | | | | | Otherwise, the check by journal_file_check_object() may be meaning less when the header is broken.
* | | | sd-journal: drop unused argument from journal_file_check_object()Yu Watanabe2022-06-281-4/+3
| | | | | | | | | | | | | | | | And rename the function.
* | | | sd-journal: shorten code a bitYu Watanabe2022-06-281-9/+3
| | | |
* | | | sd-journal: align tableYu Watanabe2022-06-281-6/+6
| | | |
* | | | Merge pull request #23821 from dtardon/ascii-loggingYu Watanabe2022-06-2840-106/+193
|\ \ \ \ | | | | | | | | | | Allow ASCII fallback for Unicode characters in logs
| * | | | tree-wide: allow ASCII fallback for … in logsDavid Tardon2022-06-2818-45/+77
| | | | |
| * | | | tree-wide: allow ASCII fallback for → in logsDavid Tardon2022-06-2822-61/+116
| | | | |
* | | | | Merge pull request #23849 from mbiebl/more-httpsYu Watanabe2022-06-2865-71/+71
|\ \ \ \ \ | |_|_|/ / |/| | | | Use https for freedesktop.org
| * | | | Use https for gnu.orgMichael Biebl2022-06-2835-35/+35
| | | | |
| * | | | Use https for freedesktop.orgMichael Biebl2022-06-2830-36/+36
| | | | | | | | | | | | | | | | | | | | grep -l -r http:// | xargs sed -E -i s'#http://(.*).freedesktop.org#https://\1.freedesktop.org#'
* | | | | Merge pull request #23827 from yuwata/sd-event-process-buffered-inotify-dataZbigniew Jędrzejewski-Szmek2022-06-282-4/+56
|\ \ \ \ \ | | | | | | | | | | | | sd-event: process buffered inotify data
| * | | | | test: add another test for inotify event sourceYu Watanabe2022-06-271-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | The test case is for issue #23826.
| * | | | | sd-event: make sd_event_prepare() return positive when buffered inotify data ↵Yu Watanabe2022-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exists Previously, even if there is buffered inotify data, sd_event_prepare() did not process the data when there is no pending event source. Fixes #23826.