From: Eric Dumazet <eric.duma...@gmail.com> Date: Tue, 29 Sep 2015 18:52:25 -0700
> From: Eric Dumazet <eduma...@google.com> > > Greg reported crashes hitting the following check in __sk_backlog_rcv() > > BUG_ON(!sock_flag(sk, SOCK_MEMALLOC)); > > The pfmemalloc bit is currently checked in sk_filter(). > > This works correctly for TCP, because sk_filter() is ran in > tcp_v[46]_rcv() before hitting the prequeue or backlog checks. > > For UDP or other protocols, this does not work, because the sk_filter() > is ran from sock_queue_rcv_skb(), which might be called _after_ backlog > queuing if socket is owned by user by the time packet is processed by > softirq handler. > > Fixes: b4b9e35585089 ("netvm: set PF_MEMALLOC as appropriate during SKB > processing") > Signed-off-by: Eric Dumazet <eduma...@google.com> > Reported-by: Greg Thelen <gthe...@google.com> Applied, thanks Eric. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html