]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
13 months agoshared/condition: remove cgroup hierarchy check (#37101)
Yu Watanabe [Sun, 13 Apr 2025 18:17:01 +0000 (03:17 +0900)] 
shared/condition: remove cgroup hierarchy check (#37101)

13 months agooomd: it's safe to assume cgv2 now 37101/head
Mike Yuan [Fri, 11 Apr 2025 23:13:45 +0000 (01:13 +0200)] 
oomd: it's safe to assume cgv2 now

13 months agoshared/condition: remove cgroup hierarchy check
Mike Yuan [Fri, 11 Apr 2025 23:16:34 +0000 (01:16 +0200)] 
shared/condition: remove cgroup hierarchy check

13 months agocore/taint: decrease stage array size for "cgroupsv1" removal
Mike Yuan [Fri, 11 Apr 2025 23:10:12 +0000 (01:10 +0200)] 
core/taint: decrease stage array size for "cgroupsv1" removal

Follow-up for 399791eaf0f53887e52488b9f4e966d71abeea6a

13 months agosocket-proxy: fix use-after-free
Yu Watanabe [Sun, 13 Apr 2025 05:10:28 +0000 (14:10 +0900)] 
socket-proxy: fix use-after-free

Fixes a bug in 10e41cdddc45548cc5938a307a16711b47d68062.
Fixes CID#1609061.

13 months agocoredump: verify pidfd after parsing data in usermode helper
Luca Boccassi [Fri, 11 Apr 2025 13:44:30 +0000 (14:44 +0100)] 
coredump: verify pidfd after parsing data in usermode helper

Ensure the pidfd is still valid before continuing

Follow-up for 313537da6ffdea4049873571202679734d49f0a1

13 months agonetwork/wiphy: use hash_ops with destructor for managing Wiphy objects 37121/head
Yu Watanabe [Sat, 12 Apr 2025 18:38:50 +0000 (03:38 +0900)] 
network/wiphy: use hash_ops with destructor for managing Wiphy objects

13 months agonetwork/link: use hash_ops with destructor for managing Link objects
Yu Watanabe [Sat, 12 Apr 2025 18:30:44 +0000 (03:30 +0900)] 
network/link: use hash_ops with destructor for managing Link objects

13 months agonetwork/network: use hash_ops with destructor for managing Network objects
Yu Watanabe [Sat, 12 Apr 2025 18:18:12 +0000 (03:18 +0900)] 
network/network: use hash_ops with destructor for managing Network objects

13 months agohashmap: introduce ordered_hashmap_free_and_replace()
Yu Watanabe [Sat, 12 Apr 2025 18:17:38 +0000 (03:17 +0900)] 
hashmap: introduce ordered_hashmap_free_and_replace()

13 months agonetwork/network: use hash_ops with destructor for managing stacked netdevs
Yu Watanabe [Sat, 12 Apr 2025 18:08:31 +0000 (03:08 +0900)] 
network/network: use hash_ops with destructor for managing stacked netdevs

13 months agonetwork/bridge-fdb,mdb: use hash_ops with destructor 37120/head
Yu Watanabe [Sat, 12 Apr 2025 18:03:29 +0000 (03:03 +0900)] 
network/bridge-fdb,mdb: use hash_ops with destructor

13 months agonetwork/dhcp-server: use hash_ops with destructor for static lease
Yu Watanabe [Sat, 12 Apr 2025 17:54:06 +0000 (02:54 +0900)] 
network/dhcp-server: use hash_ops with destructor for static lease

13 months agonetwork/radv: use hash_ops with destructor for managing prefixes
Yu Watanabe [Sat, 12 Apr 2025 17:34:16 +0000 (02:34 +0900)] 
network/radv: use hash_ops with destructor for managing prefixes

13 months agonetwork,udev: use hash_ops with destructor to manage SR-IOV configs
Yu Watanabe [Sat, 12 Apr 2025 15:11:01 +0000 (00:11 +0900)] 
network,udev: use hash_ops with destructor to manage SR-IOV configs

13 months agonetwork/ndisc: replace set_free_free() with set_free()
Yu Watanabe [Fri, 11 Apr 2025 02:13:26 +0000 (11:13 +0900)] 
network/ndisc: replace set_free_free() with set_free()

They uses in_addr_prefix_hash_ops_free, hence set_free() is enough.

13 months agonetwork: use in6_addr_hash_ops_free in Network.ipv6_proxy_ndp_addresses
Yu Watanabe [Fri, 11 Apr 2025 02:04:16 +0000 (11:04 +0900)] 
network: use in6_addr_hash_ops_free in Network.ipv6_proxy_ndp_addresses

This also one adjustment to network_adjust_ipv6_proxy_ndp().

13 months agonetwork: use dns_name_hash_ops_free in dnssec negative trust anchors
Yu Watanabe [Fri, 11 Apr 2025 01:56:12 +0000 (10:56 +0900)] 
network: use dns_name_hash_ops_free in dnssec negative trust anchors

13 months agotest-networkd-conf: config_parse_ether_addrs() uses ether_addr_hash_ops_free 37118/head
Yu Watanabe [Fri, 11 Apr 2025 02:15:21 +0000 (11:15 +0900)] 
test-networkd-conf: config_parse_ether_addrs() uses ether_addr_hash_ops_free

Hence, set_free() is enough to free the result.

13 months agonetwork-generator: use hash_ops with destructor for Network, NetDev, and Link
Yu Watanabe [Sat, 12 Apr 2025 16:36:56 +0000 (01:36 +0900)] 
network-generator: use hash_ops with destructor for Network, NetDev, and Link

13 months agowait-online: move manager_process_link() to link.c
Yu Watanabe [Sat, 12 Apr 2025 15:30:58 +0000 (00:30 +0900)] 
wait-online: move manager_process_link() to link.c

Then, rename it to rtnl_process_link().

No functional change, just refactoring.

13 months agowait-online: use hash_ops with destructor for managing Link
Yu Watanabe [Sat, 12 Apr 2025 15:20:29 +0000 (00:20 +0900)] 
wait-online: use hash_ops with destructor for managing Link

13 months agosysv-generator: introduce hash_ops for SysvStub 37117/head
Yu Watanabe [Sat, 12 Apr 2025 03:16:52 +0000 (12:16 +0900)] 
sysv-generator: introduce hash_ops for SysvStub

This also renames free_sysvstub() -> sysvstub_free(), to follow our
usual coding style.

13 months agosysusers: use trivial_hash_ops_free for storing user/group name
Yu Watanabe [Fri, 11 Apr 2025 02:37:14 +0000 (11:37 +0900)] 
sysusers: use trivial_hash_ops_free for storing user/group name

13 months agosd-netlink: introduce custom hash_ops for GenericNetlinkFamily
Yu Watanabe [Sat, 12 Apr 2025 02:53:57 +0000 (11:53 +0900)] 
sd-netlink: introduce custom hash_ops for GenericNetlinkFamily

13 months agosd-device-enumerator: use custom hash_ops with destructor
Yu Watanabe [Sat, 12 Apr 2025 02:47:22 +0000 (11:47 +0900)] 
sd-device-enumerator: use custom hash_ops with destructor

13 months agosd-device: replace set_free_free() with set_free()
Yu Watanabe [Fri, 11 Apr 2025 01:48:32 +0000 (10:48 +0900)] 
sd-device: replace set_free_free() with set_free()

These uses string_hash_ops_free, hence not set_free() is enough.

13 months agocoredump: replace custom cleanup function with specific hash_ops with destructor
Yu Watanabe [Sat, 12 Apr 2025 02:16:26 +0000 (11:16 +0900)] 
coredump: replace custom cleanup function with specific hash_ops with destructor

13 months agoanalyze: replace set_free_free() with set_free()
Yu Watanabe [Thu, 10 Apr 2025 23:42:52 +0000 (08:42 +0900)] 
analyze: replace set_free_free() with set_free()

set_put_strdup() uses &string_hash_ops_free, hence set_free() also
frees stored contents.

13 months agoresolved-dns-trust-anchor: use hash_ops with destructor for managing DnsAnswer 37116/head
Yu Watanabe [Sat, 12 Apr 2025 14:30:57 +0000 (23:30 +0900)] 
resolved-dns-trust-anchor: use hash_ops with destructor for managing DnsAnswer

13 months agoresolved-dns-trust-anchor: use hash_ops with destructor for managing RRs
Yu Watanabe [Sat, 12 Apr 2025 14:24:21 +0000 (23:24 +0900)] 
resolved-dns-trust-anchor: use hash_ops with destructor for managing RRs

13 months agoresolved-dns-scope: use hash_ops with destructor for conflict_queue
Yu Watanabe [Sat, 12 Apr 2025 14:19:51 +0000 (23:19 +0900)] 
resolved-dns-scope: use hash_ops with destructor for conflict_queue

13 months agoresolve: use dns_name_hash_ops_free for dnssec negative trust anchor
Yu Watanabe [Fri, 11 Apr 2025 02:32:48 +0000 (11:32 +0900)] 
resolve: use dns_name_hash_ops_free for dnssec negative trust anchor

13 months agojournal-remote: introduce custom hash_ops with destructor for MHDDaemonWrapper 37115/head
Yu Watanabe [Sat, 12 Apr 2025 02:32:47 +0000 (11:32 +0900)] 
journal-remote: introduce custom hash_ops with destructor for MHDDaemonWrapper

Then, we can move declaration of the type from journal-remote.c to
journal-remote-main.c, and drop several #if ... #endif.

13 months agosd-journal: use hash_ops with destructor that closes JournalFile
Yu Watanabe [Sat, 12 Apr 2025 14:57:21 +0000 (23:57 +0900)] 
sd-journal: use hash_ops with destructor that closes JournalFile

13 months agojournal: use hash_ops with destructor that make JournalFile offline and close
Yu Watanabe [Sat, 12 Apr 2025 14:49:45 +0000 (23:49 +0900)] 
journal: use hash_ops with destructor that make JournalFile offline and close

13 months agojournal: replace unnecessary use of set_free_free() with set_free()
Yu Watanabe [Fri, 11 Apr 2025 01:44:29 +0000 (10:44 +0900)] 
journal: replace unnecessary use of set_free_free() with set_free()

These uses pcre2_code_hash_ops_free, hence set_free() is enough.

13 months agounit-file: use set_free() to free paths 37114/head
Yu Watanabe [Fri, 11 Apr 2025 02:39:49 +0000 (11:39 +0900)] 
unit-file: use set_free() to free paths

As it uses path_hash_ops_free.

13 months agocore/unit: use string_hash_ops_free for Unit.aliases
Yu Watanabe [Fri, 11 Apr 2025 01:40:20 +0000 (10:40 +0900)] 
core/unit: use string_hash_ops_free for Unit.aliases

13 months agocore,systemctl: unit_file_find_fragment() provides names with string_hash_ops_free
Yu Watanabe [Fri, 11 Apr 2025 01:28:54 +0000 (10:28 +0900)] 
core,systemctl: unit_file_find_fragment() provides names with string_hash_ops_free

names are assigned with set_put_strdup(), hence string_hash_ops_free is
used and we can use set_free() rather than set_free_free().

13 months agocore: replace unnecessary use of set_free_free() with set_free()
Yu Watanabe [Fri, 11 Apr 2025 01:19:07 +0000 (10:19 +0900)] 
core: replace unnecessary use of set_free_free() with set_free()

These variables are assigned with set_put_strv(), hence
string_hash_ops_free is used.

This also drops unnecessary call of set_ensure_allocated() with wrong
hash ops.

13 months agoinstall: use hash_ops with destructor for InstallInfo
Yu Watanabe [Sat, 12 Apr 2025 13:41:25 +0000 (22:41 +0900)] 
install: use hash_ops with destructor for InstallInfo

13 months agoinstall: use path_hash_ops_free
Yu Watanabe [Fri, 11 Apr 2025 02:47:53 +0000 (11:47 +0900)] 
install: use path_hash_ops_free

13 months agolocale-util,kbd-util: several cleanups (#37090)
Yu Watanabe [Sun, 13 Apr 2025 00:15:02 +0000 (09:15 +0900)] 
locale-util,kbd-util: several cleanups (#37090)

13 months agocore/execute: set_get_strv() does not transfer ownership of strings
Mike Yuan [Sat, 12 Apr 2025 22:17:54 +0000 (00:17 +0200)] 
core/execute: set_get_strv() does not transfer ownership of strings

Prompted by #37090

13 months agofstab/gpt-auto: hook up validatefs to /sysroot/usr/ rather than /sysusr/usr/ (#37109)
Luca Boccassi [Sat, 12 Apr 2025 22:05:10 +0000 (23:05 +0100)] 
fstab/gpt-auto: hook up validatefs to /sysroot/usr/ rather than /sysusr/usr/ (#37109)

13 months agosocket-proxy: several cleanups (#37107)
Yu Watanabe [Sat, 12 Apr 2025 20:56:57 +0000 (05:56 +0900)] 
socket-proxy: several cleanups (#37107)

13 months agostdio-bridge: minor coding style cleanup (#37110)
Yu Watanabe [Sat, 12 Apr 2025 20:20:12 +0000 (05:20 +0900)] 
stdio-bridge: minor coding style cleanup (#37110)

13 months agokbd-util: use string_hash_ops_free and set_to_strv() 37090/head
Yu Watanabe [Fri, 11 Apr 2025 02:43:32 +0000 (11:43 +0900)] 
kbd-util: use string_hash_ops_free and set_to_strv()

13 months agolocale-util: use string_hash_ops_free and set_to_strv()
Yu Watanabe [Fri, 11 Apr 2025 01:04:06 +0000 (10:04 +0900)] 
locale-util: use string_hash_ops_free and set_to_strv()

Then we can drop hackish combination of use of set_free_free() and
set_free().

13 months agostrv: constify arguments for strv_equal_ignore_order()
Yu Watanabe [Fri, 11 Apr 2025 00:57:07 +0000 (09:57 +0900)] 
strv: constify arguments for strv_equal_ignore_order()

Follow-up for 5072f4268b89a71e47e59c434da0222f722c7f0e.

13 months agoset: introduce set_to_strv()
Yu Watanabe [Fri, 11 Apr 2025 00:54:21 +0000 (09:54 +0900)] 
set: introduce set_to_strv()

It is similar to set_get_strv(), but invalidates the set on success.

13 months agolocale-util: coding style cleanups
Yu Watanabe [Fri, 11 Apr 2025 00:15:06 +0000 (09:15 +0900)] 
locale-util: coding style cleanups

13 months agolocale-util: filter out non-UTF-8 locales even when failed to parse $SYSTEMD_LIST_NON...
Yu Watanabe [Fri, 11 Apr 2025 00:13:39 +0000 (09:13 +0900)] 
locale-util: filter out non-UTF-8 locales even when failed to parse $SYSTEMD_LIST_NON_UTF8_LOCALES

13 months agolocale-util: fix argument for munmap()
Yu Watanabe [Fri, 11 Apr 2025 00:11:05 +0000 (09:11 +0900)] 
locale-util: fix argument for munmap()

13 months agosocket-proxy: reset connection only in callback functions 37107/head
Yu Watanabe [Sat, 12 Apr 2025 05:25:36 +0000 (14:25 +0900)] 
socket-proxy: reset connection only in callback functions

This makes connection_complete(), connection_start(), and friends not
reset connection on failure.

13 months agosocket-proxy: use event_source_hash_ops for managing event sources
Yu Watanabe [Sat, 12 Apr 2025 16:19:44 +0000 (01:19 +0900)] 
socket-proxy: use event_source_hash_ops for managing event sources

13 months agoevent-util: use DEFINE_HASH_OPS_WITH_VALUE_DESTRUCTOR() to define event_source_hash_ops
Yu Watanabe [Sat, 12 Apr 2025 16:22:34 +0000 (01:22 +0900)] 
event-util: use DEFINE_HASH_OPS_WITH_VALUE_DESTRUCTOR() to define event_source_hash_ops

Currently, the hash_ops is only used by set, so this does not change
anything. But, there are several benefits,
- we can drop cast in the definition,
- the hash_ops can be also used by hashmap.

13 months agosocket-proxy: use hash_ops with destructor for managing Connection
Yu Watanabe [Sat, 12 Apr 2025 16:16:00 +0000 (01:16 +0900)] 
socket-proxy: use hash_ops with destructor for managing Connection

This also renames context_clear() -> context_done(), to follow our
recent coding style.

13 months agosocket-proxy: make connection_free() return NULL
Yu Watanabe [Sat, 12 Apr 2025 16:10:29 +0000 (01:10 +0900)] 
socket-proxy: make connection_free() return NULL

To make it follow our coding style.

13 months agosocket-proxy: use event_reset_time_relative()
Yu Watanabe [Sat, 12 Apr 2025 05:19:21 +0000 (14:19 +0900)] 
socket-proxy: use event_reset_time_relative()

Also, split out context_reset_timer() from connection_release().
No functional change. Preparation for later change.

13 months agostdio-bridge: use DEFAULT_SYSTEM_BUS_ADDRESS 37110/head
Mike Yuan [Sat, 12 Apr 2025 17:02:44 +0000 (19:02 +0200)] 
stdio-bridge: use DEFAULT_SYSTEM_BUS_ADDRESS

13 months agostdio-bridge: minor modernization for parse_argv()
Mike Yuan [Sat, 12 Apr 2025 17:13:35 +0000 (19:13 +0200)] 
stdio-bridge: minor modernization for parse_argv()

13 months agofstab-generator: honor x-systemd.validatefs from kernel cmdline too 37109/head
Mike Yuan [Sat, 12 Apr 2025 13:22:05 +0000 (15:22 +0200)] 
fstab-generator: honor x-systemd.validatefs from kernel cmdline too

13 months agofstab/gpt-auto: hook up validatefs to /sysroot/usr/ rather than /sysusr/usr/
Mike Yuan [Sat, 12 Apr 2025 13:06:36 +0000 (15:06 +0200)] 
fstab/gpt-auto: hook up validatefs to /sysroot/usr/ rather than /sysusr/usr/

We carry a special logic for /usr/ in initrd that it initially gets
mounted to /sysusr/usr/ and later bind mounted to /sysroot/usr/.
When hooking up validatefs it is hence necessary to wait for
the bind mount and validate that, rather than the /sysusr/usr/
established as intermediate transport.

Alternative to #37102

13 months agogpt-auto: do not add /sysusr/usr/ -> /sysroot/usr/ after switch-root
Mike Yuan [Sat, 12 Apr 2025 12:50:46 +0000 (14:50 +0200)] 
gpt-auto: do not add /sysusr/usr/ -> /sysroot/usr/ after switch-root

Follow-up for 7852e301e0eb839adf4bf45aa41e39c0dfc03403

13 months agolibudev: use 'type* func()' style rather than 'type *func()' 37106/head
Yu Watanabe [Sat, 12 Apr 2025 12:13:50 +0000 (21:13 +0900)] 
libudev: use 'type* func()' style rather than 'type *func()'

13 months agolibudev-list: use strdup_to()
Yu Watanabe [Sat, 12 Apr 2025 12:10:16 +0000 (21:10 +0900)] 
libudev-list: use strdup_to()

No functional change, just refactoring.

13 months agolibudev-list: use hashmap_dump_sorted()
Yu Watanabe [Sat, 12 Apr 2025 03:10:32 +0000 (12:10 +0900)] 
libudev-list: use hashmap_dump_sorted()

13 months agolibudev-list: use custom hash_ops with destructor for udev_list_entry
Yu Watanabe [Sat, 12 Apr 2025 03:06:19 +0000 (12:06 +0900)] 
libudev-list: use custom hash_ops with destructor for udev_list_entry

13 months agoTODO: drop getenv item, done where needed
Luca Boccassi [Sat, 12 Apr 2025 10:49:00 +0000 (11:49 +0100)] 
TODO: drop getenv item, done where needed

13 months agoUse secure_getenv() instead of getenv() where appropriate
Busayo Dada [Wed, 9 Apr 2025 16:23:23 +0000 (17:23 +0100)] 
Use secure_getenv() instead of getenv() where appropriate

13 months agobusctl: several cleanups for introspect command (#37103)
Luca Boccassi [Sat, 12 Apr 2025 10:46:58 +0000 (11:46 +0100)] 
busctl: several cleanups for introspect command (#37103)

13 months agobusctl: use table to format result of introspect command 37103/head
Yu Watanabe [Sat, 12 Apr 2025 01:57:33 +0000 (10:57 +0900)] 
busctl: use table to format result of introspect command

13 months agobusctl: use set_dump_sorted() and FOREACH_ARRAY()
Yu Watanabe [Sat, 12 Apr 2025 01:17:33 +0000 (10:17 +0900)] 
busctl: use set_dump_sorted() and FOREACH_ARRAY()

13 months agobusctl: use strdup_to() and set_consume()
Yu Watanabe [Sat, 12 Apr 2025 01:04:41 +0000 (10:04 +0900)] 
busctl: use strdup_to() and set_consume()

13 months agobusctl: set destructor to member_hash_ops
Yu Watanabe [Sat, 12 Apr 2025 03:18:40 +0000 (12:18 +0900)] 
busctl: set destructor to member_hash_ops

Then, we can drop the custom destructor of 'Set *mmebers'.

13 months agonetwork/netdev: remove support of netdevsim
Yu Watanabe [Fri, 11 Apr 2025 22:10:51 +0000 (07:10 +0900)] 
network/netdev: remove support of netdevsim

netdevsim device creation by networkd was deprecated by
59a9ef102240adad039f58524cfa5774f9e78a7d (v246), and it does not work
since kernel v5.2:
https://github.com/torvalds/linux/commit/e05b2d141fef22cfac1928cf0eb6890e5dae4216

Now our baseline for the kernel is v5.4. Let's completely kill the
feature.

13 months agotest: also wait for all queued events being processed
Yu Watanabe [Fri, 11 Apr 2025 20:50:32 +0000 (05:50 +0900)] 
test: also wait for all queued events being processed

Otherwise, if already 'remove' uevent for the device is queued, then
the device node may not exist any more when 'udevadm wait' command succeeds.

Follow-up for 90941d458a2f6b03cb782ab55c16f605b44c4fd8.

13 months agocore: drop cgroup v1 synthetic empty event logic (#37099)
Yu Watanabe [Sat, 12 Apr 2025 00:21:29 +0000 (09:21 +0900)] 
core: drop cgroup v1 synthetic empty event logic (#37099)

13 months agofido2: hook up with plymouth for notifications (#37089)
Luca Boccassi [Sat, 12 Apr 2025 00:06:31 +0000 (01:06 +0100)] 
fido2: hook up with plymouth for notifications (#37089)

Show notifications for fido2 messages in plymouth, so that they
show up in the initrd like the passphrase prompt already does.

13 months agomkosi: update debian commit reference to 91a4d114e0b5a01385477f8862caedc1056fa68b 37089/head
Luca Boccassi [Thu, 10 Apr 2025 22:31:10 +0000 (23:31 +0100)] 
mkosi: update debian commit reference to 91a4d114e0b5a01385477f8862caedc1056fa68b

91a4d114e0 Install new file for upstream profile

13 months agomkosi: enable autologin also with --console=gui
Luca Boccassi [Thu, 10 Apr 2025 22:30:50 +0000 (23:30 +0100)] 
mkosi: enable autologin also with --console=gui

13 months agofido2: hook up with plymouth for notifications
Luca Boccassi [Thu, 10 Apr 2025 22:10:37 +0000 (23:10 +0100)] 
fido2: hook up with plymouth for notifications

Show notifications for fido2 messages in plymouth, so that they
show up in the initrd like the passphrase prompt already does.

13 months agocore: unit_watch_pidref() gracefully handles EEXIST 37099/head
Mike Yuan [Fri, 11 Apr 2025 21:43:25 +0000 (23:43 +0200)] 
core: unit_watch_pidref() gracefully handles EEXIST

No need to check that at callsite.

13 months agocore: drop cgroup v1 synthetic empty event logic
Mike Yuan [Sun, 16 Mar 2025 20:09:25 +0000 (21:09 +0100)] 
core: drop cgroup v1 synthetic empty event logic

cgroup v2's empty events are reliable, hence we'd not bother
with validating it again in unit_add_to_cgroup_empty_queue()
either.

13 months agoudev-rules: add more verbose messages for ATTR{} and ATTRS{}
Yu Watanabe [Fri, 11 Apr 2025 11:28:25 +0000 (20:28 +0900)] 
udev-rules: add more verbose messages for ATTR{} and ATTRS{}

This also makes udevd/udevadm mention that the parent device rules
also tested with the device currently processing.

With the following rules file:
```
ATTRS{idVendor}=="0001", ATTRS{idProduct}=="44ff", MODE="0666", GROUP="input",
```

Before:
```
event0: /tmp/hoge.rules:1 Checking conditions for parent devices: ATTRS{idVendor}=="0001", ATTRS{idProduct}=="44ff"
event0: /tmp/hoge.rules:1 No parent device passed parent conditions.
```
After:
```
event0: /tmp/hoge.rules:1 Checking conditions for parent devices (including self): ATTRS{idVendor}=="0001", ATTRS{idProduct}=="44ff"
event0: /tmp/hoge.rules:1 ATTRS{idVendor}=="0001": Cannot read sysfs attribute: No such file or directory
input0: /tmp/hoge.rules:1 ATTRS{idVendor}=="0001": Cannot read sysfs attribute: No such file or directory
PNP0C0E:00: /tmp/hoge.rules:1 ATTRS{idVendor}=="0001": Cannot read sysfs attribute: No such file or directory
LNXSYBUS:00: /tmp/hoge.rules:1 ATTRS{idVendor}=="0001": Cannot read sysfs attribute: No such file or directory
LNXSYSTM:00: /tmp/hoge.rules:1 ATTRS{idVendor}=="0001": Cannot read sysfs attribute: No such file or directory
event0: /tmp/hoge.rules:1 No parent device passed parent conditions.
```

Prompted by #37063.

13 months agoudev: support reverting/serializing/deserializing configurations set by 'udevadm...
Yu Watanabe [Fri, 11 Apr 2025 21:47:16 +0000 (06:47 +0900)] 
udev: support reverting/serializing/deserializing configurations set by 'udevadm control' (#37067)

Previously, log level, properties, maximum number of worker processes,
and so on set by 'udevadm control' are discarded on restart. This makes
the configuration serialized on stop and deserialized in next
invocation. Also, this introduces 'udevadm control --revert' to clear
previous configurations.

13 months agocore/cgroup: drop v1 handling in unit_attach_pids_to_cgroup()
Mike Yuan [Sat, 5 Apr 2025 21:49:12 +0000 (23:49 +0200)] 
core/cgroup: drop v1 handling in unit_attach_pids_to_cgroup()

13 months agomount-setup: swap MountMode and condition_fn in struct
Mike Yuan [Fri, 4 Apr 2025 15:40:15 +0000 (17:40 +0200)] 
mount-setup: swap MountMode and condition_fn in struct

To avoid unnecessary 'NULL's in structured initializer.

13 months agoTEST-17-UDEV: add test cases for reverting/serializing/deserializing config 37067/head
Yu Watanabe [Mon, 7 Apr 2025 20:26:09 +0000 (05:26 +0900)] 
TEST-17-UDEV: add test cases for reverting/serializing/deserializing config

13 months agoudev-config: serialize/deserialize dynamical configurations
Yu Watanabe [Mon, 7 Apr 2025 19:33:14 +0000 (04:33 +0900)] 
udev-config: serialize/deserialize dynamical configurations

Previously, configurations set by 'udevadm control' such as log level,
maximum number of childrens, global properties, and so on were discarded
on restart. This makes udevd serialize those configurations on stop, and
deserialize them in the next invocation.

13 months agodaemon-util: expose notify_remove_fd_warn()
Yu Watanabe [Sat, 5 Apr 2025 13:41:28 +0000 (22:41 +0900)] 
daemon-util: expose notify_remove_fd_warn()

13 months agoudevadm: introduce --revert option to call io.systemd.service.Revert
Yu Watanabe [Mon, 7 Apr 2025 20:06:22 +0000 (05:06 +0900)] 
udevadm: introduce --revert option to call io.systemd.service.Revert

13 months agoudev-varlink: introduce io.systemd.Udev.Revert method
Yu Watanabe [Mon, 7 Apr 2025 19:58:01 +0000 (04:58 +0900)] 
udev-varlink: introduce io.systemd.Udev.Revert method

It reverts dynamically set configurations.

13 months agomkosi: update fedora commit reference to 6646d13acae64665f63354cd60ecf963ee563b96...
Daan De Meyer [Fri, 11 Apr 2025 11:46:20 +0000 (13:46 +0200)] 
mkosi: update fedora commit reference to 6646d13acae64665f63354cd60ecf963ee563b96 (#37065)

6646d13aca fmf: Run tests from systemd-tests rpm if possible

13 months agomkosi: update fedora commit reference to 6646d13acae64665f63354cd60ecf963ee563b96 37065/head
Daan De Meyer [Wed, 9 Apr 2025 12:30:13 +0000 (14:30 +0200)] 
mkosi: update fedora commit reference to 6646d13acae64665f63354cd60ecf963ee563b96

6646d13aca fmf: Run tests from systemd-tests rpm if possible

13 months agotest: Work around bug in meson when installing directory symlinks
Daan De Meyer [Fri, 11 Apr 2025 10:12:12 +0000 (12:12 +0200)] 
test: Work around bug in meson when installing directory symlinks

Installing symlinks pointing to directories with install_subdir() is
broken (see https://github.com/mesonbuild/meson/pull/14471). Let's work
around the issue for now by manually installing the standalone directory
until the issue is fixed upstream and available in meson in all supported
distributions.

13 months agomeson: Fix installation directory for integration-tests when using rsync
Daan De Meyer [Fri, 11 Apr 2025 09:41:48 +0000 (11:41 +0200)] 
meson: Fix installation directory for integration-tests when using rsync

13 months agoJSON User/Group records: Add properties for UUIDs (#37024)
Yu Watanabe [Thu, 10 Apr 2025 22:10:56 +0000 (07:10 +0900)] 
JSON User/Group records: Add properties for UUIDs (#37024)

It is useful to have stable and unique identifiers for a security
principal. The majority of identitiy management systems in use with Unix
systems today (e.g. Active Directory objectGUID, FreeIPA ipaUniqueID,
Kanidm UUIDs) assign each account and group a unique UUID and exposing
that to applications allows them to refer to accounts in a stable
manner.

At this time we are merely adding the properties to the user/group
records. Adding ways to perform lookups by these IDs is left for a
future PR.

See [discussion](https://mastodon.social/@pid_eins/114283987142625086) and
[this comment](https://github.com/systemd/systemd/issues/24032#issuecomment-2745246757).

I'm sure there are wording aspects which could be improved, but I
believe this is a reasonable initial stab at the problem.