]> git.ipfire.org Git - thirdparty/libvirt.git/commit
virt-aa-helper: resolve file symlinks
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>
Mon, 19 Mar 2018 10:10:29 +0000 (11:10 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 19 Mar 2018 12:06:03 +0000 (13:06 +0100)
commit77cd862fb5e1d61922ab945f52ad94f7753704a5
tree0fb39f2efe6a4ddd070cd0a3d2b55dc167e99215
parent7e476356c28a7fccd40eebbd8dac83e49e782010
virt-aa-helper: resolve file symlinks

In a recent change b932ed69: "virt-aa-helper: resolve yet to be created
paths" several cases with symlinks in paths were fixed, but it regressed
cases where the file being last element of the path was the actual link.

In the case of the last element being the symlink realpath can (and shall)
be called on the full path that was passed.

Examples would be zfs/lvm block devices like:
 <disk type='block' device='disk'>
    <driver name='qemu' type='raw'/>
    <source dev='/dev/mapper/testlvm-testvol1'/>
    <target dev='vdd' bus='virtio'/>
 </disk>
With the target being:
 /dev/mapper/testlvm-testvol1 -> ../dm-0

That currently is rendered as
 "/dev/mapper/testlvm-testvol1" rwk,
but instead should be (and is with the fix):
 "/dev/dm-0" rwk,

Fixes: b932ed69: "virt-aa-helper: resolve yet to be created paths"
Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1756394
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
src/security/virt-aa-helper.c