Yu Watanabe
6952ebae3b
tree-wide: drop several remaining license headers
...
And downgrade the license of utf8.c to LGPL-2.0-or-later, to follow the
original license.
2024-04-08 10:14:50 +02:00
Luca Boccassi
3abc3671f5
Merge pull request #31131 from poettering/dlopen-kmod
...
turn libkmod into a dlopen() dependency, too
2024-04-06 13:19:27 +01:00
Luca Boccassi
360f486cc6
Merge pull request #32085 from yuwata/udev-check-processing
...
udev: check ID_PROCESSING udev property more
2024-04-04 23:46:26 +01:00
Yu Watanabe
e17e438ede
udevadm-test: also show security labels if specified
...
Follow-up for 03b6879f4d .
2024-04-04 21:30:26 +01:00
Yu Watanabe
f7cb6801a2
udev: do not update sysattr and sysctl value on testing
...
Follow-up for 089bef6631 .
2024-04-04 21:29:30 +01:00
Yu Watanabe
6a363a838a
udevadm-test: insert missing line break
...
Addresses post-merge comment:
https://github.com/systemd/systemd/commit/03b6879f4d45c49264708aef872fd05af30ddcf0#r140587790
2024-04-04 20:10:28 +02:00
Yu Watanabe
54e6172550
tree-wide: use device_is_processed() more
2024-04-05 01:49:20 +09:00
Lennart Poettering
1d98716ef7
libkmod: turn into dlopen() dependency
...
As it turns out libkmod has quite a bunch of deps, including various
compressing libs and similar. By turning this into a dlopen()
dependency, we can make our depchain during install time quite a bit
smaller. In particular as inside of containers kmod doesn't help anyway
as CAP_SYS_MODULE is not available anyway.
While we are at it, also share the code that sets up logging/kmod
context.
After:
$ lddtree ./build/systemd
systemd => ./build/systemd (interpreter => /lib64/ld-linux-x86-64.so.2)
libsystemd-core-255.so => ./build/src/core/libsystemd-core-255.so
libaudit.so.1 => /lib64/libaudit.so.1
libcap-ng.so.0 => /lib64/libcap-ng.so.0
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
libm.so.6 => /lib64/libm.so.6
libmount.so.1 => /lib64/libmount.so.1
libblkid.so.1 => /lib64/libblkid.so.1
libseccomp.so.2 => /lib64/libseccomp.so.2
libselinux.so.1 => /lib64/libselinux.so.1
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0
libsystemd-shared-255.so => /home/lennart/projects/systemd/build/src/shared/libsystemd-shared-255.so
libacl.so.1 => /lib64/libacl.so.1
libattr.so.1 => /lib64/libattr.so.1
libcap.so.2 => /lib64/libcap.so.2
libcrypt.so.2 => /lib64/libcrypt.so.2
libgcrypt.so.20 => /lib64/libgcrypt.so.20
libgpg-error.so.0 => /lib64/libgpg-error.so.0
liblz4.so.1 => /lib64/liblz4.so.1
libcrypto.so.3 => /lib64/libcrypto.so.3
libz.so.1 => /lib64/libz.so.1
libpam.so.0 => /lib64/libpam.so.0
libeconf.so.0 => /lib64/libeconf.so.0
liblzma.so.5 => /lib64/liblzma.so.5
libzstd.so.1 => /lib64/libzstd.so.1
libc.so.6 => /lib64/libc.so.6
Before:
$ lddtree ./build/systemd
systemd => ./build/systemd (interpreter => /lib64/ld-linux-x86-64.so.2)
libsystemd-core-255.so => ./build/src/core/libsystemd-core-255.so
libaudit.so.1 => /lib64/libaudit.so.1
libcap-ng.so.0 => /lib64/libcap-ng.so.0
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
libkmod.so.2 => /lib64/libkmod.so.2
libzstd.so.1 => /lib64/libzstd.so.1
liblzma.so.5 => /lib64/liblzma.so.5
libz.so.1 => /lib64/libz.so.1
libcrypto.so.3 => /lib64/libcrypto.so.3
libgcc_s.so.1 => /lib64/libgcc_s.so.1
libm.so.6 => /lib64/libm.so.6
libmount.so.1 => /lib64/libmount.so.1
libblkid.so.1 => /lib64/libblkid.so.1
libseccomp.so.2 => /lib64/libseccomp.so.2
libselinux.so.1 => /lib64/libselinux.so.1
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0
libsystemd-shared-255.so => /home/lennart/projects/systemd/build/src/shared/libsystemd-shared-255.so
libacl.so.1 => /lib64/libacl.so.1
libattr.so.1 => /lib64/libattr.so.1
libcap.so.2 => /lib64/libcap.so.2
libcrypt.so.2 => /lib64/libcrypt.so.2
libgcrypt.so.20 => /lib64/libgcrypt.so.20
libgpg-error.so.0 => /lib64/libgpg-error.so.0
liblz4.so.1 => /lib64/liblz4.so.1
libpam.so.0 => /lib64/libpam.so.0
libeconf.so.0 => /lib64/libeconf.so.0
libc.so.6 => /lib64/libc.so.6
2024-04-04 18:16:45 +02:00
Yu Watanabe
03b6879f4d
udevadm-test: prettify test results
2024-03-29 12:44:11 +00:00
Yu Watanabe
089bef6631
udev: make udevadm test and test-builtin not destructive
...
Previously, 'udevadm test' performs not only processing udev rules,
but made several destructive change on the system; updating udev
database, device node permission, devlinks, network interface
properties, and so on.
Similary, 'udevadm test-builtin' may perform something destructive,
especially by 'keyboard', 'kmod', and 'net_setup_link' builtins.
Let's make these commands and test executables not change device
configurations.
2024-03-29 09:33:07 +09:00
Yu Watanabe
a7541703b9
udev-event: split out update_clone()
...
No functional change, preparation for later commits.
2024-03-28 14:49:34 +09:00
Mike Yuan
b377a7cce9
daemon-util: introduce notify_reloading helper
...
Prompted by #31951
2024-03-26 12:52:33 +00:00
sharad3001
e0cd8a1bdf
udev: add assert for EVENT_RESULT_EXIT_STATUS_BASE ( #31710 )
...
EVENT_RESULT_EXIT_STATUS_BASE and EVENT_RESULT_SUCCESS has the same value.
Code updated to add assert statement for EVENT_RESULT_EXIT_STATUS_BASE.
2024-03-13 22:25:22 +09:00
Zbigniew Jędrzejewski-Szmek
ec596fe34e
Merge pull request #30480 from keszybz/kernel-install-more-paths
...
Read kernel-install config from /run/kernel too
2024-03-08 08:25:07 +01:00
Zbigniew Jędrzejewski-Szmek
4bf32eac52
udevd: inline iterator variable
2024-03-07 18:49:44 +01:00
Zbigniew Jędrzejewski-Szmek
5ea4afcf00
udev,backlight,kernel-install: reword sentences starting with "Skipping to"
...
That's not gramatically correct.
In backlight, change "assocation" to "deduplication". Without the context,
it's probably not clear at all that we "associate" them to ignore them.
2024-03-07 18:49:44 +01:00
Lennart Poettering
10d50d9eac
udev: use strndupa_safe() rather than strndupa()
...
As per coding style, we don't use strndupa(), but strndupa_safe() only.
As a side-effect, this means musl folks can just drop this mess:
https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch
2024-03-06 13:23:17 +00:00
Mike Yuan
4f49512695
extract-word: modernize extract_many_words
2024-03-03 19:01:00 +08:00
Yu Watanabe
7e66e053d4
udev/net: fix ReceivePacketSteeringCPUMask=disable assignment
...
Follow-up for 0f30bf5886 .
If 'mask' is newly allocated, previously the value was ignored.
2024-03-02 14:50:39 +09:00
Renjaya Raga Zenta
0f30bf5886
udevd: Add ReceivePacketSteeringCPUMask for systemd.link
...
Takes a list of CPU indices or ranges separated by either whitespace or commas. Alternatively,
takes the special value "all" in which will include all available CPUs in the mask.
CPU ranges are specified by the lower and upper CPU indices separated by a dash (e.g. "2-6").
This option may be specified more than once, in which case the specified CPU affinity masks are merged.
If an empty string is assigned, the mask is reset, all assignments prior to this will have no effect.
Defaults to unset and RPS CPU list is unchanged. To disable RPS when it was previously enabled, use the
special value "disable".
Currently, this will set CPU mask to all `rx` queue of matched device (if it has multiple queues).
The `/sys/class/net/<dev>/queues/rx-<n>/rps_cpus` only accept cpu bitmap mask in hexadecimal.
Fix : #30323
2024-02-28 11:35:36 +07:00
Lennart Poettering
db7136ec73
signal-util: imply sentinel -1 in sigprocmask_many() + sigset_add_many() args list
2024-02-23 09:35:12 -08:00
Yu Watanabe
f6bda694f9
udev: introduce ID_PROCESSING=1 boolean property
...
This indicates that the device is being processed by udevd.
2024-02-12 01:09:21 +09:00
Mike Yuan
b409aacb0a
mountpoint-util: introduce path_is_mount_point_full
2024-02-06 15:09:28 +08:00
我超厉害 and wangyuhang
8a86e15f07
udev: even if a device is a zac device, scsi-$ID_SERIAL will be reserved for it ( #30459 )
...
Co-authored-by: wangyuhang <wangyuhang27@huawei.com >
2024-01-16 14:57:07 +09:00
chenjiayi
204594ecf1
udev: distinguish host-managed zoned block in scsi_id
...
According to SPC4, the value of 0x14 is reserved to distinguish
host managed zoned block, e.g., some SMR (Shingled Magnetic Recording)
disks.
Other utilities such as sg3_utils can successfully recognize such
kind of disks. This patch implements the same ability.
2024-01-12 15:52:38 +00:00
Yu Watanabe
967cd1712c
Merge pull request #30867 from dtardon/udev-conf-dropins
...
Allow dropins for udev.conf
2024-01-12 06:37:23 +09:00
David Tardon
09dd8e77fc
udev: factor out config parser call into function
...
... which is then called from both places. This makes sure that the
configuration is parsed by udevd and other tools in exactly the same
way.
2024-01-12 05:12:42 +09:00
David Tardon
343c8514c1
udevd: use config. parser to parse udev.conf
...
This adds support for the usual config. file hierarchy (including
dropins).
Fixes #30460 .
2024-01-12 05:08:18 +09:00
Rose
aa9ff6c28d
tree-wide: replace string functions with fundamental functions
2024-01-11 13:36:25 +09:00
Yu Watanabe
046286e863
udev/net: introduce [Link] Property=, ImportProperty=, and UnsetProperty= settings
...
The applied order is equivalent to Environment=, PassEnvironment=, and
UnsetEnvironment= for [Service] or so.
2024-01-10 04:33:51 +09:00
Yu Watanabe
513ca8b6f0
udev: split out check that udev property can be updated
2024-01-10 04:27:41 +09:00
Yu Watanabe
3e00171dcd
udev/net: split out udev property assignment logic
...
No functional change, just refactoring.
2024-01-10 04:27:41 +09:00
Yu Watanabe
0c3af33e19
udev/net: do not set unapplied .link file name to ID_NET_LINK_FILE
...
Instead, import already assigned value from the udev database.
Then, return the builtin earlier.
2024-01-10 04:27:41 +09:00
Yu Watanabe
ac36406277
udev-builtin-path_id: drop redundant debugging logs
...
The function udev_builtin_add_property() internally logs the failure.
2024-01-10 04:27:26 +09:00
Yu Watanabe
50a0379d5d
udev/builtin: introduce udev_builtin_import_property() helper function
...
This is not used in this commit, but will be used later commits.
2024-01-10 04:11:08 +09:00
Yu Watanabe
7ba3e44651
udevadm: allow to override the default log level by environment variable
...
Previously, there was no way to override the log level for test and
test-builtin commands. Let's re-parse environment after setting the log
level to debug. Then, we can control the log level through environment
variable.
2024-01-06 08:30:58 +09:00
Luca Boccassi
5af0f171f9
udev: add upper bound of 5 hours to SYSTEMD_UDEV_EXTRA_TIMEOUT_SEC=
...
Follow-up for b16c6076cb
CID#1533111
2024-01-04 14:30:20 +01:00
Yu Watanabe
124c712692
Merge pull request #30532 from yuwata/udev-extend-timeout-kill-worker
...
udev: extend timeout to prevent kill worker
2024-01-04 05:21:50 +09:00
Yu Watanabe
e0feaedbd9
udev/dmi-memory-id: update table with latest SMBIOS specification
...
Closes #30699 .
2024-01-03 08:43:17 +09:00
Yu Watanabe and sushmbha
b16c6076cb
udev: wait for an extra time before the manager kills workers
...
Otherwise, udev workers cannot detect slow programs invoked by
IMPORT{program}=, PROGRAM=, or RUN=, and whole worker process may be
killed.
Fixes #30436 .
Co-authored-by: sushmbha <sushmita.bhattacharya@oracle.com >
2024-01-03 04:23:22 +09:00
Yu Watanabe
11706971e8
udev-spawn: skip executing RUN= if exec_delay= is too long
...
To prevent the worker process killed by the manager.
2024-01-03 04:23:18 +09:00
Yu Watanabe
406c96e329
udev-spawn: refuse to spawn commands if the event already takes too long
...
Also, calculate the timeout for warning based on the remaining time for
the timeout of the event, rather than the timeout itself.
Currently, udev manager kills the worker if the timeout exceeds. So,
this does not change anything except for the timing of the warning.
Just refactoring and preparation for later commits.
2024-01-03 04:23:12 +09:00
Luca Boccassi
86b8b66675
Merge pull request #30591 from yuwata/device-util
...
device-util: introduce device_in_subsystem() and device_is_devtype() helper functions
2024-01-01 19:26:39 +01:00
Luca Boccassi
e191de6947
Merge pull request #30614 from yuwata/udev-event-take-worker
...
udev: make UdevEvent take UdevWorker object
2024-01-01 19:18:07 +01:00
Joakim Nohlgård and Yu Watanabe
ba340e2a75
udevadm: Propagate return code from verb result
...
udevadm lock did not propagate the return code from the child process
because all positive values were treated as success.
v2:
Now 'udevadm test-builtin' ignores all positive return values from the
builtin commands. Otherwise, as the hwdb builtin returns an positive value
when a matching entry found, 'udevadm test-builtin hwdb' will fail.
v3:
Initialize partition table before calling 'sfdisk --delete'.
Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com >
2023-12-30 05:26:59 +09:00
Yu Watanabe
fe3fcb9492
Merge pull request #30633 from mrc0mmand/cocci-shenanigans
...
coccinelle: rework how we run the Coccinelle transformations
2023-12-26 05:45:58 +09:00
Frantisek Sumsal
78bc04cf12
tree-wide: use strndupa_safe() in a couple more cases
2023-12-25 18:26:59 +01:00
Yu Watanabe
1d03d970a1
tree-wide: insert space after for and switch
2023-12-25 01:29:38 +09:00
Yu Watanabe
eb1a51b869
udev: make UdevEvent take reference to UdevWorker
...
Many functions take timeout_usec and friends, but those are equivalent
to the Worker elements.
No functional change, just refactoring.
2023-12-24 17:20:23 +09:00
Yu Watanabe
0df87a4037
udev: call udev_watch_end() before udev_event_execute_rules()
...
No functional change, just refactoring.
2023-12-24 17:20:23 +09:00