I suspected it could be that. However, can't see in ip_rcv the right portion that can help. Any further tip please?
Regards, ----- Message d'origine ---- > De : Evgeniy Polyakov <[EMAIL PROTECTED]> > À : Nj A <[EMAIL PROTECTED]> > Cc : netdev@vger.kernel.org > Envoyé le : Mercredi, 14 Novembre 2007, 12h13mn 05s > Objet : Re: Bug in using inet_lookup () > > On Wed, Nov 14, 2007 at 09:26:18AM +0000, Nj A ([EMAIL PROTECTED]) wrote: > > /* The kernel TCP hashtable */ > > struct inet_hashinfo __cacheline_aligned tcp_hashinfo = { > > .lhash_lock = __RW_LOCK_UNLOCKED (tcp_hashinfo.lhash_lock), > > .lhash_users = ATOMIC_INIT (0), > > .lhash_wait = __WAIT_QUEUE_HEAD_INITIALIZER (tcp_hashinfo.lhash_wait), > > }; > > ... > > struct sock *sk; > > struct sk_buff *skb; > > skb = alloc_skb (MAX_TCP_HEADER + 15, GFP_KERNEL); > > if (skb == NULL) > > printk ("%s: Unable to allocate memory \n", __FUNCTION__); > > sk = inet_lookup (&tcp_hashinfo, ip_src, src_port, ip_dst, dst_port, > > inet_iif > (skb)); > > if (!sk) > > ... > > This portion of code seems to cause the kernel to panic due to > > dereferencing a > NULL pointer. > > Can anyone please tell me what is the error above? > > Best Regards, > > Where exactly? Likely in inet_iif(), since it dereferences dst (routing > info), which is not presented after simple alloc_skb(). > You have to setup skb correctly, check how ip_rcv() does it. > > -- > Evgeniy > Polyakov > _____________________________________________________________________________ Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html