diff options
| author | David Vrabel <[email protected]> | 2015-03-04 11:14:47 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2015-03-05 19:58:17 +0000 |
| commit | 49d9991a18f9aae7b14abbd9c1cc87555330a769 (patch) | |
| tree | f642411098ecbf508d8303abdaacaa7e39642482 /drivers/net/xen-netback/interface.c | |
| parent | xen-netback: return correct ethtool stats (diff) | |
| download | kernel-49d9991a18f9aae7b14abbd9c1cc87555330a769.tar.gz kernel-49d9991a18f9aae7b14abbd9c1cc87555330a769.zip | |
xen-netback: unref frags when handling a from-guest skb with a frag list
Every time a VIF is destroyed up to 256 pages may be leaked if packets
with more than MAX_SKB_FRAGS frags were transmitted from the guest.
Even worse, if another user of ballooned pages allocated one of these
ballooned pages it would not handle the unexpectedly >1 page count
(e.g., gntdev would deadlock when unmapping a grant because the page
count would never reach 1).
When handling a from-guest skb with a frag list, unref the frags
before releasing them so they are freed correctly when the VIF is
destroyed.
Signed-off-by: David Vrabel <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'drivers/net/xen-netback/interface.c')
0 files changed, 0 insertions, 0 deletions
