diff options
author | Jason Wang <jasowang@redhat.com> | 2018-03-09 14:50:34 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-09 12:02:59 -0500 |
commit | 3a4030761ea88ff439030ca98e3094b9900e96b7 (patch) | |
tree | c0d48a1da4ce356c2ce2037ba1b4fc210abba7e6 /include | |
parent | 303fd71b37fb710b26f5ff5444029d62cfd627bd (diff) | |
download | linux-3a4030761ea88ff439030ca98e3094b9900e96b7.tar.gz linux-3a4030761ea88ff439030ca98e3094b9900e96b7.tar.bz2 linux-3a4030761ea88ff439030ca98e3094b9900e96b7.zip |
vhost_net: examine pointer types during un-producing
After commit fc72d1d54dd9 ("tuntap: XDP transmission"), we can
actually queueing XDP pointers in the pointer ring, so we should
examine the pointer type before freeing the pointer.
Fixes: fc72d1d54dd9 ("tuntap: XDP transmission")
Reported-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/if_tun.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/if_tun.h b/include/linux/if_tun.h index c5b0a75a7812..fd00170b494f 100644 --- a/include/linux/if_tun.h +++ b/include/linux/if_tun.h @@ -25,6 +25,7 @@ struct ptr_ring *tun_get_tx_ring(struct file *file); bool tun_is_xdp_buff(void *ptr); void *tun_xdp_to_ptr(void *ptr); void *tun_ptr_to_xdp(void *ptr); +void tun_ptr_free(void *ptr); #else #include <linux/err.h> #include <linux/errno.h> @@ -50,5 +51,8 @@ static inline void *tun_ptr_to_xdp(void *ptr) { return NULL; } +static inline void tun_ptr_free(void *ptr) +{ +} #endif /* CONFIG_TUN */ #endif /* __IF_TUN_H */ |