Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/kern add #ifdef DEBUG segnum sanity check in shm_delete_...



details:   https://anonhg.NetBSD.org/src/rev/644fc96ec77e
branches:  trunk
changeset: 556003:644fc96ec77e
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Fri Dec 05 22:09:56 2003 +0000

description:
add #ifdef DEBUG segnum sanity check in shm_delete_mapping()

diffstat:

 sys/kern/sysv_shm.c |  8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diffs (29 lines):

diff -r 796744b449e6 -r 644fc96ec77e sys/kern/sysv_shm.c
--- a/sys/kern/sysv_shm.c       Fri Dec 05 21:49:00 2003 +0000
+++ b/sys/kern/sysv_shm.c       Fri Dec 05 22:09:56 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sysv_shm.c,v 1.71 2003/10/26 10:32:24 jdolecek Exp $   */
+/*     $NetBSD: sysv_shm.c,v 1.72 2003/12/05 22:09:56 jdolecek Exp $   */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -68,7 +68,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysv_shm.c,v 1.71 2003/10/26 10:32:24 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysv_shm.c,v 1.72 2003/12/05 22:09:56 jdolecek Exp $");
 
 #define SYSVSHM
 
@@ -203,6 +203,10 @@
        size_t size;
        
        segnum = IPCID_TO_IX(shmmap_se->shmid);
+#ifdef DEBUG
+       if (segnum < 0 || segnum >= shminfo.shmmni)
+               panic("shm_delete_mapping: vmspace %p state %p entry %p - entry segment ID bad (%d)", vm, shmmap_s, shmmap_se, segnum);
+#endif
        shmseg = &shmsegs[segnum];
        size = (shmseg->shm_segsz + PGOFSET) & ~PGOFSET;
        uvm_deallocate(&vm->vm_map, shmmap_se->va, size);



Home | Main Index | Thread Index | Old Index