The proc interface calls ipc_lock() directly - thus the exclusion of simple semop's is missing with sysvipc_sem_proc_show(). A "sem_wait_array()" should be added as the first line into sysvipc_sem_proc_show(). It's a correctness thing: Nothing breaks if get_semotime() is called in parallel with simple ops.
Update dependencies: sem_wait_array() does not exist yet in Linus' tree.
Created attachment 109631 [details] Patch
patch sent to lkml
Fixed d8c633766ad88527f25d9f81a5c2f083d78a2b39 ipc/sem.c: synchronize the proc interface