Re: [PATCH 0/4 v5 RESEND] devpts: handle bind-mounts correctly

Eric W. Biederman
2018-03-13T17:32:37Z

Christian Brauner <christian.brauner@ubuntu.com> writes:

> Resending to CC grekh.

Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>

And the first two patches can also have
Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>

Greg this patchset looks read or just about ready to be merged. Do you
want to take this through your tty tree or should I take it through my
tree.

Eric

>
> 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