From d4602833708f2548954ba030ea8026ef4cae9863 Mon Sep 17 00:00:00 2001 From: Henning Schild Date: Mon, 18 Sep 2017 18:02:11 +0200 Subject: ivshmem-net: set and check descriptor flags We do not support the use of any flags. Make sure the remote does not confuse us using flags. Signed-off-by: Henning Schild [Jan: Remove wrong removal of next field initialization] Signed-off-by: Jan Kiszka (cherry picked from commit 81ef582bb0aa6ab0c6206d0a3bc18b8af7b6e41b) --- drivers/net/ivshmem-net.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'drivers/net/ivshmem-net.c') diff --git a/drivers/net/ivshmem-net.c b/drivers/net/ivshmem-net.c index abc50553e644..9ecf1d0f0d2d 100644 --- a/drivers/net/ivshmem-net.c +++ b/drivers/net/ivshmem-net.c @@ -123,8 +123,12 @@ static void *ivshm_net_desc_data(struct ivshm_net *in, { u64 offs = READ_ONCE(desc->addr); u32 dlen = READ_ONCE(desc->len); + u16 flags = READ_ONCE(desc->flags); void *data; + if (flags) + return NULL; + if (offs >= in->shmlen) return NULL; @@ -317,6 +321,7 @@ static int ivshm_net_tx_frame(struct net_device *ndev, struct sk_buff *skb) desc->addr = buf - in->shm; desc->len = skb->len; + desc->flags = 0; avail = tx->last_avail_idx++ & (vr->num - 1); vr->avail->ring[avail] = desc_idx; -- cgit v1.2.3