On Fri, 2007-03-09 at 16:20 -0800, David Miller wrote: > From: Joy Latten <[EMAIL PROTECTED]> > Date: Fri, 9 Mar 2007 17:14:54 -0600 > > > I noticed that in xfrm_state_add we look for the larval SA in a few > > places without checking for protocol match. So when using both > > AH and ESP, whichever one gets added first, deletes the larval SA. > > It seems AH always gets added first and ESP is always the larval > > SA's protocol since the xfrm->tmpl has it first. Thus causing the > > additional km_query() > > > > Adding the check eliminates the double SA creation. > > I know this may not seem like a complete solution and I will > > continue to test and be on the lookout, but isn't having the > > check a good thing? So far I have tested SAs with just ESP, just AH > > and with both and all seems ok. > > > > Please let me know if this patch is ok. > > My kernel was 2.6.20-rc3-git3. > > > > Signed-off-by: Joy Latten <[EMAIL PROTECTED]> > > Generally it looks OK, but I'm going to let this one sit for > a while before I apply it so that other folks can review it > too and spot any unintended consequences. > > In particular, I find it strance that we didn't check the > protocol field all this time and I wonder whether that might > be on purpose for some reason.
Ok. And I'll continue to test, though most of my testing is done on lspp kernel. lspp kernel is an earlier version of upstream kernel and I noticed the old __xfrm4_find_acq() did include a check for the protocol, new __find_acq_core() doesn't. But neither checked for protocol after call to __xfrm_find_acq_byseq(). Joy - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html