summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2009-10-16 13:05:28 +0000
committerAlexis Ballier <aballier@gentoo.org>2009-10-16 13:05:28 +0000
commit5b68b6dbf8090934a2ef2c0c5af0dca1d5d0b89d (patch)
treef89348e5d389be672377bd67dde23e8b010b5494 /sys-freebsd/freebsd-sources/files
parentFix building with JDK 1.5. Fixes bug #289078. (diff)
downloadgentoo-2-5b68b6dbf8090934a2ef2c0c5af0dca1d5d0b89d.tar.gz
gentoo-2-5b68b6dbf8090934a2ef2c0c5af0dca1d5d0b89d.tar.bz2
gentoo-2-5b68b6dbf8090934a2ef2c0c5af0dca1d5d0b89d.zip
Add patches for latest fbsd sec. advisory and errata.
(Portage version: 2.2_rc46/cvs/Linux x86_64)
Diffstat (limited to 'sys-freebsd/freebsd-sources/files')
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-devfs7.patch15
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-null.patch47
2 files changed, 62 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-devfs7.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-devfs7.patch
new file mode 100644
index 000000000000..e1fcefb028ce
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-devfs7.patch
@@ -0,0 +1,15 @@
+http://security.freebsd.org/advisories/FreeBSD-SA-09:14.devfs.asc
+
+Index: sys/fs/devfs/devfs_vnops.c
+===================================================================
+--- sys/fs/devfs/devfs_vnops.c (revision 192300)
++++ sys/fs/devfs/devfs_vnops.c (revision 192301)
+@@ -890,6 +890,7 @@
+ if (fp != NULL) {
+ FILE_LOCK(fp);
+ fp->f_data = dev;
++ fp->f_vnode = vp;
+ FILE_UNLOCK(fp);
+ }
+ fpop = td->td_fpop;
+
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-null.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-null.patch
new file mode 100644
index 000000000000..16e5023806eb
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-7.2-null.patch
@@ -0,0 +1,47 @@
+http://security.freebsd.org/advisories/FreeBSD-EN-09:05.null.asc
+
+Index: sys/kern/kern_exec.c
+===================================================================
+--- sys/kern/kern_exec.c (revision 197682)
++++ sys/kern/kern_exec.c (working copy)
+@@ -122,6 +122,11 @@
+ SYSCTL_ULONG(_kern, OID_AUTO, ps_arg_cache_limit, CTLFLAG_RW,
+ &ps_arg_cache_limit, 0, "");
+
++static int map_at_zero = 1;
++TUNABLE_INT("security.bsd.map_at_zero", &map_at_zero);
++SYSCTL_INT(_security_bsd, OID_AUTO, map_at_zero, CTLFLAG_RW, &map_at_zero, 0,
++ "Permit processes to map an object at virtual address 0.");
++
+ static int
+ sysctl_kern_ps_strings(SYSCTL_HANDLER_ARGS)
+ {
+@@ -939,7 +944,7 @@
+ int error;
+ struct proc *p = imgp->proc;
+ struct vmspace *vmspace = p->p_vmspace;
+- vm_offset_t stack_addr;
++ vm_offset_t sv_minuser, stack_addr;
+ vm_map_t map;
+ u_long ssiz;
+
+@@ -955,13 +960,17 @@
+ * not disrupted
+ */
+ map = &vmspace->vm_map;
+- if (vmspace->vm_refcnt == 1 && vm_map_min(map) == sv->sv_minuser &&
++ if (map_at_zero)
++ sv_minuser = sv->sv_minuser;
++ else
++ sv_minuser = MAX(sv->sv_minuser, PAGE_SIZE);
++ if (vmspace->vm_refcnt == 1 && vm_map_min(map) == sv_minuser &&
+ vm_map_max(map) == sv->sv_maxuser) {
+ shmexit(vmspace);
+ pmap_remove_pages(vmspace_pmap(vmspace));
+ vm_map_remove(map, vm_map_min(map), vm_map_max(map));
+ } else {
+- error = vmspace_exec(p, sv->sv_minuser, sv->sv_maxuser);
++ error = vmspace_exec(p, sv_minuser, sv->sv_maxuser);
+ if (error)
+ return (error);
+ vmspace = p->p_vmspace;