# Re: \[PATCH\] af\_unix: fix holding spinlock in oob handling

- From: Eric Dumazet \<hidden\>
- Date: 2021-08-12 20:33:45 
- List: netdev
- Page: https://ratatoskr.run/netdev/2021/08/11209275
- Thread: https://ratatoskr.run/netdev/2021/08/11209219/t.md

```text
On Thu, Aug 12, 2021 at 7:37 PM Shoaib Rao [ref] wrote:
>
>
> On 8/12/21 12:53 AM, Eric Dumazet wrote:
> >          if (ousk->oob_skb)
> > -               kfree_skb(ousk->oob_skb);
> > +               consume_skb(ousk->oob_skb);
>
> Should I be using consume_skb(), as the skb is not being consumed, the
> ref count is decremented and if zero skb will be freed.
>

consume_skb() and kfree_skb() have the same ref count handling.

The difference is that kfree_skb() is used by convention when a packet
is dropped

Admins can look closely at packet drops with drop_monitor, or :

perf record -a -g -e skb:kfree_skb sleep 10
perf report

In your case, the oob_skb is not really dropped. It is replaced by
another one, it is part of the normal operation.
```
