[PATCH 0/4] ipc: shm and msg fixes

From: Davidlohr Bueso
Date: Sun Sep 15 2013 - 23:05:43 EST


This patchset deals with the selinux and rmid races Manfred found on
the ipc scaling work that has been going on. It specifically addresses
shared mem and msg queues. While semaphores still need updated, I want
to make sure these are correct first. Also, Manfred had already sent out
a patchset that deals with a race in sem complex operations. So any changes
should be on top of his.

Patches 1 and 2 deal with shared memory.
Patches 3 and 4 deal with msg queues.
Specific details about each race and its fix are in the corresponding
patches.

Note that Linus suggested a good alternative to patches 1 and 3: use
kfree_rcu() and delay the freeing of the security structure. I would
much prefer that approach to doing security checks with the lock held,
but I want to leave the patches out and ready in case we go with the
later solution.

I have tested these patches with IPC testcases from LTP on both my
quad-core laptop and on a 64 core NUMA server. In both cases, voluntary
and forced preemption have passed the tests -- note that I was not able
to reproduce any of these bugs in the first case, so these tests were
mostly to make sure I didn't further introduce any other issues.

Manfred, could you please give me your feedback on these, as I'd like
to make sure I'm not doing anything stupid.

Davidlohr Bueso (4):
ipc,shm: fix race with selinux
ipc,shm: prevent race with rmid in shmat(2)
ipc,msg: fix race with selinux
ipc,msg: prevent race with rmid in msgsnd,msgrcv

ipc/msg.c | 27 +++++++++++++++++++++------
ipc/shm.c | 31 ++++++++++++++++++++++---------
2 files changed, 43 insertions(+), 15 deletions(-)

--
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/