9b48605
From: Prasad J Pandit <pjp@fedoraproject.org>
9b48605
Date: Thu, 7 Apr 2016 15:56:02 +0530
9b48605
Subject: [PATCH] net: mipsnet: check packet length against buffer
9b48605
9b48605
When receiving packets over MIPSnet network device, it uses
9b48605
receive buffer of size 1514 bytes. In case the controller
9b48605
accepts large(MTU) packets, it could lead to memory corruption.
9b48605
Add check to avoid it.
9b48605
9b48605
Reported by: Oleksandr Bazhaniuk <oleksandr.bazhaniuk@intel.com>
9b48605
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
9b48605
Signed-off-by: Jason Wang <jasowang@redhat.com>
9b48605
9b48605
(cherry picked from commit 3af9187fc6caaf415ab9c0c6d92c9678f65cb17f)
9b48605
---
9b48605
 hw/net/mipsnet.c | 3 +++
9b48605
 1 file changed, 3 insertions(+)
9b48605
9b48605
diff --git a/hw/net/mipsnet.c b/hw/net/mipsnet.c
9b48605
index c813e0c..e0973f2 100644
9b48605
--- a/hw/net/mipsnet.c
9b48605
+++ b/hw/net/mipsnet.c
9b48605
@@ -82,6 +82,9 @@ static ssize_t mipsnet_receive(NetClientState *nc, const uint8_t *buf, size_t si
9b48605
     if (!mipsnet_can_receive(nc))
9b48605
         return -1;
9b48605
 
9b48605
+    if (size >= sizeof(s->rx_buffer)) {
9b48605
+        return 0;
9b48605
+    }
9b48605
     s->busy = 1;
9b48605
 
9b48605
     /* Just accept everything. */