summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@strace.io>2023-03-28 20:00:00 +0000
committerYu Watanabe <watanabe.yu+github@gmail.com>2023-03-29 18:50:29 +0900
commit139203e1d4d0a665de65c97fb1578330d5ee9dfc (patch)
tree9702e3e5c551c79dab715e8ab7b416679c4ee416
parentee2975a9d9ae11e387f1c5af179e2e6b0ef6ada8 (diff)
downloadsystemd-139203e1d4d0a665de65c97fb1578330d5ee9dfc.tar.gz
udev_rules_parse_file: do not ignore ENOENT when invoked by udevadm verify
Make sure the ENOENT exception reintroduced by commit 9db7081d83d56cd2523b03f9eb9d67ef1c93c55f is not applied when the parser is invoked by udevadm verify.
-rw-r--r--src/udev/udev-rules.c2
-rwxr-xr-xtest/units/testsuite-17.11.sh2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
index a019f64c6c..bbdd498cd7 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
@@ -1437,7 +1437,7 @@ int udev_rules_parse_file(UdevRules *rules, const char *filename, bool extra_che
f = fopen(filename, "re");
if (!f) {
- if (errno == ENOENT)
+ if (!extra_checks && errno == ENOENT)
return 0;
return log_warning_errno(errno, "Failed to open %s, ignoring: %m", filename);
diff --git a/test/units/testsuite-17.11.sh b/test/units/testsuite-17.11.sh
index ba21c9ab87..e3a96e5cdb 100755
--- a/test/units/testsuite-17.11.sh
+++ b/test/units/testsuite-17.11.sh
@@ -97,6 +97,8 @@ assert_1 --resolve-names=now
# Failed to parse rules file .: Is a directory
cp "${workdir}/default_output_1_fail" "${exo}"
assert_1 .
+# Failed to parse rules file ./nosuchfile: No such file or directory
+assert_1 ./nosuchfile
# Failed to parse rules file .: Is a directory
cat >"${exo}" <<EOF