>>>>> On Thu, 18 Apr 2002 12:47:22 +0300, 
>>>>> Ruslan Ermilov <[EMAIL PROTECTED]> said:

>> KAME rewrote the attached patch to improve this point:
>> - This memory leak is fixed, of course:-)
>> (at least I confirmed on 5-current).
>> - Non-NULL rtentry for ip_output() is still accepted.  So only a
>> patch in ip_output.c is enough.
>> 
>> Could you please correct me if I'm wrong, or consider adopting this
>> patch?
>> (it's a patch for 5-current, but it's not so difficult to modify it for
>> 4-stable and 4.5-release branch)

> I strongly object to this change.  BSD historically didn't allow for
> ip_output() to be called with the NULL route pointer.  I changed this

I'm not sure what you meant by "BSD" and "historically" here, but
please let me point out that this behavior is specific to FreeBSD.
At least BSD-4.4 Lite2 allows for ip_output to take the NULL route
pointer (see the rev. 1.1.1.1. for FreeBSD).  Additionally, BSD/OS,
NetBSD, and OpenBSD still allow the case.

FreeBSD prohibited the NULL route pointer argument for ip_output at
the change from 1.34 to 1.35 (6 years ago, so I admit we could say
this "historically").

> in rev. 1.143 in a blind attempt to fix a panic condition I introduced
> in ip_icmp.c,v 1.64.  Unfortunately, this didn't actually fix the
> ip_icmp.c bug but rather _hided_ it.  Many respectful people objected
> to the 1.143 change, including Garrett Wollman, but I didn't realize
> at the time why this was bad.  I since have fixed my mind, and I now
> realize why it's bad.  The details could be found in the commit log
> for ip_output.c,v 1.153.  Hopefully you can follow that.

We understood the issue, but when we proposed the other fix (from suz)
we did not realize that the "iproute" local variable was "re-"enabled
in 1.143, and thought that this was an IPsec issue.  Since FreeBSD has
been able to live with the code disabling the NULL iproute for
ip_output (and requiring all callers to pass a non NULL argument) for
6 years, I agree that the proposed fix in the advisory is natural for
FreeBSD.

The only concern that I think of is that we may see kernel panic when
porting code that calls ip_output() from other BSDs, since the others
may pass the NULL pointer to ip_output().  But, perhaps this issue has
already been discussed and thus the current code...

                                        JINMEI, Tatuya
                                        Communication Platform Lab.
                                        Corporate R&D Center, Toshiba Corp.
                                        [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to