> > Maybe it's enough to introduce a separate key for AF_UNIX alone (and > > still having all other protocols share the locking rules for > > sk_receive_queue.lock) , by reinitializing its spinlock after > > sock_init_data()?> > This could work. AF_UNIX is probably the only family that does not > interact with hardware.

ok, great. The patch below does the trick on my box.

regarding your point wrt. path of integration - it is pretty much the only practical way to do this centrally as part of the lock validator patches, but to collect ACKs from subsystem maintainers in the process. So if you like it i'd like to have your ACK but this patch depends on the other lock validator patches (and only makes sense together with them), so they should temporarily stay in the lock validator queue. Hopefully this wont be a state that lasts too long and once the validator is upstream, all patches of course go via the subsystem submission rules.

(the #ifdef LOCKDEP should probably be converted to some sort of lockdep_split_lock_key(&sk->sk_receive_queue.lock) op - i'll do that later)