diff options
author | ian <ian@FreeBSD.org> | 2015-03-25 20:57:54 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2015-03-25 20:57:54 +0000 |
commit | 17ca262c02e86a8249998b8b6f269c54d2cc0393 (patch) | |
tree | 3d7f5bb95a341c4bd3b3cb5a0b72e24c35e06d6e /sys/kern/imgact_elf.c | |
parent | 024d3d32c2e26de3eb9d5db776dbab29ad79618e (diff) | |
download | FreeBSD-src-17ca262c02e86a8249998b8b6f269c54d2cc0393.zip FreeBSD-src-17ca262c02e86a8249998b8b6f269c54d2cc0393.tar.gz |
MFC r279361, r279395, r279396:
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.
Export the new osreldate and osrelease jail parms in jail_get(2).
Fix line wrap.
Diffstat (limited to 'sys/kern/imgact_elf.c')
-rw-r--r-- | sys/kern/imgact_elf.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 940b38f..e41ad76 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include <sys/fcntl.h> #include <sys/imgact.h> #include <sys/imgact_elf.h> +#include <sys/jail.h> #include <sys/kernel.h> #include <sys/lock.h> #include <sys/malloc.h> @@ -996,7 +997,8 @@ __elfN(freebsd_fixup)(register_t **stack_base, struct image_params *imgp) AUXARGS_ENTRY(pos, AT_BASE, args->base); if (imgp->execpathp != 0) AUXARGS_ENTRY(pos, AT_EXECPATH, imgp->execpathp); - AUXARGS_ENTRY(pos, AT_OSRELDATE, osreldate); + AUXARGS_ENTRY(pos, AT_OSRELDATE, + imgp->proc->p_ucred->cr_prison->pr_osreldate); if (imgp->canary != 0) { AUXARGS_ENTRY(pos, AT_CANARY, imgp->canary); AUXARGS_ENTRY(pos, AT_CANARYLEN, imgp->canarylen); |