The order between testing complex_count and spin_is_locked() is the wrong way around. This means unsynchronized read/write access to the linked lists within a semaphore array may happen, which would leak to memory corruptions. Affected: 3.0.10, 3.0.11, current head Details: See the link: http://marc.info/?l=linux-kernel&m=137919453307294
Fix is in -mm tree http://marc.info/?l=linux-mm-commits&m=137997045831779
Fixed 5e9d527591421ccdb16acb8c23662231135d8686 ipc/sem.c: fix race in sem_lock()