Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F108153381
D26826.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D26826.diff
View Options
Index: head/sys/kern/sysv_sem.c
===================================================================
--- head/sys/kern/sysv_sem.c
+++ head/sys/kern/sysv_sem.c
@@ -187,13 +187,13 @@
#define SEM_ALIGN(bytes) roundup2(bytes, sizeof(long))
/* actual size of an undo structure */
-#define SEMUSZ SEM_ALIGN(offsetof(struct sem_undo, un_ent[SEMUME]))
+#define SEMUSZ(x) SEM_ALIGN(offsetof(struct sem_undo, un_ent[(x)]))
/*
* Macro to find a particular sem_undo vector
*/
#define SEMU(ix) \
- ((struct sem_undo *)(((intptr_t)semu)+ix * seminfo.semusz))
+ ((struct sem_undo *)(((intptr_t)semu) + (ix) * seminfo.semusz))
/*
* semaphore info struct
@@ -205,7 +205,7 @@
.semmsl = SEMMSL, /* max # of semaphores per id */
.semopm = SEMOPM, /* max # of operations per semop call */
.semume = SEMUME, /* max # of undo entries per process */
- .semusz = SEMUSZ, /* size in bytes of undo structure */
+ .semusz = SEMUSZ(SEMUME), /* size in bytes of undo structure */
.semvmx = SEMVMX, /* semaphore maximum value */
.semaem = SEMAEM, /* adjust on exit max value */
};
@@ -222,7 +222,7 @@
"Max operations per semop call");
SYSCTL_INT(_kern_ipc, OID_AUTO, semume, CTLFLAG_RDTUN, &seminfo.semume, 0,
"Max undo entries per process");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semusz, CTLFLAG_RDTUN, &seminfo.semusz, 0,
+SYSCTL_INT(_kern_ipc, OID_AUTO, semusz, CTLFLAG_RD, &seminfo.semusz, 0,
"Size in bytes of undo structure");
SYSCTL_INT(_kern_ipc, OID_AUTO, semvmx, CTLFLAG_RWTUN, &seminfo.semvmx, 0,
"Semaphore maximum value");
@@ -284,6 +284,7 @@
M_WAITOK | M_ZERO);
sema_mtx = malloc(sizeof(struct mtx) * seminfo.semmni, M_SEM,
M_WAITOK | M_ZERO);
+ seminfo.semusz = SEMUSZ(seminfo.semume);
semu = malloc(seminfo.semmnu * seminfo.semusz, M_SEM, M_WAITOK);
for (i = 0; i < seminfo.semmni; i++) {
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jan 22, 10:45 PM (19 h, 7 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16042330
Default Alt Text
D26826.diff (1 KB)
Attached To
Mode
D26826: sysv_sem: semusz depends on semume.
Attached
Detach File
Event Timeline
Log In to Comment