diff for duplicates of <20181020114826.GM32577@ZenIV.linux.org.uk> diff --git a/a/1.txt b/N1/1.txt index 4981bec..30f6581 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,11 +1,11 @@ On Sat, Oct 20, 2018 at 12:06:32PM +0100, Alan Jenkins wrote: > You posted an analysis of a GPF, where you showed the reference count was -> clearly one less than it should have been.� You narrowed this down to a step -> where you connected an unmounted mount (MNT_UMOUNT) to a mounted mount.� So +> clearly one less than it should have been. You narrowed this down to a step +> where you connected an unmounted mount (MNT_UMOUNT) to a mounted mount. So > your analysis is consistent with the comment in disconnect_mount(), which > says 1) you're not allowed to do that, 2) the reason is because of different -> reference-counting rules.� AFAICT, the GPF you analyzed would be prevented +> reference-counting rules. AFAICT, the GPF you analyzed would be prevented > by the fix in do_move_mount(), checking for MNT_UMOUNT. Not just refcounting; it's that fs_pin is really intended to have ->kill() @@ -17,7 +17,7 @@ off (being very careful with accessing the sucker to avoid use-after-free). MNT_UMOUNT means that there's no way back. -> pre-date MNT_UMOUNT.� I *think* the added check in dissolve_on_fput() makes +> pre-date MNT_UMOUNT. I *think* the added check in dissolve_on_fput() makes > things right, but I don't understand enough to be sure. That, plus making sure that do_move_mount() grabs a reference in case diff --git a/a/content_digest b/N1/content_digest index 35340f3..ce8681b 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -21,11 +21,11 @@ "On Sat, Oct 20, 2018 at 12:06:32PM +0100, Alan Jenkins wrote:\n" "\n" "> You posted an analysis of a GPF, where you showed the reference count was\n" - "> clearly one less than it should have been.\303\257\302\277\302\275 You narrowed this down to a step\n" - "> where you connected an unmounted mount (MNT_UMOUNT) to a mounted mount.\303\257\302\277\302\275 So\n" + "> clearly one less than it should have been.\302\240 You narrowed this down to a step\n" + "> where you connected an unmounted mount (MNT_UMOUNT) to a mounted mount.\302\240 So\n" "> your analysis is consistent with the comment in disconnect_mount(), which\n" "> says 1) you're not allowed to do that, 2) the reason is because of different\n" - "> reference-counting rules.\303\257\302\277\302\275 AFAICT, the GPF you analyzed would be prevented\n" + "> reference-counting rules.\302\240 AFAICT, the GPF you analyzed would be prevented\n" "> by the fix in do_move_mount(), checking for MNT_UMOUNT.\n" "\n" "Not just refcounting; it's that fs_pin is really intended to have ->kill()\n" @@ -37,7 +37,7 @@ "\n" "MNT_UMOUNT means that there's no way back.\n" "\n" - "> pre-date MNT_UMOUNT.\303\257\302\277\302\275 I *think* the added check in dissolve_on_fput() makes\n" + "> pre-date MNT_UMOUNT.\302\240 I *think* the added check in dissolve_on_fput() makes\n" "> things right, but I don't understand enough to be sure.\n" "\n" "That, plus making sure that do_move_mount() grabs a reference in case\n" @@ -70,4 +70,4 @@ "> \n" "> \tif (old_path->dentry != old_path->mnt->mnt_root)" -876f107526e2bd3efabf6572879c8e84d1cc682c3aa3968c879ac914fbffdf59 +dfc2a8ac17acac7a3fcc3625f6c253e1130e8a600683a083edc6c1b20d38bfa2
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.