Re: [RFC][PATCH 2/9] deadlock prevention core

Thomas Graf
2006-08-09T16:18:16Z

* Peter Zijlstra <a.p.zijlstra@chello.nl> 2006-08-09 16:07
> I think Daniel was thinking of adding struct net_device *
> sk_buff::alloc_dev,
> I know I was after reading the first few mails. However if adding a
> field
> there is strict no-no....
>
> /me takes a look at struct sk_buff
>
> Hmm, what does sk_buff::input_dev do? That seems to store the initial
> device?

No, skb->input_dev is used when redirecting packets around in the
stack and may change. Even if it would keep its value the reference
to the netdevice is not valid anymore when you free the skb as the
skb was queued and the refcnt acquired in __netifx_rx_schedule()
has been released again thus making it possible for the netdevice
to disappear.