101478b83SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0 201478b83SMauro Carvalho Chehab 301478b83SMauro Carvalho Chehab===================== 401478b83SMauro Carvalho ChehabThe Devpts Filesystem 501478b83SMauro Carvalho Chehab===================== 601478b83SMauro Carvalho Chehab 701478b83SMauro Carvalho ChehabEach mount of the devpts filesystem is now distinct such that ptys 801478b83SMauro Carvalho Chehaband their indicies allocated in one mount are independent from ptys 901478b83SMauro Carvalho Chehaband their indicies in all other mounts. 1001478b83SMauro Carvalho Chehab 1101478b83SMauro Carvalho ChehabAll mounts of the devpts filesystem now create a ``/dev/pts/ptmx`` node 1201478b83SMauro Carvalho Chehabwith permissions ``0000``. 1301478b83SMauro Carvalho Chehab 1401478b83SMauro Carvalho ChehabTo retain backwards compatibility the a ptmx device node (aka any node 1501478b83SMauro Carvalho Chehabcreated with ``mknod name c 5 2``) when opened will look for an instance 1601478b83SMauro Carvalho Chehabof devpts under the name ``pts`` in the same directory as the ptmx device 1701478b83SMauro Carvalho Chehabnode. 1801478b83SMauro Carvalho Chehab 1901478b83SMauro Carvalho ChehabAs an option instead of placing a ``/dev/ptmx`` device node at ``/dev/ptmx`` 2001478b83SMauro Carvalho Chehabit is possible to place a symlink to ``/dev/pts/ptmx`` at ``/dev/ptmx`` or 2101478b83SMauro Carvalho Chehabto bind mount ``/dev/ptx/ptmx`` to ``/dev/ptmx``. If you opt for using 2201478b83SMauro Carvalho Chehabthe devpts filesystem in this manner devpts should be mounted with 2301478b83SMauro Carvalho Chehabthe ``ptmxmode=0666``, or ``chmod 0666 /dev/pts/ptmx`` should be called. 2401478b83SMauro Carvalho Chehab 2501478b83SMauro Carvalho ChehabTotal count of pty pairs in all instances is limited by sysctls:: 2601478b83SMauro Carvalho Chehab 2701478b83SMauro Carvalho Chehab kernel.pty.max = 4096 - global limit 2801478b83SMauro Carvalho Chehab kernel.pty.reserve = 1024 - reserved for filesystems mounted from the initial mount namespace 2901478b83SMauro Carvalho Chehab kernel.pty.nr - current count of ptys 3001478b83SMauro Carvalho Chehab 3101478b83SMauro Carvalho ChehabPer-instance limit could be set by adding mount option ``max=<count>``. 3201478b83SMauro Carvalho Chehab 3301478b83SMauro Carvalho ChehabThis feature was added in kernel 3.4 together with 3401478b83SMauro Carvalho Chehab``sysctl kernel.pty.reserve``. 3501478b83SMauro Carvalho Chehab 3601478b83SMauro Carvalho ChehabIn kernels older than 3.4 sysctl ``kernel.pty.max`` works as per-instance limit. 37