linux/Documentation/filesystems/devpts.rst
<<
>>
Prefs
   1.. SPDX-License-Identifier: GPL-2.0
   2
   3=====================
   4The Devpts Filesystem
   5=====================
   6
   7Each mount of the devpts filesystem is now distinct such that ptys
   8and their indicies allocated in one mount are independent from ptys
   9and their indicies in all other mounts.
  10
  11All mounts of the devpts filesystem now create a ``/dev/pts/ptmx`` node
  12with permissions ``0000``.
  13
  14To retain backwards compatibility the a ptmx device node (aka any node
  15created with ``mknod name c 5 2``) when opened will look for an instance
  16of devpts under the name ``pts`` in the same directory as the ptmx device
  17node.
  18
  19As an option instead of placing a ``/dev/ptmx`` device node at ``/dev/ptmx``
  20it is possible to place a symlink to ``/dev/pts/ptmx`` at ``/dev/ptmx`` or
  21to bind mount ``/dev/ptx/ptmx`` to ``/dev/ptmx``.  If you opt for using
  22the devpts filesystem in this manner devpts should be mounted with
  23the ``ptmxmode=0666``, or ``chmod 0666 /dev/pts/ptmx`` should be called.
  24
  25Total count of pty pairs in all instances is limited by sysctls::
  26
  27    kernel.pty.max = 4096       - global limit
  28    kernel.pty.reserve = 1024   - reserved for filesystems mounted from the initial mount namespace
  29    kernel.pty.nr               - current count of ptys
  30
  31Per-instance limit could be set by adding mount option ``max=<count>``.
  32
  33This feature was added in kernel 3.4 together with
  34``sysctl kernel.pty.reserve``.
  35
  36In kernels older than 3.4 sysctl ``kernel.pty.max`` works as per-instance limit.
  37