mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-25 14:05:18 +00:00
security: dac: also label listen UNIX sockets
We switched to opening mode='bind' sockets ourselves: commit 30fb2276d88b275dc2aad6ddd28c100d944b59a5 qemu: support passing pre-opened UNIX socket listen FD in v4.5.0-rc1~251 Then fixed qemuBuildChrChardevStr to change libvirtd's label while creating the socket: commit b0c6300fc42bbc3e5eb0b236392f7344581c5810 qemu: ensure FDs passed to QEMU for chardevs have correct SELinux labels v4.5.0-rc1~52 Also add labeling of these sockets to the DAC driver. Instead of duplicating the logic which decides whether libvirt should pre-create the socket, assume an existing path meaning that it was created by libvirt. https://bugzilla.redhat.com/show_bug.cgi?id=1633389 Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
9f81dc1081
commit
d6b8838dd8
@ -1308,7 +1308,12 @@ virSecurityDACSetChardevLabel(virSecurityManagerPtr mgr,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_UNIX:
|
case VIR_DOMAIN_CHR_TYPE_UNIX:
|
||||||
if (!dev_source->data.nix.listen) {
|
if (!dev_source->data.nix.listen ||
|
||||||
|
(dev_source->data.nix.path &&
|
||||||
|
virFileExists(dev_source->data.nix.path))) {
|
||||||
|
/* Also label mode='bind' sockets if they exist,
|
||||||
|
* e.g. because they were created by libvirt
|
||||||
|
* and passed via FD */
|
||||||
if (virSecurityDACSetOwnership(mgr, NULL,
|
if (virSecurityDACSetOwnership(mgr, NULL,
|
||||||
dev_source->data.nix.path,
|
dev_source->data.nix.path,
|
||||||
user, group) < 0)
|
user, group) < 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user