[libvirt] [PATCH 14/14] Avoid unsafe use of /proc/$PID/root in LXC hotunplug code

Eric Blake eblake at redhat.com
Fri Feb 7 19:51:47 UTC 2014


On 02/07/2014 08:33 AM, Daniel P. Berrange wrote:
> Rewrite multiple hotunplug functions to to use the
> virProcessRunInMountNamespace helper. This avoids
> risk of a malicious guest replacing /dev with a absolute
> symlink, tricking the driver into changing the host OS
> filesystem.
> 
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
>  src/lxc/lxc_driver.c | 79 ++++++++++++++++++++++++++--------------------------
>  1 file changed, 39 insertions(+), 40 deletions(-)
> 

>  static int
> +lxcDomainAttachDeviceUnlinkHelper(pid_t pid ATTRIBUTE_UNUSED,
> +                                  void *opaque)
> +{
> +    const char *path = opaque;
> +
> +    VIR_DEBUG("Unlinking %s", path);
> +    if (unlink(path) < 0 && errno != ENOENT) {
> +        virReportSystemError(errno,
> +                             _("Unable to remove device %s"), path);

Same generic concern about _() using malloc in an async-safe context,
but not worth worrying about in this patch.

ACK.

-- 
Eric Blake   eblake 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: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140207/04a2e917/attachment-0001.sig>


More information about the libvir-list mailing list