mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-02 01:45:17 +00:00
Change label of fusefs mounted at /proc/meminfo in lxc containers
We do not want to allow contained applications to be able to read fusefs_t. So we want /proc/meminfo label to match the system default proc_t. Fix checking of error codes
This commit is contained in:
parent
7bb7510de7
commit
940c6f1085
@ -52,6 +52,10 @@
|
|||||||
# include <blkid/blkid.h>
|
# include <blkid/blkid.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if WITH_SELINUX
|
||||||
|
# include <selinux/selinux.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "virerror.h"
|
#include "virerror.h"
|
||||||
#include "virlog.h"
|
#include "virlog.h"
|
||||||
#include "lxc_container.h"
|
#include "lxc_container.h"
|
||||||
@ -756,6 +760,26 @@ static int lxcContainerMountProcFuse(virDomainDefPtr def)
|
|||||||
def->name)) < 0)
|
def->name)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
# if WITH_SELINUX
|
||||||
|
if (is_selinux_enabled() > 0) {
|
||||||
|
security_context_t scon;
|
||||||
|
ret = getfilecon("/proc/meminfo", &scon);
|
||||||
|
if (ret < 0) {
|
||||||
|
virReportSystemError(errno,
|
||||||
|
_("Failed to get security context of %s for /proc/meminfo mount point"),
|
||||||
|
meminfo_path);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
ret = setfilecon(meminfo_path, scon);
|
||||||
|
freecon(scon);
|
||||||
|
if (ret < 0) {
|
||||||
|
virReportSystemError(errno,
|
||||||
|
_("Failed to set security context of %s for /proc/meminfo mount point"),
|
||||||
|
meminfo_path);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# endif
|
||||||
if ((ret = mount(meminfo_path, "/proc/meminfo",
|
if ((ret = mount(meminfo_path, "/proc/meminfo",
|
||||||
NULL, MS_BIND, NULL)) < 0) {
|
NULL, MS_BIND, NULL)) < 0) {
|
||||||
virReportSystemError(errno,
|
virReportSystemError(errno,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user