HomeFreeBSD

jail: Don't allow jail_set(2) to resurrect dying jails.

Description

jail: Don't allow jail_set(2) to resurrect dying jails.

Currently, a prison in "dying" state (removed but still holding
resources) can be brought back to alive state via "jail -d", or
the JAIL_DYING flag to jail_set(2). This seemed like a good idea
at the time.

Its main use was to improve support for specifying the jid when
creating a jail, which also seemed like a good idea at the time.
But resurrecting a jail that was partway through thr process of
shutting down is trouble waiting to happen.

This patch deprecates that flag, leaving it as a no-op for creating
jails (but still useful for looking at dying jails). It sill allows
creating a new jail with the same jid as a dying one, but will renumber
the old one in that case. That's imperfect, but allows for current
behavior.

Reviewed by: bz
Differential Revision: https://reviews.freebsd.org/D28150

Details

Provenance
jamieAuthored on Nov 30 2023, 12:12 AM
Reviewer
bz
Differential Revision
D28150: jail: Don't allow resurrection of dead jails
Parents
rG376330aca184: smbus: add compat32 support for SMB ioctls
Branches
Unknown
Tags
Unknown