Back to home page

OSCL-LXR

 
 

    


0001 .. SPDX-License-Identifier: GPL-2.0
0002 
0003 =====================
0004 The Devpts Filesystem
0005 =====================
0006 
0007 Each mount of the devpts filesystem is now distinct such that ptys
0008 and their indicies allocated in one mount are independent from ptys
0009 and their indicies in all other mounts.
0010 
0011 All mounts of the devpts filesystem now create a ``/dev/pts/ptmx`` node
0012 with permissions ``0000``.
0013 
0014 To retain backwards compatibility the a ptmx device node (aka any node
0015 created with ``mknod name c 5 2``) when opened will look for an instance
0016 of devpts under the name ``pts`` in the same directory as the ptmx device
0017 node.
0018 
0019 As an option instead of placing a ``/dev/ptmx`` device node at ``/dev/ptmx``
0020 it is possible to place a symlink to ``/dev/pts/ptmx`` at ``/dev/ptmx`` or
0021 to bind mount ``/dev/ptx/ptmx`` to ``/dev/ptmx``.  If you opt for using
0022 the devpts filesystem in this manner devpts should be mounted with
0023 the ``ptmxmode=0666``, or ``chmod 0666 /dev/pts/ptmx`` should be called.
0024 
0025 Total count of pty pairs in all instances is limited by sysctls::
0026 
0027     kernel.pty.max = 4096       - global limit
0028     kernel.pty.reserve = 1024   - reserved for filesystems mounted from the initial mount namespace
0029     kernel.pty.nr               - current count of ptys
0030 
0031 Per-instance limit could be set by adding mount option ``max=<count>``.
0032 
0033 This feature was added in kernel 3.4 together with
0034 ``sysctl kernel.pty.reserve``.
0035 
0036 In kernels older than 3.4 sysctl ``kernel.pty.max`` works as per-instance limit.