• Pavel Tikhomirov's avatar
    mount: fix segmentation fault in can_mount_now on no mnt_master · 69663091
    Pavel Tikhomirov authored
    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 3a02362c5be1 ("mount: fix can_mount_now to wait children of
    master's share properly")
    Signed-off-by: 's avatarPavel Tikhomirov <ptikhomirov@virtuozzo.com>
    Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
    69663091
Name
Last commit
Last update
..
arch Loading commit data...
include Loading commit data...
pie Loading commit data...
Makefile Loading commit data...
Makefile.crtools Loading commit data...
Makefile.packages Loading commit data...
action-scripts.c Loading commit data...
aio.c Loading commit data...
autofs.c Loading commit data...
bfd.c Loading commit data...
bitmap.c Loading commit data...
cgroup-props.c Loading commit data...
cgroup.c Loading commit data...
clone-noasan.c Loading commit data...
config.c Loading commit data...
cr-check.c Loading commit data...
cr-dedup.c Loading commit data...
cr-dump.c Loading commit data...
cr-errno.c Loading commit data...
cr-restore.c Loading commit data...
cr-service.c Loading commit data...
crtools.c Loading commit data...
eventfd.c Loading commit data...
eventpoll.c Loading commit data...
external.c Loading commit data...
fault-injection.c Loading commit data...
fdstore.c Loading commit data...
fifo.c Loading commit data...
file-ids.c Loading commit data...
file-lock.c Loading commit data...
files-ext.c Loading commit data...
files-reg.c Loading commit data...
files.c Loading commit data...
filesystems.c Loading commit data...
fsnotify.c Loading commit data...
image-desc.c Loading commit data...
image.c Loading commit data...
ipc_ns.c Loading commit data...
irmap.c Loading commit data...
kcmp-ids.c Loading commit data...
kerndat.c Loading commit data...
libnetlink.c Loading commit data...
log.c Loading commit data...
lsm.c Loading commit data...
mem.c Loading commit data...
mount.c Loading commit data...
namespaces.c Loading commit data...
net.c Loading commit data...
netfilter.c Loading commit data...
page-pipe.c Loading commit data...
page-xfer.c Loading commit data...
pagemap-cache.c Loading commit data...
pagemap.c Loading commit data...
parasite-syscall.c Loading commit data...
path.c Loading commit data...
pie-util-vdso-elf32.c Loading commit data...
pie-util-vdso.c Loading commit data...
pie-util.c Loading commit data...
pipes.c Loading commit data...
plugin.c Loading commit data...
proc_parse.c Loading commit data...
protobuf-desc.c Loading commit data...
protobuf.c Loading commit data...
pstree.c Loading commit data...
rbtree.c Loading commit data...
rst-malloc.c Loading commit data...
seccomp.c Loading commit data...
seize.c Loading commit data...
shmem.c Loading commit data...
sigframe.c Loading commit data...
signalfd.c Loading commit data...
sk-inet.c Loading commit data...
sk-netlink.c Loading commit data...
sk-packet.c Loading commit data...
sk-queue.c Loading commit data...
sk-tcp.c Loading commit data...
sk-unix.c Loading commit data...
sockets.c Loading commit data...
stats.c Loading commit data...
string.c Loading commit data...
sysctl.c Loading commit data...
sysfs_parse.c Loading commit data...
timerfd.c Loading commit data...
tty.c Loading commit data...
tun.c Loading commit data...
uffd.c Loading commit data...
util.c Loading commit data...
uts_ns.c Loading commit data...
vdso-compat.c Loading commit data...
vdso.c Loading commit data...