Re: xfrm_state locking regression...
From: Timo Teräs <hidden>
Date: 2008-09-24 05:14:21
Herbert Xu wrote:
On Tue, Sep 23, 2008 at 04:46:31PM +0300, Timo Teräs wrote:quoted
Ah, the other layers take it at least on _walk_init paths. But _walk_done can be called from recv() syscalls. The af_key implementation does not take xfrm_cfg_mutex there. I don't think xfrm_user does that either as it does not pass cb_mutex to netlink_kernel_create. So at least the _state_walk_done path is unsafe as-is, I think.OK we'd need to fix that up. However, I've got a new idea :) Let's put the dumpers on the list directly and then we won't have to deal any of this crap about states going away.
Now this is an interesting idea... I like this a lot. Only comment is that there really should be struct for the shared stuff. Otherwise it's bound to break at some point. Cheers, Timo