summaryrefslogtreecommitdiff
path: root/lib/rob
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-08-23 05:07:30 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2020-08-23 05:07:30 +0200
commit603d9812a7f4a662e2a8ede68df9eb7f79d8dd67 (patch)
treeac239fa6d4a646d4245971d849941aec06ff1cf1 /lib/rob
parent951a71012f898933eb3daefd20de630bd4320337 (diff)
downloadplan9front-603d9812a7f4a662e2a8ede68df9eb7f79d8dd67.tar.xz
kernel: fix Abind cyclic reference and mounthead leaks (thanks Alex Musolino)
The Abind case in namec() needs to cunique() the chan before attaching the umh mount head pointer onto it. This is because we cannot give a reference to the mount head to any of the mh->mount...->to channels, as they will never go away until the mount head goes away. This is a cyclic reference. This could be reproduced with: @{rfork n; mount -a '#s/boot' /mnt/root; bind /mnt/root /} Also, fix memory leaks around cunique(), which can error, leaking the mount head we got from domount(). Move the umh != nil check inside cunique().
Diffstat (limited to 'lib/rob')
0 files changed, 0 insertions, 0 deletions