Re: infinite loop in esp6_ctlinput()?
- From: JINMEI Tatuya / 神明達哉 <jinmei@xxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 29 Aug 2007 00:28:47 +0900
At Tue, 28 Aug 2007 19:49:11 +0800,
blue <susan.lan@xxxxxxxxxxxx> wrote:
According to the GDB backtrace, I think this is what I am talking about.
Besides, this would result in infinite loop just by looking at the
codes. However, the author seems knowing the problem, too. The comments
in esp6_ctlinput() point out:
/*
* Although pfctlinput2 will call esp6_ctlinput(), there is
* no possibility of an infinite loop of function calls,
* because we don't pass the inner IPv6 header.
*/
I am not sure what the description means. The behavior of
esp6_ctlinput() is the same in HEAD, too.
This means that variable 'ip6' should be NULL for the second time
esp6_ctlinput() is called in the esp_input.c ("non-FAST" IPSEC)
version. It prevents the function calls from making an infinite loop.
On the other hand, the ipsec_input.c (FAST_IPSEC) version only seems
to check ip6ctlparam * ('d') is NULL, making the infinite sequence of
calls possible.
JINMEI, Tatuya
Communication Platform Lab.
Corporate R&D Center, Toshiba Corp.
jinmei@xxxxxxxxxxxxxxxxxxxxx
_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: infinite loop in esp6_ctlinput()?
- From: George V. Neville-Neil
- Re: infinite loop in esp6_ctlinput()?
- References:
- infinite loop in esp6_ctlinput()?
- From: blue
- Re: infinite loop in esp6_ctlinput()?
- From: JINMEI Tatuya / 神明達哉
- Re: infinite loop in esp6_ctlinput()?
- From: blue
- Re: infinite loop in esp6_ctlinput()?
- From: Bjoern A. Zeeb
- Re: infinite loop in esp6_ctlinput()?
- From: blue
- infinite loop in esp6_ctlinput()?
- Prev by Date: Re: infinite loop in esp6_ctlinput()?
- Next by Date: Re: nc captures 1024 bytes
- Previous by thread: Re: infinite loop in esp6_ctlinput()?
- Next by thread: Re: infinite loop in esp6_ctlinput()?
- Index(es):