summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJason Wang <jasowang@redhat.com>2018-03-09 14:50:34 +0800
committerDavid S. Miller <davem@davemloft.net>2018-03-09 12:02:59 -0500
commit3a4030761ea88ff439030ca98e3094b9900e96b7 (patch)
treec0d48a1da4ce356c2ce2037ba1b4fc210abba7e6 /include
parent303fd71b37fb710b26f5ff5444029d62cfd627bd (diff)
downloadlinux-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.h4
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 */