When
kill(2) is called with -1 as the
pid, all processes in the jail (but the caller) are delivered the signal. However, since exit notifications are asynchronous, a process may exit during this operation. If another process starts in that time with the same PID, this process will be killed. It's very unlikely that this race condition may be exploited.
If many ‘cannot create /dev/null: Device not configured' errors appear, this is because the
dev directory in the jail is not on the root device.
It's of critical importance that user identifiers
do not propogate across jails or into the host system. In other words, if uid 100 exists both within a jail and on the host system, the prison's uid, from the kernel's perspective, is identical to the host's. Calls to
setpriority(2) and similar functions will effect both users. Since uids are not managed by the kernel (as regards mapping to an environment), and users may be arbitrarily assigned (perhaps maliciously), future versions of
jail might offer configuration values for restricting uid and gid addressing.