mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
selinux: Do not report an error when not returning -1
I guess the reason for that was the automatic interpretation/stringification of setfilecon_errno, but the code was not nice to read and it was a bit confusing. Also, the logs and error states get cleaner this way. Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
be9d259ebc
commit
86289374ef
@ -1301,14 +1301,18 @@ virSecuritySELinuxSetFileconImpl(const char *path,
|
|||||||
if (setfilecon_errno != EOPNOTSUPP && setfilecon_errno != ENOTSUP &&
|
if (setfilecon_errno != EOPNOTSUPP && setfilecon_errno != ENOTSUP &&
|
||||||
setfilecon_errno != EROFS) {
|
setfilecon_errno != EROFS) {
|
||||||
VIR_WARNINGS_RESET
|
VIR_WARNINGS_RESET
|
||||||
virReportSystemError(setfilecon_errno,
|
|
||||||
_("unable to set security context '%s' on '%s'"),
|
|
||||||
tcon, path);
|
|
||||||
/* However, don't claim error if SELinux is in Enforcing mode and
|
/* However, don't claim error if SELinux is in Enforcing mode and
|
||||||
* we are running as unprivileged user and we really did see EPERM.
|
* we are running as unprivileged user and we really did see EPERM.
|
||||||
* Otherwise we want to return error if SELinux is Enforcing. */
|
* Otherwise we want to return error if SELinux is Enforcing. */
|
||||||
if (security_getenforce() == 1 && (setfilecon_errno != EPERM || privileged))
|
if (security_getenforce() == 1 &&
|
||||||
|
(setfilecon_errno != EPERM || privileged)) {
|
||||||
|
virReportSystemError(setfilecon_errno,
|
||||||
|
_("unable to set security context '%s' on '%s'"),
|
||||||
|
tcon, path);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
VIR_WARN("unable to set security context '%s' on '%s' (errno %d)",
|
||||||
|
tcon, path, setfilecon_errno);
|
||||||
} else {
|
} else {
|
||||||
const char *msg;
|
const char *msg;
|
||||||
if (virFileIsSharedFSType(path, VIR_FILE_SHFS_NFS) == 1 &&
|
if (virFileIsSharedFSType(path, VIR_FILE_SHFS_NFS) == 1 &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user