If SELinux is compiled into libvirt but it is disabled on the host,
libvirtd logs:
error : virIdentityGetSystem:173 : Unable to lookup SELinux process
context: Invalid argument
on each and every client connection.
Use is_selinux_enabled() to skip retrieval of the process's SELinux
context if SELinux is disabled.
Signed-off-by: Michael Chapman <mike@very.puzzling.org>
goto cleanup;
#if WITH_SELINUX
- if (getcon(&con) < 0) {
- virReportSystemError(errno, "%s",
- _("Unable to lookup SELinux process context"));
- goto cleanup;
- }
- if (VIR_STRDUP(seccontext, con) < 0) {
+ if (is_selinux_enabled()) {
+ if (getcon(&con) < 0) {
+ virReportSystemError(errno, "%s",
+ _("Unable to lookup SELinux process context"));
+ goto cleanup;
+ }
+ if (VIR_STRDUP(seccontext, con) < 0) {
+ freecon(con);
+ goto cleanup;
+ }
freecon(con);
- goto cleanup;
}
- freecon(con);
#endif
if (!(ret = virIdentityNew()))