Subject: Re: [PATCH net] net: neighbour: add neighbour dead check for neigh_timer_handler()

From: Ding Tianhong <[email-masked]>
Date: Wed, 18 Dec 2013 16:57:01 +0800

On 2013/12/18 16:41, Hannes Frederic Sowa wrote:
> On Wed, Dec 18, 2013 at 04:19:43PM +0800, Ding Tianhong wrote:
>> 0xffffffff812f8e29 <neigh_timer_handler+265>:   mov    0xe8(%rbx),%rax
>> 0xffffffff812f8e30 <neigh_timer_handler+272>:   mov    %rbp,%rsi
>> 0xffffffff812f8e33 <neigh_timer_handler+275>:   mov    %rbx,%rdi
>> 0xffffffff812f8e36 <neigh_timer_handler+278>:   callq  *0x8(%rax)						<-----crash
>> /usr/src/linux/net/core/neighbour.c: 877
>> 0xffffffff812f8e39 <neigh_timer_handler+281>:   lea    0x3c(%rbx),%rax
> 
> For me it looks like this:
> 
> %rax is neigh->ops and the function pointer solicit is NULL and causes the the
> page fault.
> 
> 
yes, it is. So I was trying to find the situation that may free the neighbour when
the timer is running, but I could not yet.

Regards
Ding