On Tue, 2014-04-01 at 12:20 -0700, Eric W. Biederman wrote: > Currently netpoll and skb_release_head_state assume that a skb is > freeable in hard irq context except when skb->destructor is set. > > The reality is far from this. So add a function skb_irq_freeable to > compute the full test and in the process be the living documentation > of what the requirements are of actually freeing a skb in hard irq > context. > > Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> > --- > include/linux/skbuff.h | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h > index 18ef0224fb6a..113fee1b7b63 100644 > --- a/include/linux/skbuff.h > +++ b/include/linux/skbuff.h > @@ -2833,6 +2833,19 @@ static inline void skb_init_secmark(struct sk_buff *skb) > { } > #endif > > +static inline bool skb_irq_freeable(struct sk_buff *skb) > +{ This probably should be 'const struct sk_buff *skb' Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html