mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
security: dac: gfx: egl-headless: Relabel the DRI device
Just like for SPICE, we need to change the permissions on the DRI device used as the @rendernode for egl-headless graphics type. Signed-off-by: Erik Skultety <eskultet@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
dc87ee0f3e
commit
ae00e73cfe
@ -1492,11 +1492,16 @@ virSecurityDACSetGraphicsLabel(virSecurityManagerPtr mgr,
|
||||
virDomainGraphicsDefPtr gfx)
|
||||
|
||||
{
|
||||
const char *rendernode = virDomainGraphicsGetRenderNode(gfx);
|
||||
virSecurityDACDataPtr priv = virSecurityManagerGetPrivateData(mgr);
|
||||
virSecurityLabelDefPtr seclabel;
|
||||
uid_t user;
|
||||
gid_t group;
|
||||
|
||||
/* There's nothing to relabel */
|
||||
if (!rendernode)
|
||||
return 0;
|
||||
|
||||
/* Skip chowning the shared render file if namespaces are disabled */
|
||||
if (!priv->mountNamespace)
|
||||
return 0;
|
||||
@ -1508,14 +1513,8 @@ virSecurityDACSetGraphicsLabel(virSecurityManagerPtr mgr,
|
||||
if (virSecurityDACGetIds(seclabel, priv, &user, &group, NULL, NULL) < 0)
|
||||
return -1;
|
||||
|
||||
if (gfx->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE &&
|
||||
gfx->data.spice.gl == VIR_TRISTATE_BOOL_YES &&
|
||||
gfx->data.spice.rendernode) {
|
||||
if (virSecurityDACSetOwnership(mgr, NULL,
|
||||
gfx->data.spice.rendernode,
|
||||
user, group) < 0)
|
||||
if (virSecurityDACSetOwnership(mgr, NULL, rendernode, user, group) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user