Thread (95 messages) 95 messages, 4 authors, 2008-10-01

Re: xfrm_state locking regression...

From: Timo Teräs <hidden>
Date: 2008-09-23 13:46:36

Herbert Xu wrote:
On Tue, Sep 23, 2008 at 04:30:06PM +0300, Timo Teräs wrote:
quoted
I have no strong opinion either way. So what ever you want, I'm
happy to provide a patch for.
Let's just leave it as it is for now.
Well, 1 is an improvement over the current implementation, so
I think it'd be better than not doing anything.
quoted
quoted
What about xfrm_cfg_mutex?
It's used only in xfrm_state_gc_task. xfrm_state_walk_{init,done}
touch xfrm_state_walks list without locking properly. At least in
the version I'm looking (= net-next-2.6 via git web interface).
Their callers should be holding it.
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.

- Timo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help