[libvirt] [PATCH 3/6] Use private data struct in SELinux driver
Daniel P. Berrange
berrange at redhat.com
Mon May 14 13:43:28 UTC 2012
On Fri, May 11, 2012 at 10:43:38PM -0400, Stefan Berger wrote:
> On 05/11/2012 06:10 AM, Daniel P. Berrange wrote:
> >From: Daniel Walsh<dwalsh at redhat.com>
> >
> >Currently the SELinux driver stores its state in a set of global
> >variables. This switches it to use a private data struct instead.
> >This will enable different instances to have their own data.
> >
> >Signed-off-by: Daniel P. Berrange<berrange at redhat.com>
> >---
> >+SELinuxInitialize(virSecurityManagerPtr mgr)
> > {
> [...]
> >- ptr = strchrnul(default_image_context, '\n');
> >- if (*ptr == '\n') {
> >+ ptr = strchrnul(data->file_context, '\n');
> >+ if (ptr&& *ptr == '\n') {
> > *ptr = '\0';
> >- strcpy(default_content_context, ptr+1);
> >- ptr = strchrnul(default_content_context, '\n');
> >- if (*ptr == '\n')
> >+ data->content_context = strdup(ptr+1);
> >+ if (!data->content_context)
> >+ goto error;
>
> virReportOOMError ?
>
> >@@ -264,13 +277,11 @@ SELinuxGenSecurityLabel(virSecurityManagerPtr mgr ATTRIBUTE_UNUSED,
> > goto cleanup;
> > }
> >
> >- if (!def->seclabel.norelabel) {
> >- def->seclabel.imagelabel = SELinuxGenNewContext(default_image_context, mcs);
> >- if (!def->seclabel.imagelabel) {
> >- virSecurityReportError(VIR_ERR_INTERNAL_ERROR,
> >- _("cannot generate selinux context for %s"), mcs);
> >- goto cleanup;
> >- }
> >+ def->seclabel.imagelabel = SELinuxGenNewContext(data->file_context, mcs);
> >+ if (!def->seclabel.imagelabel) {
> >+ virSecurityReportError(VIR_ERR_INTERNAL_ERROR,
> >+ _("cannot generate selinux context for %s"), mcs);
> >+ goto cleanup;
> > }
>
>
> There was this check if (!def->seclabel.norelabel) that's now gone.
> Was this removed by accident?
Yes & no. It was intentionally removed, but it should have been done in
a separate patch, rather than this one. I'll remove this behaviour
change & re-submit in a seprate patch.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list