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.
This commit is contained in:
@@ -2545,11 +2545,10 @@ static int cg_unified_update(void) {
|
||||
unified_cache = CGROUP_UNIFIED_NONE;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log_debug("Unknown filesystem type %llx mounted on /sys/fs/cgroup.",
|
||||
(unsigned long long) fs.f_type);
|
||||
return -ENOMEDIUM;
|
||||
}
|
||||
} else
|
||||
return log_debug_errno(SYNTHETIC_ERRNO(ENOMEDIUM),
|
||||
"Unknown filesystem type %llx mounted on /sys/fs/cgroup.",
|
||||
(unsigned long long)fs.f_type);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+6
-4
@@ -638,16 +638,18 @@ static int check_utf8ness_and_warn(
|
||||
_cleanup_free_ char *p = NULL;
|
||||
|
||||
p = utf8_escape_invalid(key);
|
||||
log_error("%s:%u: invalid UTF-8 in key '%s', ignoring.", strna(filename), line, p);
|
||||
return -EINVAL;
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
|
||||
"%s:%u: invalid UTF-8 in key '%s', ignoring.",
|
||||
strna(filename), line, p);
|
||||
}
|
||||
|
||||
if (value && !utf8_is_valid(value)) {
|
||||
_cleanup_free_ char *p = NULL;
|
||||
|
||||
p = utf8_escape_invalid(value);
|
||||
log_error("%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.", strna(filename), line, key, p);
|
||||
return -EINVAL;
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
|
||||
"%s:%u: invalid UTF-8 value for key %s: '%s', ignoring.",
|
||||
strna(filename), line, key, p);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
+2
-2
@@ -202,10 +202,10 @@ void log_assert_failed_return_realm(
|
||||
#define log_full_errno_realm(realm, level, error, ...) \
|
||||
({ \
|
||||
int _level = (level), _e = (error), _realm = (realm); \
|
||||
(log_get_max_level_realm(_realm) >= LOG_PRI(_level)) \
|
||||
(log_get_max_level_realm(_realm) >= LOG_PRI(_level)) \
|
||||
? log_internal_realm(LOG_REALM_PLUS_LEVEL(_realm, _level), _e, \
|
||||
__FILE__, __LINE__, __func__, __VA_ARGS__) \
|
||||
: -abs(_e); \
|
||||
: -ERRNO_VALUE(_e); \
|
||||
})
|
||||
|
||||
#define log_full_errno(level, error, ...) \
|
||||
|
||||
@@ -1227,8 +1227,7 @@ int must_be_root(void) {
|
||||
if (geteuid() == 0)
|
||||
return 0;
|
||||
|
||||
log_error("Need to be root.");
|
||||
return -EPERM;
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EPERM), "Need to be root.");
|
||||
}
|
||||
|
||||
int safe_fork_full(
|
||||
|
||||
+8
-8
@@ -168,10 +168,10 @@ int rm_rf(const char *path, RemoveFlags flags) {
|
||||
/* We refuse to clean the root file system with this
|
||||
* call. This is extra paranoia to never cause a really
|
||||
* seriously broken system. */
|
||||
if (path_equal_or_files_same(path, "/", AT_SYMLINK_NOFOLLOW)) {
|
||||
log_error("Attempted to remove entire root file system (\"%s\"), and we can't allow that.", path);
|
||||
return -EPERM;
|
||||
}
|
||||
if (path_equal_or_files_same(path, "/", AT_SYMLINK_NOFOLLOW))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EPERM),
|
||||
"Attempted to remove entire root file system (\"%s\"), and we can't allow that.",
|
||||
path);
|
||||
|
||||
if (FLAGS_SET(flags, REMOVE_SUBVOLUME | REMOVE_ROOT | REMOVE_PHYSICAL)) {
|
||||
/* Try to remove as subvolume first */
|
||||
@@ -194,10 +194,10 @@ int rm_rf(const char *path, RemoveFlags flags) {
|
||||
if (statfs(path, &s) < 0)
|
||||
return -errno;
|
||||
|
||||
if (is_physical_fs(&s)) {
|
||||
log_error("Attempted to remove files from a disk file system under \"%s\", refusing.", path);
|
||||
return -EPERM;
|
||||
}
|
||||
if (is_physical_fs(&s))
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EPERM),
|
||||
"Attempted to remove files from a disk file system under \"%s\", refusing.",
|
||||
path);
|
||||
}
|
||||
|
||||
if ((flags & REMOVE_ROOT) && !(flags & REMOVE_ONLY_DIRECTORIES))
|
||||
|
||||
Reference in New Issue
Block a user