It's certainly true that when you start sharing a lot of memory between processes, you start to see some of the same issues that you see with threads. I would encourage people to not go down this road unless they really have have to.
I'm curious whether it is safe in theory to share a futex with a malicious process. Obviously, the malicious guy can cause a denial-of-service (for example, by refusing to release the lock), but can he do more than that? I've read through some of the futex READMEs, including Ulrich Drepper's, but I still don't feel confident enough to answer this question.
(This is ignoring the practical reality that when you share enough memory, you'll inevitably forget to validate something somewhere in one process or the other.)