summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorHenning Schild <henning.schild@siemens.com>2017-09-18 18:02:11 +0200
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commitd4602833708f2548954ba030ea8026ef4cae9863 (patch)
tree05c500941c1dd5d7aef73d14eb38736dd57c2884 /drivers/net
parent656f8486b5f9d6cc57be129b608118805bb412cf (diff)
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 <henning.schild@siemens.com> [Jan: Remove wrong removal of next field initialization] Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> (cherry picked from commit 81ef582bb0aa6ab0c6206d0a3bc18b8af7b6e41b)
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ivshmem-net.c5
1 files changed, 5 insertions, 0 deletions
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;