[PATCH 0/4 v5] devpts: handle bind-mounts correctly
From: Christian Brauner
Date: Tue Mar 13 2018 - 08:18:10 EST
Hey everyone,
This is the fith iteration of this patch. Per-patch changes are
summarized in the individual patches:
ChangeLog v4->v5:
* added non-functional patch to document devpts_mntget().
Reason for putting this in a separate patch is that it allows you,
Linus and Eric, to simply drop it if judged useless.
* reverse error handling logic to further simplify
* dput() dentry in the non-function patch. This was not really a problem
since the following patch included a fix for it. But better to get it
right in all individual patches.
* I did another rewrite of the problem analysis for
posterity in the patch "Subject: [PATCH 2/3 v3] devpts: resolve devpts
bind-mounts" and in this cover letter.
ChangeLog v3->v4:
* small logical simplifications
* add test that bind-mounts of /dev/pts/ptmx to locations that do not
resolve to a valid slave pty path under the originating devpts mount
fail
ChangeLog v2->v3:
* rewritten commit message to thoroughly analyse the problem for
posterity in the patch "Subject: [PATCH 2/3 v3] devpts: resolve devpts
bind-mounts" and in this cover letter.
* extended selftests to test for correct handling of /dev/pts/ptmx
bind-mounts to /dev/ptmx and non-standard devpts mounts such as
mount -t devpts devpts /mnt
ChangeLog v1->v2:
* see individual patches
ChangeLog v0->v1:
* see individual patches
Christian Brauner (4):
devpts: hoist out check for DEVPTS_SUPER_MAGIC
devpts: resolve devpts bind-mounts
devpts: comment devpts_mntget()
selftests: add devpts selftests
fs/devpts/inode.c | 66 +++--
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/filesystems/.gitignore | 1 +
tools/testing/selftests/filesystems/Makefile | 2 +-
tools/testing/selftests/filesystems/devpts_pts.c | 313 +++++++++++++++++++++++
5 files changed, 363 insertions(+), 20 deletions(-)
create mode 100644 tools/testing/selftests/filesystems/devpts_pts.c
--
2.15.1