|  | .. SPDX-License-Identifier: GPL-2.0 | 
|  |  | 
|  | ===================== | 
|  | The Devpts Filesystem | 
|  | ===================== | 
|  |  | 
|  | Each mount of the devpts filesystem is now distinct such that ptys | 
|  | and their indicies allocated in one mount are independent from ptys | 
|  | and their indicies in all other mounts. | 
|  |  | 
|  | All mounts of the devpts filesystem now create a ``/dev/pts/ptmx`` node | 
|  | with permissions ``0000``. | 
|  |  | 
|  | To retain backwards compatibility the a ptmx device node (aka any node | 
|  | created with ``mknod name c 5 2``) when opened will look for an instance | 
|  | of devpts under the name ``pts`` in the same directory as the ptmx device | 
|  | node. | 
|  |  | 
|  | As an option instead of placing a ``/dev/ptmx`` device node at ``/dev/ptmx`` | 
|  | it is possible to place a symlink to ``/dev/pts/ptmx`` at ``/dev/ptmx`` or | 
|  | to bind mount ``/dev/ptx/ptmx`` to ``/dev/ptmx``.  If you opt for using | 
|  | the devpts filesystem in this manner devpts should be mounted with | 
|  | the ``ptmxmode=0666``, or ``chmod 0666 /dev/pts/ptmx`` should be called. | 
|  |  | 
|  | Total count of pty pairs in all instances is limited by sysctls:: | 
|  |  | 
|  | kernel.pty.max = 4096	- global limit | 
|  | kernel.pty.reserve = 1024	- reserved for filesystems mounted from the initial mount namespace | 
|  | kernel.pty.nr		- current count of ptys | 
|  |  | 
|  | Per-instance limit could be set by adding mount option ``max=<count>``. | 
|  |  | 
|  | This feature was added in kernel 3.4 together with | 
|  | ``sysctl kernel.pty.reserve``. | 
|  |  | 
|  | In kernels older than 3.4 sysctl ``kernel.pty.max`` works as per-instance limit. |