From 0005aa2e770d04070413185d72ae834becc41c16 Mon Sep 17 00:00:00 2001 From: Eric Dumazet Date: Thu, 13 Oct 2011 11:20:08 +0000 Subject: [PATCH] --- yaml --- r: 266683 b: refs/heads/master c: 96cd8951684adaa5fd72952adef532d0b42f70e1 h: refs/heads/master i: 266681: 6e0498559e9bb9b61fd5eba968454cc98ca01b91 266679: 8128149b471df7d6ace8c2e28c3e014b93abcbee v: v3 --- [refs] | 2 +- trunk/drivers/net/ethernet/faraday/ftmac100.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index dfac97020f2a..c5c8590acda3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e7e5a4033f765e2a37095cd0a73261c99840f77e +refs/heads/master: 96cd8951684adaa5fd72952adef532d0b42f70e1 diff --git a/trunk/drivers/net/ethernet/faraday/ftmac100.c b/trunk/drivers/net/ethernet/faraday/ftmac100.c index 9bd7746cbfcf..a127cb2476c7 100644 --- a/trunk/drivers/net/ethernet/faraday/ftmac100.c +++ b/trunk/drivers/net/ethernet/faraday/ftmac100.c @@ -439,7 +439,10 @@ static bool ftmac100_rx_packet(struct ftmac100 *priv, int *processed) skb_fill_page_desc(skb, 0, page, 0, length); skb->len += length; skb->data_len += length; - skb->truesize += length; + + /* page might be freed in __pskb_pull_tail() */ + if (length > 64) + skb->truesize += PAGE_SIZE; __pskb_pull_tail(skb, min(length, 64)); ftmac100_alloc_rx_page(priv, rxdes, GFP_ATOMIC);