forked from Minki/linux
include/linux/sem.h: correctly document sem_ctime
sem_ctime is initialized to the semget() time and then updated at every semctl() that changes the array. Thus it does not represent the time of the last change. Especially, semop() calls are only stored in sem_otime, not in sem_ctime. This is already described in ipc/sem.c, I just overlooked that there is a comment in include/linux/sem.h and man semctl(2) as well. So: Correct wrong comments. Link: http://lkml.kernel.org/r/20170515171912.6298-4-manfred@colorfullife.com Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Cc: Kees Cook <keescook@chromium.org> Cc: <1vier1@web.de> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Fabian Frederick <fabf@skynet.be> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
dba4cdd39e
commit
2cd648c110
@ -30,7 +30,7 @@ struct sem {
|
|||||||
/* One sem_array data structure for each set of semaphores in the system. */
|
/* One sem_array data structure for each set of semaphores in the system. */
|
||||||
struct sem_array {
|
struct sem_array {
|
||||||
struct kern_ipc_perm sem_perm; /* permissions .. see ipc.h */
|
struct kern_ipc_perm sem_perm; /* permissions .. see ipc.h */
|
||||||
time_t sem_ctime; /* last change time */
|
time_t sem_ctime; /* create/last semctl() time */
|
||||||
struct list_head pending_alter; /* pending operations */
|
struct list_head pending_alter; /* pending operations */
|
||||||
/* that alter the array */
|
/* that alter the array */
|
||||||
struct list_head pending_const; /* pending complex operations */
|
struct list_head pending_const; /* pending complex operations */
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
struct semid_ds {
|
struct semid_ds {
|
||||||
struct ipc_perm sem_perm; /* permissions .. see ipc.h */
|
struct ipc_perm sem_perm; /* permissions .. see ipc.h */
|
||||||
__kernel_time_t sem_otime; /* last semop time */
|
__kernel_time_t sem_otime; /* last semop time */
|
||||||
__kernel_time_t sem_ctime; /* last change time */
|
__kernel_time_t sem_ctime; /* create/last semctl() time */
|
||||||
struct sem *sem_base; /* ptr to first semaphore in array */
|
struct sem *sem_base; /* ptr to first semaphore in array */
|
||||||
struct sem_queue *sem_pending; /* pending operations to be processed */
|
struct sem_queue *sem_pending; /* pending operations to be processed */
|
||||||
struct sem_queue **sem_pending_last; /* last pending operation */
|
struct sem_queue **sem_pending_last; /* last pending operation */
|
||||||
|
Loading…
Reference in New Issue
Block a user