[libvirt] [PATCH] Change security driver APIs to use virDomainDefPtr instead of virDomainObjPtr

Eric Blake eblake at redhat.com
Mon Nov 28 15:59:23 UTC 2011


On 11/28/2011 05:26 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
> 
> When sVirt is integrated with the LXC driver, it will be neccessary
> to invoke the security driver APIs using only a virDomainDefPtr
> since the lxc_container.c code has no virDomainObjPtr available.
> Aside from two functions which want obj->pid, every bit of the
> security driver code only touches obj->def. So we don't need to
> pass a virDomainObjPtr into the security drivers, a virDomainDefPtr
> is sufficient. Two functions also gain a 'pid_t pid' argument.
> 
> * src/qemu/qemu_driver.c, src/qemu/qemu_hotplug.c,
>   src/qemu/qemu_migration.c, src/qemu/qemu_process.c,
>   src/security/security_apparmor.c,
>   src/security/security_dac.c,
>   src/security/security_driver.h,
>   src/security/security_manager.c,
>   src/security/security_manager.h,
>   src/security/security_nop.c,
>   src/security/security_selinux.c,
>   src/security/security_stack.c: Change all security APIs to use a
>   virDomainDefPtr instead of virDomainObjPtr

> +++ b/src/security/security_selinux.c
> @@ -162,7 +162,7 @@ SELinuxInitialize(void)

> @@ -882,9 +884,9 @@ done:
>  
>  
>  static int
> -SELinuxRestoreSecurityChardevCallback(virDomainDefPtr def ATTRIBUTE_UNUSED,
> +SELinuxRestoreSecurityChardevCallback(virDomainDefPtr def,
>                                        virDomainChrDefPtr dev,
> -                                      void *opaque)
> +                                      void *opaque ATTRIBUTE_UNUSED)
>  {
>      virDomainObjPtr vm = opaque;

This warns:

security/security_selinux.c: In function
'SELinuxRestoreSecurityChardevCallback':
security/security_selinux.c:891:21: error: unused variable 'vm'
[-Werror=unused-variable]

> @@ -1227,10 +1228,11 @@ SELinuxClearSecuritySocketLabel(virSecurityManagerPtr mgr,
>  
>  
>  static int
> -SELinuxSetSecurityChardevCallback(virDomainDefPtr def ATTRIBUTE_UNUSED,
> +SELinuxSetSecurityChardevCallback(virDomainDefPtr def,
>                                    virDomainChrDefPtr dev,
> -                                  void *opaque)
> +                                  void *opaque ATTRIBUTE_UNUSED)
>  {
> +<<<<<<< HEAD
>      virDomainObjPtr vm = opaque;
>  
>      /* This is taken care of by processing of def->serials */
> @@ -1239,15 +1241,17 @@ SELinuxSetSecurityChardevCallback(virDomainDefPtr def ATTRIBUTE_UNUSED,
>          return 0;
>  
>      return SELinuxSetSecurityChardevLabel(vm, &dev->source);
> +=======
> +    return SELinuxSetSecurityChardevLabel(def, &dev->source);
> +>>>>>>> Change security driver APIs to use virDomainDefPtr instead of virDomainObjPtr

And this can't possibly be right.

Overall, the changes look mechanical, and probably the right thing, but
you need a patch that works.  :)

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20111128/4bcbd208/attachment-0001.sig>


More information about the libvir-list mailing list