On Fri, Apr 9, 2021 at 12:12 PM Xie He <xie.he.0...@gmail.com> wrote: > > This is exactly what I'm talking about. "skb_pfmemalloc_protocol" > cannot guarantee pfmemalloc skbs are not delivered to unrelated > protocols, because "__netif_receive_skb" will sometimes treat > pfmemalloc skbs as normal skbs.
> I'm not sure if you understand what I'm saying. Please look at the > code of "__netif_receive_skb" and see what will happen when > "sk_memalloc_socks()" is false and "skb_pfmemalloc(skb)" is true. Do you see the problem now? Just think what happens when "skb_pfmemalloc(skb)" is true and "sk_memalloc_socks()" has just changed to "false", and whether in this case "skb_pfmemalloc_protocol" still takes any effect.