mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-31 14:25:49 +00:00
mount: fix segmentation fault in can_mount_now on no mnt_master
In resolve_shared_mounts there are cases when we have m->master_id > 0
but m->mnt_master is not set, it happens for cases where we have no
access to master mount, for instance CT root m->parent==NULL or when
mount is external. In can_mount_now for such master mounts we don't
need to check mounted state also, so just use "if(mi->mnt_master)"
condition instead of "if(mi->master_id > 0)" to fix segfault.
https://jira.sw.ru/browse/PSBM-86978
Program terminated with signal 11, Segmentation fault.
0x000000000046328b in can_mount_now (mi=0x2155970) at criu/mount.c:2699
2699 list_for_each_entry(c, &mi->mnt_master->children, siblings)
(gdb) p mi->mnt_master
$2 = (struct mount_info *) 0x0
Fixes commit 3a02362c5b
("mount: fix can_mount_now to wait children of
master's share properly")
Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
committed by
Andrei Vagin
parent
bab6c7b74b
commit
6966309133
@@ -2355,7 +2355,7 @@ static bool can_mount_now(struct mount_info *mi)
|
||||
* - Make sure all children of master's share are
|
||||
* mounted as well to eliminate mounts duplications
|
||||
*/
|
||||
if (mi->master_id > 0) {
|
||||
if (mi->mnt_master) {
|
||||
struct mount_info *c, *s;
|
||||
|
||||
if (mi->bind == NULL)
|
||||
|
Reference in New Issue
Block a user