Subject: Re: Still oopsing in nf_nat_move_storage()

From: Chuck Ebbert <[email-masked]>
Date: Fri, 01 Feb 2008 18:41:53 -0500

On 01/31/2008 01:03 PM, Chuck Ebbert wrote:
> On 01/29/2008 12:18 PM, Patrick McHardy wrote:
>> Chuck Ebbert wrote:
>>> nf_nat_move_storage():
>>> /usr/src/debug/kernel-2.6.23/linux-2.6.23.i686/net/ipv4/netfilter/nf_nat_core.c:612
>>>
>>>       87:       f7 47 64 80 01 00 00    testl  $0x180,0x64(%edi)
>>>       8e:       74 39                   je     c9
>>> <nf_nat_move_storage+0x65>
>>>
>>> line 612:
>>>         if (!(ct->status & IPS_NAT_DONE_MASK))
>>>                 return;
>>>
>>> ct is NULL
>> The current kernel (and 2.6.23-stable) have:
>>
>>         if (!ct || !(ct->status & IPS_NAT_DONE_MASK))
>>                 return;
>>
>> so it seems you're using an old version.

So, it is now oopsing after the test for NULL and only x86_64 is
catching the invalid address because it is non-canonical. Checking
for NULL is obviously not enough...