aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacques Vidrine <nectar@FreeBSD.org>2004-02-05 18:01:26 +0000
committerJacques Vidrine <nectar@FreeBSD.org>2004-02-05 18:01:26 +0000
commit950dff46472e94b1e841cc00170e43a7c6708878 (patch)
treef6d119a04b8c063f505be28a7406d333f3bc8295
parent976135f9e49f70296d381b0b282939b0444a7dd1 (diff)
downloadsrc-950dff46472e94b1e841cc00170e43a7c6708878.tar.gz
src-950dff46472e94b1e841cc00170e43a7c6708878.zip
MFC sysv_shm.c 1.90: Correct a reference counting bug in shmat(2).
Notes
Notes: svn path=/releng/5.0/; revision=125489
-rw-r--r--UPDATING3
-rw-r--r--sys/conf/newvers.sh2
-rw-r--r--sys/kern/sysv_shm.c1
3 files changed, 5 insertions, 1 deletions
diff --git a/UPDATING b/UPDATING
index f35d9c575fbc..e5aba6bf161f 100644
--- a/UPDATING
+++ b/UPDATING
@@ -17,6 +17,9 @@ minimal number of processes, if possible, for that patch. For those
updates that don't have an advisory, or to be safe, you can do a full
build and install as described in the COMMON ITEMS section.
+20040205: p20 FreeBSD-SA-04:02.shmat
+ Correct a reference counting bug in shmat(2).
+
20031126: p19 FreeBSD-SA-03:19.bind
Corrected remote denial-of-service vulnerability in named(8).
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
index 8e4b89ba3bdc..499adff2f923 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -36,7 +36,7 @@
TYPE="FreeBSD"
REVISION="5.0"
-BRANCH="RELEASE-p19"
+BRANCH="RELEASE-p20"
RELEASE="${REVISION}-${BRANCH}"
VERSION="${TYPE} ${RELEASE}"
diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c
index 8baa579be790..544dce2d09b3 100644
--- a/sys/kern/sysv_shm.c
+++ b/sys/kern/sysv_shm.c
@@ -373,6 +373,7 @@ shmat(td, uap)
rv = vm_map_find(&p->p_vmspace->vm_map, shm_handle->shm_object,
0, &attach_va, size, (flags & MAP_FIXED)?0:1, prot, prot, 0);
if (rv != KERN_SUCCESS) {
+ vm_object_deallocate(shm_handle->shm_object);
error = ENOMEM;
goto done2;
}