[libvirt] [PATCH] qemu-ns: Detect /dev/* mount point duplicates even better

In 4f1570720218302 I've tried to make duplicates detection for nested /dev mount better. However, I've missed the obvious case when there are two same mount points. For instance if: # mount --bind /dev/blah /dev/blah # mount --bind /dev/blah /dev/blah Yeah, very unlikely but possible. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_domain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 702463547..61d28337b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -8352,7 +8352,7 @@ qemuDomainGetPreservedMounts(virQEMUDriverConfigPtr cfg, while (j < nmounts) { char *c = STRSKIP(mounts[j], mounts[i]); - if (c && *c == '/') { + if (c && (*c == '/' || *c == '\0')) { VIR_DEBUG("Dropping path %s because of %s", mounts[j], mounts[i]); VIR_DELETE_ELEMENT(mounts, j, nmounts); } else { -- 2.13.6

On Wed, Nov 08, 2017 at 04:09:57PM +0100, Michal Privoznik wrote:
In 4f1570720218302 I've tried to make duplicates detection for nested /dev mount better. However, I've missed the obvious case when there are two same mount points. For instance if:
# mount --bind /dev/blah /dev/blah # mount --bind /dev/blah /dev/blah
Yeah, very unlikely but possible.
It isn't all that unlikely - libvirt itself sets up mounts just like that for LXC containers it spawns :-)
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_domain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 702463547..61d28337b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -8352,7 +8352,7 @@ qemuDomainGetPreservedMounts(virQEMUDriverConfigPtr cfg, while (j < nmounts) { char *c = STRSKIP(mounts[j], mounts[i]);
- if (c && *c == '/') { + if (c && (*c == '/' || *c == '\0')) { VIR_DEBUG("Dropping path %s because of %s", mounts[j], mounts[i]); VIR_DELETE_ELEMENT(mounts, j, nmounts); } else { -- 2.13.6
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Wed, Nov 08, 2017 at 04:09:57PM +0100, Michal Privoznik wrote:
In 4f1570720218302 I've tried to make duplicates detection for nested /dev mount better. However, I've missed the obvious case when there are two same mount points. For instance if:
# mount --bind /dev/blah /dev/blah # mount --bind /dev/blah /dev/blah
Yeah, very unlikely but possible.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_domain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
ACK with the likeliness comment removed from the commit message Jan
participants (3)
-
Daniel P. Berrange
-
Ján Tomko
-
Michal Privoznik