Allow the kern.osrelease and kern.osreldate sysctl values to be set in a jail's creation parameters. This allows the kernel version to be reliably spoofed within the jail whether examined directly with sysctl or indirectly with the uname -r and -K options.
While it is possible to override the uname values with environment variables, that is not a reliable technique because env(1) may be used to clean the environment, revealing the underlying os release values. Overriding the sysctl values that uname uses ensures that a consistant lie is told within the jail.
The values can only be set at jail creation time, to eliminate the need for any locking when accessing the values via sysctl.
The overridden values are inherited by nested jails (unless the config for the nested jails also overrides the values).
There is no sanity or range checking, other than disallowing an empty release string or a zero release date, by design. The system administrator is trusted to set sane values. Setting values that are newer than the actual running kernel will likely cause compatibility problems.