summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipc/sem.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ipc/sem.c b/ipc/sem.c
index 910c7a3865c8..454f6c6020a8 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -1000,6 +1000,17 @@ static int check_qop(struct sem_array *sma, int semnum, struct sem_queue *q,
1000{ 1000{
1001 struct sembuf *sop = q->blocking; 1001 struct sembuf *sop = q->blocking;
1002 1002
1003 /*
1004 * Linux always (since 0.99.10) reported a task as sleeping on all
1005 * semaphores. This violates SUS, therefore it was changed to the
1006 * standard compliant behavior.
1007 * Give the administrators a chance to notice that an application
1008 * might misbehave because it relies on the Linux behavior.
1009 */
1010 pr_info_once("semctl(GETNCNT/GETZCNT) is since 3.16 Single Unix Specification compliant.\n"
1011 "The task %s (%d) triggered the difference, watch for misbehavior.\n",
1012 current->comm, task_pid_nr(current));
1013
1003 if (sop->sem_num != semnum) 1014 if (sop->sem_num != semnum)
1004 return 0; 1015 return 0;
1005 1016