From 3661172f5786a3d2ebe1d2244f1f08a95e1cfd09 Mon Sep 17 00:00:00 2001 From: Henning Schild Date: Mon, 18 Sep 2017 18:02:11 +0200 Subject: [PATCH] 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 986d58d84245e023a1a66ab6495b354b6b8cd2f0) --- drivers/net/ivshmem-net.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/drivers/net/ivshmem-net.c +++ b/drivers/net/ivshmem-net.c @@ -123,8 +123,12 @@ static void *ivshm_net_desc_data(struct { 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 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;