Re: [PATCH] netvm: check for page == NULL when propogating the skb->pfmemalloc flag
From: David Miller <davem@davemloft.net>
Date: 2012-08-08 22:50:49
Also in:
linux-mm, netdev, xen-devel
From: David Miller <davem@davemloft.net>
Date: 2012-08-08 22:50:49
Also in:
linux-mm, netdev, xen-devel
From: Mel Gorman <mgorman@suse.de> Date: Tue, 7 Aug 2012 09:55:55 +0100
Commit [c48a11c7: netvm: propagate page->pfmemalloc to skb] is responsible for the following bug triggered by a xen network driver
...
The problem is that the xenfront driver is passing a NULL page to __skb_fill_page_desc() which was unexpected. This patch checks that there is a page before dereferencing. Reported-and-Tested-by: Konrad Rzeszutek Wilk <redacted> Signed-off-by: Mel Gorman <mgorman@suse.de>
That call to __skb_fill_page_desc() in xen-netfront.c looks completely bogus. It's the only driver passing NULL here. That whole song and dance figuring out what to do with the head fragment page, depending upon whether the length is greater than the RX_COPY_THRESHOLD, is completely unnecessary. Just use something like a call to __pskb_pull_tail(skb, len) and all that other crap around that area can simply be deleted.