summaryrefslogtreecommitdiffstats
path: root/src/libudev/libudev-enumerate.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-09-22network/vxlan: avoid unneccesary temporary variablesZbigniew Jędrzejewski-Szmek1-12/+5
parse_ip_port_range() DTRT and only sets the output on success.
2023-09-22network/netdev: use ASSERT_PTR() more, adjust indentationZbigniew Jędrzejewski-Szmek8-166/+86
2023-09-22network: use a common helper to parse bounded rangesZbigniew Jędrzejewski-Szmek8-249/+220
This compresses repetetive code and makes it easier to add new options in networkd. The formatting of error messages becomes uniform. The error message always specifies the rvalue literally, instead of using a "descriptive name". This makes the message much easier to handle for the user. I opted to add just one parser, and wrap it with inline functions to proxy the type. This is less verbose than copying functions for each type separately, and the compiler should be able to get rid of the inline wrapper almost entirely. asserts are reordered to use the same order as the parameter list. This makes the code easier to read. No functional change intended, apart from the difference in error message formatting.
2023-09-19basic/parse-util: add helper to parse bounded unsigned valuesZbigniew Jędrzejewski-Szmek3-1/+43
"parse_range" is already used for stuff like "a-b", so use "bounded" here to avoid confusion.
2023-09-19sd-network: modernize log error messagesZbigniew Jędrzejewski-Szmek3-40/+30
SYNTHETIC_ERRNO() is used where appropriate. Splits in message format strings are removed, so that it's easier to read/grep/copy them.
2023-09-19repart: Fix a check for CopyBlocks on data partitionValentin David1-1/+1
The check was verifying that the verity partition had CopyBlocks set instead of the associated data partition.
2023-09-19systemd.time.7: rewrite Parsing Timestamps sectionнаб1-24/+38
2023-09-19test: only load tpm_ibmvtpm kernel module on PowerPC hwDan Streetman1-1/+6
This module is only available on PPC hw, so avoid trying to load it elsewhere, as it generates a misleading error message in the logs: modprobe: FATAL: Module tpm_ibmvtpm not found in directory /lib/modules/5.15.0-83-generic
2023-09-19man: update version informationAbderrahim Kitouni69-447/+1577
As I noticed a lot of missing information when trying to implement checking for missing info. I reimplemented the version information script to be more robust, and here is the result. Follow up to ec07c3c80b2b1bfa6788500202006ff85f5ae4f4
2023-09-19path: make arg_pager_flags staticLennart Poettering1-1/+1
Follow-up for: e441d1d46e8cd640ffac9d9231e5b16852fd9c28
2023-09-18core: port unit_fork_helper_process() and unit_fork_and_watch_rm_rf() to PidRefLennart Poettering8-50/+40
2023-09-18core: port unit_main_pid() + unit_control_pid() to PidRef and drop ↵Lennart Poettering11-133/+60
unit_kill_common() This ports over unit_main_pid() + unit_control_pid() to return PidRef* pointers (which also means the underlying UnitVTable function pointers are changed accordingly). This then uses te functions to simplify the unit_kill() call, by avoiding the kill() vtable indirection and instead just suing unit_main_pid() and unit_control_pid() directly.
2023-09-18pidref: add sigqueue() helperLennart Poettering2-0/+29
2023-09-18core: port over unit_kill_context() to PidRefLennart Poettering8-35/+38
2023-09-18core: port service_set_main_pid() to PidRefLennart Poettering2-31/+47
2023-09-18update TODOLennart Poettering1-0/+7
2023-09-18man: Mention that JSON user record files should have the .user extensionDaan De Meyer1-2/+3
2023-09-18logind: slightly tweak error message about not enough swap for hibernationLennart Poettering1-1/+1
Let's tweak the message if not enough swap is around slightly: systems might have plenty swap backed by incompatible storage (specifically: swap files on btrfs), but we (currently) do not support hibernating to that. Hence let's say *suitable* swap space and talk about *compatibility* of backing storage. Hopefully this will make things a bit clearer to users. Prompted by: #29189
2023-09-18doc: add a markdown doc giving an overview over the fdstoreLennart Poettering4-7/+209
And link it up everywhere.
2023-09-18man/daemon: s/init system/service manager/Zbigniew Jędrzejewski-Szmek1-133/+90
As pointed out in the review, all this applies to the user services too, so are not managed by the "init system", but by the more generic "service manager". Also: - use oxford comma - change "employ" to "use" in various places - change "the init system forwards messages to syslog" to "are forwarded to syslog". This is done by systemd-journald, so really there is no forwarding, because systemd-journald just writes them to a file in the common setup, so let's use the passive form to avoid specifying who does this.
2023-09-18meson: restore tools/meson-vcs-tag.shZbigniew Jędrzejewski-Szmek2-16/+31
This conceptually reverts e95acdfe1d3a790e18617bb992a712b34f41800d, but the actual contents of the script are taken from the command invocation in meson with all the updates that happened in the meantime. One small change is that I replaced () by {}: this avoids one subprocess spawn. People were worried about the cost of vcs_tag(), and this microoptimization may help a bit. I measured the speed on machine, and noop rebuilds are still about 100–120 ms. The logic is entirely moved to the script. This makes the meson config simpler and also makes it easier to use it externally. The script is needed for in-place rpm builds, see README.build-in-place.md [1], where it is invoked from the spec file to determine the project version. [1] https://src.fedoraproject.org/rpms/systemd/blob/rawhide/f/README.build-in-place.md
2023-09-18meson: fix TODO regarding next meson versionLuca Boccassi1-1/+1
2023-09-18vimrc: explicitly set shiftwidth for the C file typeFrantisek Sumsal1-1/+1
If you start editing a shell script and then open a buffer with a C file, the shiftwidth set by the previous autocommand for the sh file type would not be reset to the original (global) 8ch. Let's fix this by explicitly setting the shiftwidth in the C file type autocommand as well.
2023-09-18core: limit the LSan shenanigans to PID 1Frantisek Sumsal1-5/+7
Addresses https://github.com/systemd/systemd/pull/29194#pullrequestreview-1630530753. Follow-up to ae5ce7e.
2023-09-18man: fix counting of resource typesLennart Poettering1-1/+1
2023-09-18man: link UKI spec from sd-stubLennart Poettering1-0/+3
2023-09-18man: drop duplicate .uname documentation, add .sbat documentationLennart Poettering1-9/+12
This fixes the PE section documentation in the systemd-stub man page: for some reason .uname was listed twice, and .sbat was still missing. Address that. Also, let's reorder things to to match the "canonical" ordering we also use for measurement in sd-stub. The order makes sense and there's really no reason to depart from that here. Minor other tweaks. Reverts b6f2e6860220aa89550f690b12246c4e8eb6e908, among other things
2023-09-18hwdb: Add quirk for teclast x3 plus (G4K3) rotation (#29202)commondservice1-0/+4
Original info: acpi:KIOX000A:KIOX000A: dmi:bvnTECLAST:bvrG4K3_A1tPAD3.01:bd08/25/2017:br5.12:efr14.4:svnTECLAST:pnX3Plus:pvrDefaultstring:rvnTECLAST:rnX3Plus:rvrDefaultstring:cvnDefaultstring:ct30:cvrDefaultstring:skuG4K3_A1: It seems that teclast x3 plus has another sku G4K2. Not owning that sku, I decide not to cover the change on G4K2.
2023-09-18update TODOLennart Poettering1-0/+30
2023-09-17meson: add TODO to switch to new 'follow_symlinks' option in the futureLuca Boccassi1-2/+3
Newly added and will be in the next release of Meson
2023-09-17Revert "ci: temporarily disable Packit's i386"Frantisek Sumsal1-3/+1
The original issue [0] should be resolved in the current Rawhide. [0] https://bugzilla.redhat.com/show_bug.cgi?id=2237392 This reverts commit 3bf7d7963784669f876fab46e13f71faaf61cb27.
2023-09-17core: redirect LSan's report to /dev/console during manager exitFrantisek Sumsal1-0/+10
When exiting PID 1 we most likely don't have stdio/stdout open, so the final LSan check would not print any actionable information and would just crash PID 1 leading up to a kernel panic, which is a bit annoying. Let's instead attempt to open /dev/console, and if we succeed redirect LSan's report there. The result is a bit messy, as it's slightly interleaved with the kernel panic, but it's definitely better than not having the stack trace at all: [ OK ] Reached target final.target. [ OK ] Finished systemd-poweroff.service. [ OK ] Reached target poweroff.target. ================================================================= 3 1m 43.251782] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 [ 43.252838] CPU: 2 PID: 1 Comm: systemd Not tainted 6.4.12-200.fc38.x86_64 #1 ==[1==ERR O R :4 3Le.a2k53562] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-1.fc38 04/01/2014 [ 43.254683] Call Trace: [ 43.254911] <TASK> [ 43.255107] dump_stack_lvl+0x47/0x60 S[ a 43.n2555i05] panic+t0x192/0x350 izer[ :43.255966 ] do_exit+0x990/0xdb10 etec[ 43.256504] do_group_exit+0x31/0x80 [ 43.256889] __x64_sys_exit_group+0x18/0x20 [ 43.257288] do_syscall_64+0x60/0x90 o_user_mod leaks[ 43.257618] ? syscall_exit_t +0x2b/0x40 [ 43.258411] ? do_syscall_64+0x6c/0x90 1mDirect le[ 43.258755] ak of 21 byte(s)? exc_page_fault+0x7f/0x180 [ 43.259446] entry_SYSCALL_64_after_hwframe+0x72/0xdc [ 43.259901] RiIP: 0033:0x7f357nb8f3ad4 1 objec[ 43.260354] Ctode: 48 89 (f7 0f 05 c3 sf3 0f 1e fa b8 3b 00 00 00) 0f 05 c3 0f 1f 4 0 00 f3 0f 1e fa 50 58 b8 e7 00 00 00 48 83 ec 08 48 63 ff 0f 051 [ 43.262581] RSP: 002b:00007ffc25872440 EFLAGS: 00000202 ORIG_RAX: 00000000000000e7 a RBX: 00007f357be9b218 RCX: 00007f357b8f3ad4m:ffd [ 43.264512] RDX: 0000000000000001 RSI: 00007f357b933b63 RDI: 0000000000000001 [ 43.265355] RBP: 00007f357be9b218 R08: efffffffffffffff R09: 00007ffc258721ef [ 43.266191] R10: 000000000000003f R11: 0000000000000202 R12: 00000fe6ae9e0000 [ 43.266891] R13: 00007f3574f00000 R14: 0000000000000000 R15: 0000000000000007 [ 43.267517] </TASK> #0 0x7f357b8814a8 in strdup (/lib64/libasan.so.8+0x814a8) (BuildId: e5f0a0d511a659fbc47bf41072869139cb2db47f) #1 0x7f3578d43317 in cg_path_decode_unit ../src/basic/cgroup-util.c:1132 #2 0x7f3578d43936 in cg_path_get_unit ../src/basic/cgroup-util.c:1190 #3 0x7f3578d440f6 in cg_pid_get_unit ../src/basic/cgroup-util.c:1234 #4 0x7f35789263d7 in bus_log_caller ../src/shared/bus-util.c:734 #5 0x7f357a9cf10a in method_reload ../src/core/dbus-manager.c:1621 #6 0x7f3578f77497 in method_callbacks_run ../src/libsystemd/sd-bus/bus-objects.c:406 #7 0x7f3578f80dd8 in object_find_and_run ../src/libsystemd/sd-bus/bus-objects.c:1319 #8 0x7f3578f82487 in bus_process_object ../src/libsystemd/sd-bus/bus-objects.c:1439 #9 0x7f3578fe41f1 in process_message ../src/libsystemd/sd-bus/sd-bus.c:3007 #10 0x7f3578fe477b in process_running ../src/libsystemd/sd-bus/sd-bus.c:3049 #11 0x7f3578fe75d1 in bus_process_internal ../src/libsystemd/sd-bus/sd-bus.c:3269 #12 0x7f3578fe776e in sd_bus_process ../src/libsystemd/sd-bus/sd-bus.c:3296 #13 0x7f3578feaedc in io_callback ../src/libsystemd/sd-bus/sd-bus.c:3638 #14 0x7f35791c2f68 in source_dispatch ../src/libsystemd/sd-event/sd-event.c:4187 #15 0x7f35791cc6f9 in sd_event_dispatch ../src/libsystemd/sd-event/sd-event.c:4808 #16 0x7f35791cd830 in sd_event_run ../src/libsystemd/sd-event/sd-event.c:4869 #17 0x7f357abcd572 in manager_loop ../src/core/manager.c:3244 #18 0x41db21 in invoke_main_loop ../src/core/main.c:1960 #19 0x426615 in main ../src/core/main.c:3125 #20 0x7f3577c49b49 in __libc_start_call_main (/lib64/libc.so.6+0x27b49) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9) #21 0x7f3577c49c0a in __libc_start_main_alias_2 (/lib64/libc.so.6+0x27c0a) (BuildId: 245240a31888ad5c11bbc55b18e02d87388f59a9) #22 0x408494 in _start (/usr/lib/systemd/systemd+0x408494) (BuildId: fe61e1b0f00b6a36aa34e707a98c15c52f6b960a) SUMMARY: AddressSanitizer: 21 byte(s) leaked in 1 allocation(s). [ 43.295912] Kernel Offset: 0x7000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 43.297036] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 ]--- Originally noticed in https://github.com/systemd/systemd/pull/28579.
2023-09-17hwdb: ieee1394-unit-function: add Weiss Engieering MAN301Takashi Sakamoto1-0/+16
Michele Perrone contributes configuration ROM image for Weiss MAN301, which includes two units for 1394TA AV/C devices 1.0 and TCAT general protocol. * https://lore.kernel.org/alsa-devel/20230822135807.GA470519@workstation.local/ This commit adds hwdb entry for the model.
2023-09-17hwdb: ieee1394-unit-function: add Weiss Engineering INT203 entry with older ↵Takashi Sakamoto1-1/+13
firmware Michele Perrone reported that the model ID for INT203 with initial firmware is 0x00000a. * https://lore.kernel.org/alsa-devel/a5b63c37-7f6f-46f3-a87f-e4e7c0c9b5c8@weiss.ch/ This commit fulfills the entry corresponding to it as well as supplemental comment denoting to it.
2023-09-17hwdb: ieee1394-unit-function: add Weiss Engineering DAC202 (Maya edition)Takashi Sakamoto1-1/+7
Michele Perrone and Ralf Anderegg contribute to ALSA dice driver to support products of Weiss Engineering. Their patch includes support for DAC202 Maya edition. * https://lore.kernel.org/alsa-devel/24703333-9250-40bf-e736-a5f3c4862034@weiss.ch/ This commit fulfulls an entry for the model as well as supplemental comment to DAC2/Minerva.
2023-09-17hwdb: ieee1394-unit-function: remove superfluous Weiss Engineering DAC1 entryTakashi Sakamoto1-6/+0
Michele Perrone and Rolf Anderegg reported that their product with model_id 0x000005 was experimental for internal use and never for consumer market. * https://lore.kernel.org/alsa-devel/a5b63c37-7f6f-46f3-a87f-e4e7c0c9b5c8@weiss.ch/ This commit deletes corresponding entry.
2023-09-16hwdb: Add Logitech G502 XMichael Kuhn1-2/+6
The already existing entry refers to the Logitech G502 X LIGHTSPEED, rename it accordingly. DPI and frequency were taken from Logitech G HUB and https://www.logitech.com/assets/66240/2/g502-x-corded-gaming-mice-artanis.pdf
2023-09-15doc: Scope is automatic for IPv6 addressTj1-0/+1
The kernel automatically sets the scope of IPv6 addresses. That is 0 (global), 254 (host), 253 (link).
2023-09-15man/daemon: recommend status notications, mention fd storeZbigniew Jędrzejewski-Szmek1-11/+23
This is just a small update. We probably should write a much longer document that describes how to write a daemon in the XXI century.
2023-09-15man/sd_notify: change recommendations about unsupported notificationsZbigniew Jędrzejewski-Szmek1-5/+15
In principle, arbitrary notifications may be sent via sd_notify. But in practice, this is not useful at all, since the manager only accepts notifications from services and ignores anything except a few specific ones. The others will be logged if debugging is enabled. OTOH, the manager produces EXIT_STATUS, but nothing in systemd looks at it, which is rather confusing. So remove the recommendation to use X_ prefixes, and instead say that other messages will be ignored. Also, mention that mkosi uses this. Having an example may be useful to understand what is going on. Strangely, this is the first reference to mkosi in our man pages. Even more strangely, debian is the only place which hosts the mkosi man page (among the sites we have definitions for), so I linked to that version.
2023-09-15man: make the description of fd storage a bit more accessibleZbigniew Jędrzejewski-Szmek2-35/+48
The text is split into paragraphs about specific topics. The advice and recommendations parts are moved to the end.
2023-09-15man/sd_notify: split out variable descriptions to a separate sectionZbigniew Jędrzejewski-Szmek1-76/+81
This just moves the text around with miminal text added to refer to the new section.
2023-09-15man/kernel-install: add more paragraph breaks, fix indentationZbigniew Jędrzejewski-Szmek1-19/+37
2023-09-14man: add versioned version of --no-pager, use for systemd-pathZbigniew Jędrzejewski-Szmek2-1/+14
2023-09-14path: add --no-pager option, enable pager by defaultZbigniew Jędrzejewski-Szmek1-0/+11
When called with no argument, to list all known values, it is likely that it's used by somebody to look at all the whole list. The output is more than a page, so let's enable the pager.
2023-09-14path: rename functionsZbigniew Jędrzejewski-Szmek1-4/+4
When this was originally added in 9a00f57a5ba7ed431e6bac8d8b36518708503b4e, the lookup function was called sd_path_home. But it was generalized a long time ago.
2023-09-14path: modernize, return first errorZbigniew Jędrzejewski-Szmek1-17/+9
2023-09-14bootctl: use pager in helpZbigniew Jędrzejewski-Szmek1-0/+2
The output is more than one page, let's enable the pager.
2023-09-14export: use highlighting in --helpZbigniew Jędrzejewski-Szmek1-8/+13
2023-09-13Revert "mkosi: pin CentOS9 kernel to working version"Frantisek Sumsal4-22/+2
The original issue should be fixed in kernel-5.14.0-362.el9. This reverts commit b0881b65a69e83decab3df0d2b23206cea59bb1b.