Lennart Poettering
49f3ee7e74
udevd: configure a child process name for worker processes
2018-12-01 12:50:45 +01:00
Lennart Poettering
ece0fe12ad
tree-wide: (void)ify some setsid() and related calls
2018-12-01 12:50:45 +01:00
Lennart Poettering
595225af7a
tree-wide: invoke rlimit_nofile_safe() before various exec{v,ve,l}() invocations
...
Whenever we invoke external, foreign code from code that has
RLIMIT_NOFILE's soft limit bumped to high values, revert it to 1024
first. This is a safety precaution for compatibility with programs using
select() which cannot operate with fds > 1024.
This commit adds the call to rlimit_nofile_safe() to all invocations of
exec{v,ve,l}() and friends that either are in code that we know runs
with RLIMIT_NOFILE bumped up (which is PID 1 and all journal code for
starters) or that is part of shared code that might end up there.
The calls are placed as early as we can in processes invoking a flavour
of execve(), but after the last time we do fd manipulations, so that we
can still take benefit of the high fd limits for that.
2018-12-01 12:50:45 +01:00
Zbigniew Jędrzejewski-Szmek
62a85ee0a9
tree-wide: rename path_join_many() to path_join()
...
$ git grep -e path_join_many -l|xargs sed -r -i 's/path_join_many/path_join/g'
The two test functions are merged into one.
2018-11-30 10:59:47 +01:00
Zbigniew Jędrzejewski-Szmek
30016f21b3
tree-wide: replace path_join with path_join_many
2018-11-30 10:40:38 +01:00
Lennart Poettering
5cfa2c3dc0
tree-wide: use IOVEC_MAKE() at many places
2018-11-27 10:12:27 +01:00
Lennart Poettering
a0ee3d93bb
Merge pull request #10919 from yuwata/sd-device-monitor-fixes
...
sd-device-monitor: several fixes
2018-11-26 18:08:41 +01:00
Yu Watanabe
938dbb292a
Merge pull request #10901 from poettering/startswith-list
...
add new STARTSWITH_SET() macro
2018-11-26 22:40:51 +09:00
Lennart Poettering
49fe5c0996
tree-wide: port various places over to STARTSWITH_SET()
2018-11-26 14:08:46 +01:00
Yu Watanabe
6acf1ccba5
udevd: do not call udev_ctrl_enable_receiving() if the socket is passed from pid1
...
Before c4b69e990f
, if the socket fd is
passed from pid1, `udev_ctrl_enable_receiving()` was not called.
Let's preserve the original logic.
2018-11-26 11:57:48 +09:00
Yu Watanabe
49c603bd5e
udev: drop duplicate whitespaces
2018-11-26 11:53:21 +09:00
Yu Watanabe
572909a38a
udev-ctrl: update log messages
2018-11-26 11:52:40 +09:00
Yu Watanabe
b4ba2fe3f1
udev-rules: include device sysname in log messages
2018-11-26 11:37:29 +09:00
Yu Watanabe
9315f853c4
udev-ctrl: fix coding style isuues
2018-11-26 11:10:46 +09:00
Yu Watanabe
986ab0d2dc
udevd: do not set buffer size if the socket is passed from pid1
...
Before c4b69e990f
, if the socket fd is
passed from pid1, `udev_monitor_set_receive_buffer_size()` (now it is
a wrapper of `sd_device_monitor_set_receive_buffer_size()`) was not
called. Let's preserve the original logic.
2018-11-25 20:17:25 +09:00
Yu Watanabe
8c19dc54d3
udev-rules: update log messages
2018-11-23 01:15:42 +09:00
Yu Watanabe
20e97dd3de
meson: add option for debugging udev
2018-11-23 00:28:27 +09:00
Yu Watanabe
67e4b38563
udev-rules: trivial coding style cleanups
2018-11-23 00:22:09 +09:00
Yu Watanabe
981fae90df
udev: rename udev_rules_unref() to udev_rules_free()
...
As udev_rules do not have a reference counter.
2018-11-23 00:07:40 +09:00
Zbigniew Jędrzejewski-Szmek
d4e98880e9
Also drop a few more unnecessary uses of synthethic errno
2018-11-22 10:54:38 +01:00
Zbigniew Jędrzejewski-Szmek
886cf317c4
coccinelle: also mark previous synthetic errnos as such
2018-11-22 10:54:38 +01:00
Zbigniew Jędrzejewski-Szmek
baaa35ad70
coccinelle: make use of SYNTHETIC_ERRNO
...
Ideally, coccinelle would strip unnecessary braces too. But I do not see any
option in coccinelle for this, so instead, I edited the patch text using
search&replace to remove the braces. Unfortunately this is not fully automatic,
in particular it didn't deal well with if-else-if-else blocks and ifdefs, so
there is an increased likelikehood be some bugs in such spots.
I also removed part of the patch that coccinelle generated for udev, where we
returns -1 for failure. This should be fixed independently.
2018-11-22 10:54:38 +01:00
Lennart Poettering
b390455cbb
Merge pull request #10866 from yuwata/libudev-util-cleanups
...
libudev-util: several cleanups and tests
2018-11-21 11:15:35 +01:00
Yu Watanabe
3839535a53
libudev: make util_resolve_subsys_kernel() return negative errno
...
This also replaces udev_device by sd_device in the function.
2018-11-21 17:31:16 +09:00
Yu Watanabe
c0c591544a
udev/scsi_id: fix buffer length
2018-11-21 17:30:49 +09:00
Zbigniew Jędrzejewski-Szmek
0c5a109a25
udevd: define main through macro
...
This removes the call to log_close(), and refactors how fork() is done. Now
the parent also goes through normal cleanup. This isn't necessary to use the
macro, but it feels cleaner this way.
2018-11-21 09:14:00 +01:00
Zbigniew Jędrzejewski-Szmek
138715dc12
udevadm: define main through macro
...
This removes a call to log_close(). I don't think this should matter.
The call to mac_selinux_init() is moved after parse_argv(). We probably
don't need selinux when printing help().
2018-11-21 09:14:00 +01:00
Zbigniew Jędrzejewski-Szmek
294bf0c34a
Split out pretty-print.c and move pager.c and main-func.h to shared/
...
This is high-level functionality, and fits better in shared/ (which is for
our executables), than in basic/ (which is also for libraries).
2018-11-20 18:40:02 +01:00
Yu Watanabe
5ea78a39e5
libudev-list: move libudev-list related definitions to libudev-list-internal.h
...
This also rename libudev-private.h to libudev-util.h, and cleanups
several unnecessary headers from udev.h and libudev-util.h
2018-11-20 14:38:35 +09:00
Yu Watanabe
02edd80d87
udev: move definition of READ_END and WRITE_END from libudev-private.h to udev.h
2018-11-20 14:38:35 +09:00
Lennart Poettering
e16f425654
Merge pull request #10698 from yuwata/udevd-replace-udev-device
...
udevd: replace udev_device by sd_device
2018-11-19 11:28:45 +01:00
Zbigniew Jędrzejewski-Szmek
64d9f7568b
basic/missing: drop _ETHTOOL_LINK_MODE_MAX
...
It was only used in one place, where we don't actually need it, and
it is too easy to forget to update it when adding new items to the table.
Let's just drop it.
2018-11-18 16:14:21 +01:00
Zbigniew Jędrzejewski-Szmek
5dd101186b
udev: use an "inline" array instead of allocating for advertise mode
...
The code is a bit shorter and we don't allocate the uint32_t[127] array.
2018-11-18 16:14:19 +01:00
Yu Watanabe
2d18ac4491
ethtool: drop NetDevAdvertise
...
Fixes #10807 .
2018-11-18 14:33:50 +09:00
Yu Watanabe
eb546b3532
udevd: replace udev_device in struct event by sd_device
2018-11-17 21:45:03 +09:00
Yu Watanabe
044497e2a3
udevd: update several log messages
2018-11-17 21:45:03 +09:00
Yu Watanabe
ba47b71c2d
udevd: decrease indentation
2018-11-17 21:45:03 +09:00
Yu Watanabe
d8f462b435
udevd: rename event sources in struct event
2018-11-17 21:45:03 +09:00
Yu Watanabe
dc7faf2a6f
udevd: capitalize log messages in on_sigchld()
2018-11-17 21:45:03 +09:00
Yu Watanabe
e2130348ef
udevd: also use sd_device_monitor_start() in worker_main()
2018-11-17 21:45:03 +09:00
Yu Watanabe
f00d2b6dd2
udevd: use sd_device_monitor_start() in manager_new()
2018-11-17 21:45:03 +09:00
Yu Watanabe
7f2e3a1409
udevd: replace udev_monitor by sd_device_monitor
2018-11-17 21:45:03 +09:00
Yu Watanabe
7443654e5f
udevd: use safe_fork() to spawn worker process
2018-11-17 21:45:03 +09:00
Yu Watanabe
abde5ea854
udevd: make worker_process_device() take sd_device instead of udev_device
2018-11-17 21:45:03 +09:00
Yu Watanabe
b97897e3e8
udevd: make worker_lock_block_device() take sd_device instead of udev_device
...
Also adds many debug logs.
2018-11-17 21:45:02 +09:00
Yu Watanabe
0bed242cbe
udevd: split worker_spawn() and manager_free() in small pieces
2018-11-17 21:45:02 +09:00
Yu Watanabe
0725c4b9d1
udevd: use event_source_disable()
2018-11-16 22:57:42 +09:00
Yu Watanabe
6d63048a77
udevd: use event_reset_time() to update kill_workers_event
2018-11-16 22:57:42 +09:00
Yu Watanabe
a6da77b71b
udev-rules: fix possible assertion
...
On 'remove' action, event->dev_db_clone is NULL. So, `IMPORT{db}` rule
on 'remove' action triggers assertion. This fixes the issue.
2018-11-15 15:50:27 +01:00
Lennart Poettering
042cad5737
Merge pull request #10753 from keszybz/pager-no-interrupt
...
Add mode in journalctl where ^C is handled by the pager
2018-11-14 20:09:39 +01:00