mounts: Skip already bound siblings in propagate_siblings()
This function may be called several times for a mnt_share family. The second call with a mi, which was not a bind source during the first call, leads to double dependence: a <-> b <-> c 1)propagate_siblings(a) b->bind = a; c->bind = a; 2)propagate_siblings(b) c->bind = b; (a is not set, because its mounted is 1). So during c's bind mount criu use b's root and refers to a wrong directory. The reproduction: mntns_root_bind02 test. The patch fixes the problem. Signed-off-by:Kirill Tkhai <ktkhai@virtuozzo.com> Acked-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
Showing
Please
register
or
sign in
to comment