Messages in this thread | | | Date | Mon, 11 Apr 2016 17:50:49 -0700 | Subject | Re: [PATCH 01/13] devpts: Teach /dev/ptmx to find the associated devpts via path lookup | From | Linus Torvalds <> |
| |
On Mon, Apr 11, 2016 at 5:22 PM, Eric W. Biederman <ebiederm@xmission.com> wrote: > > I meant the one where I conceded that the only think that it could > possible protect against was a denial of service attack, from which we > probably don't care.
Yeah, that's the same email I was talking about, I was just quoting another part.
> As I agreed with you that it was unnecessary I was just puzzled why you > called what was essentially agreement with you deafening silence.
The "deafening silence" was about _why_ this all would be a problem, and why the security checks would be needed.
Basically, I think that if /dev/pts/ is accessible, we should just say "ok, you can open a pty on it".
The fact that you could open a pty by bind-mounting it somewhere else, and then adding a "ptmx" node to the same directory is not a security issue: it's simply how devpts works.
In no actual sane and relevant situation is that a problem, for the simple fact that there will *already* be a ptmx node that is world-accessible in the same directory that has that /dev/pts/ mount.
Anything else is insane and irrelevant. This is *literally* what POSIX says. Sure, POSIX also has that whole language about "posix_openpt()", but that's just BS and irrelevant. The very page that mentions "posix_openpt()" also says
"On implementations supporting the /dev/ptmx clone device, opening the master device of a pseudo-terminal is simply:
mfdp = open("/dev/ptmx", oflag ); if (mfdp < 0) return -1;"
and Linux unquestionably falls in that "supports /dev/ptmx" camp.
So I claim that the _only_ sane use of devpts is to already have a world-accessible ptmx node there, and nothing else makes sense.
And if you want to be private, you had better make the whole /dev/ subdirectory private (which also takes care of any bind mount issues)
Linus
| |