From: Jiri Denemark <jdenemar(a)redhat.com>
---
src/security/security_selinux.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index 3e20475..1aabb20 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -364,12 +364,20 @@ SELinuxRestoreSecurityFileLabel(const char *path)
goto err;
}
- if (stat(newpath, &buf) != 0)
+ if (stat(newpath, &buf) != 0) {
+ virReportSystemError(errno,
+ _("cannot stat %s"), newpath);
goto err;
+ }
if (matchpathcon(newpath, buf.st_mode, &fcon) == 0) {
rc = SELinuxSetFilecon(newpath, fcon);
+ } else {
+ virSecurityReportError(VIR_ERR_INTERNAL_ERROR,
+ _("cannot restore selinux file label for %s"),
+ newpath);
}
+
err:
VIR_FREE(fcon);
VIR_FREE(newpath);
--
1.7.0.4