Subject: Re: Still oopsing in nf_nat_move_storage()

From: Thomas Woerner <[email-masked]>
Date: Tue, 05 Feb 2008 17:26:34 +0100

Patrick McHardy wrote:
> Chuck Ebbert wrote:
>> 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...
> 
> 
> Could you try whether this patch fixes it please?
> 
Hallo Patrick,

I have tested the patch and the problem seems to be fixed.

Thanks,
Thomas

-- 
Thomas Woerner
Software Engineer            Phone: +49-711-96437-0
Red Hat GmbH                 Fax  : +49-711-96437-111
Hauptstaetterstr. 58         Email: Thomas Woerner <[email-masked]>
D-70178 Stuttgart            Web  : http://www.redhat.de/