Chrooted enviroments that need ptys cannot use ptyfs at this time because only one instance of ptyfs is supported. The task is to enhance ptyfs so that it can be mounted multiple times. The problems that need to be solved are:
- The ptyfs code needs to be modified so that the correct path is returned depending on the mount point in the TIOCPTMGET ioctl. There was code there to do this, but it was removed because it was not working properly.
- Since there can be only one instance of major/minor pty in the system, each mount point should only display the ptys that were created for that mountpoint and not others.
- Since ptyfs replaces the handlers for the traditional BSD style ptys when it is mounted and puts them back once it is unmounted, this handler hijacking will not work with multiple mounts. Perhaps a solution is to do it only for the first mount?
This project is implemented all in the kernel and has no documentation requirements.
For extra credit you can investigate if providing continuous numbers (without gaps) is feasible without too much recoding, and implement it.