This is a note to let you know that I've just added the patch titled gianfar: Do not reuse pages from emergency reserve to the 4.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: gianfar-do-not-reuse-pages-from-emergency-reserve.patch and it can be found in the queue-4.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Mon Jul 3 11:54:13 CEST 2017 From: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed, 18 Jan 2017 19:44:42 -0800 Subject: gianfar: Do not reuse pages from emergency reserve From: Eric Dumazet <edumazet@xxxxxxxxxx> [ Upstream commit 69fed99baac186013840ced3524562841296034f ] A driver using dev_alloc_page() must not reuse a page that had to use emergency memory reserve. Otherwise all packets using this page will be immediately dropped, unless for very specific sockets having SOCK_MEMALLOC bit set. This issue might be hard to debug, because only a fraction of the RX ring buffer would suffer from drops. Fixes: 75354148ce69 ("gianfar: Add paged allocation and Rx S/G") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Acked-by: Claudiu Manoil <claudiu.manoil@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/ethernet/freescale/gianfar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -2951,7 +2951,7 @@ static bool gfar_add_rx_frag(struct gfar } /* try reuse page */ - if (unlikely(page_count(page) != 1)) + if (unlikely(page_count(page) != 1 || page_is_pfmemalloc(page))) return false; /* change offset to the other half */ Patches currently in stable-queue which might be from edumazet@xxxxxxxxxx are queue-4.9/gianfar-do-not-reuse-pages-from-emergency-reserve.patch queue-4.9/fix-an-intermittent-pr_emerg-warning-about-lo-becoming-free.patch queue-4.9/netfilter-xt_tcpmss-add-more-sanity-tests-on-tcph-doff.patch queue-4.9/ipv6-release-dst-on-error-in-ip6_dst_lookup_tail.patch queue-4.9/igmp-acquire-pmc-lock-for-ip_mc_clear_src.patch