Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 2715

kernel-2.6.18-238.el5.src.rpm

From: Stefan Assmann <sassmann@redhat.com>
Date: Tue, 7 Dec 2010 13:23:29 -0500
Subject: [net] igb: only use vlan_gro_receive if vlans registered
Message-id: <4CFE3551.9070105@redhat.com>
Patchwork-id: 29938
O-Subject: [RHEL 5.6 PATCH] igb: only use vlan_gro_receive if vlans are
	registered
Bugzilla: 660190
CVE: CVE-2010-4263
RH-Acked-by: Michal Schmidt <mschmidt@redhat.com>
RH-Acked-by: Ivan Vecera <ivecera@redhat.com>
RH-Acked-by: Dean Nelson <dnelson@redhat.com>
RH-Acked-by: Andy Gospodarek <gospo@redhat.com>

Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=660190

Description:
If igb's SRIOV and promiscuous mode are enabled and the interface
receives a tag VLAN packet, the system panics.

Upstream Status:
http://git.kernel.org/linus/31b24b955c3ebbb6f3008a6374e61cf7c05a193c

Brew Build:
http://brewweb.devel.redhat.com/brew/taskinfo?taskID=2947179

Test Status:
Could not reproduce this locally with a 82580 NIC, but the fix is
straight forward.

  Stefan

diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index c6bdb38..0da7188 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -5107,7 +5107,7 @@ static void igb_receive_skb(struct igb_q_vector *q_vector,
 {
 	struct igb_adapter *adapter = q_vector->adapter;
 
-	if (vlan_tag)
+	if (vlan_tag && adapter->vlgrp)
 		vlan_gro_receive(&q_vector->napi, adapter->vlgrp,
 		                 vlan_tag, skb);
 	else