summaryrefslogtreecommitdiffstats
path: root/sys/kern/imgact_elf.c
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2015-03-25 20:57:54 +0000
committerian <ian@FreeBSD.org>2015-03-25 20:57:54 +0000
commit17ca262c02e86a8249998b8b6f269c54d2cc0393 (patch)
tree3d7f5bb95a341c4bd3b3cb5a0b72e24c35e06d6e /sys/kern/imgact_elf.c
parent024d3d32c2e26de3eb9d5db776dbab29ad79618e (diff)
downloadFreeBSD-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.c4
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);
OpenPOWER on IntegriCloud