Patchwork [CVE-2010-4263,Lucid] igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263

login
register
mail settings
Submitter Leann Ogasawara
Date March 17, 2011, 6:47 p.m.
Message ID <1300387621.1813.12.camel@emiko>
Download mbox | patch
Permalink /patch/87413/
State New
Headers show

Pull-request

git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git CVE-2010-4263

Comments

Leann Ogasawara - March 17, 2011, 6:47 p.m.
The following changes since commit 78006f719c80cc01424fb9a9d3bbd06eeba4dd13:
  Stefan Bader (1):
        Linux 2.6.32.33+drm33.15

are available in the git repository at:

  git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git CVE-2010-4263

Alexander Duyck (1):
      igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263

 drivers/net/igb/igb_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

From 6ca830ea2699dc4456805c1fa42795d892265e08 Mon Sep 17 00:00:00 2001
From: Alexander Duyck <alexander.h.duyck@intel.com>
Date: Tue, 23 Mar 2010 18:35:18 +0000
Subject: [PATCH] igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263

CVE-2010-4263

BugLink: http://bugs.launchpad.net/bugs/737024

This change makes it so that vlan_gro_receive is only used if vlans have been
registered to the adapter structure.  Previously we were just sending all vlan
tagged frames in via this function but this results in a null pointer
dereference when vlans are not registered.

[ This fixes bugzilla entry 15582 -Eric Dumazet]

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 31b24b955c3ebbb6f3008a6374e61cf7c05a193c)

Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>
---
 drivers/net/igb/igb_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Tim Gardner - March 17, 2011, 7:15 p.m.
On 03/17/2011 12:47 PM, Leann Ogasawara wrote:
> The following changes since commit 78006f719c80cc01424fb9a9d3bbd06eeba4dd13:
>    Stefan Bader (1):
>          Linux 2.6.32.33+drm33.15
>
> are available in the git repository at:
>
>    git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git CVE-2010-4263
>
> Alexander Duyck (1):
>        igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263
>
>   drivers/net/igb/igb_main.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
>  From 6ca830ea2699dc4456805c1fa42795d892265e08 Mon Sep 17 00:00:00 2001
> From: Alexander Duyck<alexander.h.duyck@intel.com>
> Date: Tue, 23 Mar 2010 18:35:18 +0000
> Subject: [PATCH] igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263
>
> CVE-2010-4263
>
> BugLink: http://bugs.launchpad.net/bugs/737024
>
> This change makes it so that vlan_gro_receive is only used if vlans have been
> registered to the adapter structure.  Previously we were just sending all vlan
> tagged frames in via this function but this results in a null pointer
> dereference when vlans are not registered.
>
> [ This fixes bugzilla entry 15582 -Eric Dumazet]
>
> Signed-off-by: Alexander Duyck<alexander.h.duyck@intel.com>
> Signed-off-by: Jeff Kirsher<jeffrey.t.kirsher@intel.com>
> Acked-by: Eric Dumazet<eric.dumazet@gmail.com>
> Signed-off-by: David S. Miller<davem@davemloft.net>
> (cherry picked from commit 31b24b955c3ebbb6f3008a6374e61cf7c05a193c)
>
> Signed-off-by: Leann Ogasawara<leann.ogasawara@canonical.com>
> ---
>   drivers/net/igb/igb_main.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
> index 4d0534d..4370842 100644
> --- a/drivers/net/igb/igb_main.c
> +++ b/drivers/net/igb/igb_main.c
> @@ -5011,7 +5011,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

Acked-by: Tim Gardner <tim.gardner@canonical.com>
Brad Figg - March 17, 2011, 9:29 p.m.
On 03/17/2011 11:47 AM, Leann Ogasawara wrote:
> The following changes since commit 78006f719c80cc01424fb9a9d3bbd06eeba4dd13:
>    Stefan Bader (1):
>          Linux 2.6.32.33+drm33.15
>
> are available in the git repository at:
>
>    git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git CVE-2010-4263
>
> Alexander Duyck (1):
>        igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263
>
>   drivers/net/igb/igb_main.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
>  From 6ca830ea2699dc4456805c1fa42795d892265e08 Mon Sep 17 00:00:00 2001
> From: Alexander Duyck<alexander.h.duyck@intel.com>
> Date: Tue, 23 Mar 2010 18:35:18 +0000
> Subject: [PATCH] igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263
>
> CVE-2010-4263
>
> BugLink: http://bugs.launchpad.net/bugs/737024
>
> This change makes it so that vlan_gro_receive is only used if vlans have been
> registered to the adapter structure.  Previously we were just sending all vlan
> tagged frames in via this function but this results in a null pointer
> dereference when vlans are not registered.
>
> [ This fixes bugzilla entry 15582 -Eric Dumazet]
>
> Signed-off-by: Alexander Duyck<alexander.h.duyck@intel.com>
> Signed-off-by: Jeff Kirsher<jeffrey.t.kirsher@intel.com>
> Acked-by: Eric Dumazet<eric.dumazet@gmail.com>
> Signed-off-by: David S. Miller<davem@davemloft.net>
> (cherry picked from commit 31b24b955c3ebbb6f3008a6374e61cf7c05a193c)
>
> Signed-off-by: Leann Ogasawara<leann.ogasawara@canonical.com>
> ---
>   drivers/net/igb/igb_main.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
> index 4d0534d..4370842 100644
> --- a/drivers/net/igb/igb_main.c
> +++ b/drivers/net/igb/igb_main.c
> @@ -5011,7 +5011,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

Acked-by: Brad Figg <brad.figg@canonical.com>
Tim Gardner - March 18, 2011, 1:29 a.m.
On 03/17/2011 12:47 PM, Leann Ogasawara wrote:
> The following changes since commit 78006f719c80cc01424fb9a9d3bbd06eeba4dd13:
>    Stefan Bader (1):
>          Linux 2.6.32.33+drm33.15
>
> are available in the git repository at:
>
>    git://kernel.ubuntu.com/ogasawara/ubuntu-lucid.git CVE-2010-4263
>
> Alexander Duyck (1):
>        igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263
>
>   drivers/net/igb/igb_main.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
>  From 6ca830ea2699dc4456805c1fa42795d892265e08 Mon Sep 17 00:00:00 2001
> From: Alexander Duyck<alexander.h.duyck@intel.com>
> Date: Tue, 23 Mar 2010 18:35:18 +0000
> Subject: [PATCH] igb: only use vlan_gro_receive if vlans are registered, CVE-2010-4263
>
> CVE-2010-4263
>
> BugLink: http://bugs.launchpad.net/bugs/737024
>
> This change makes it so that vlan_gro_receive is only used if vlans have been
> registered to the adapter structure.  Previously we were just sending all vlan
> tagged frames in via this function but this results in a null pointer
> dereference when vlans are not registered.
>
> [ This fixes bugzilla entry 15582 -Eric Dumazet]
>
> Signed-off-by: Alexander Duyck<alexander.h.duyck@intel.com>
> Signed-off-by: Jeff Kirsher<jeffrey.t.kirsher@intel.com>
> Acked-by: Eric Dumazet<eric.dumazet@gmail.com>
> Signed-off-by: David S. Miller<davem@davemloft.net>
> (cherry picked from commit 31b24b955c3ebbb6f3008a6374e61cf7c05a193c)
>
> Signed-off-by: Leann Ogasawara<leann.ogasawara@canonical.com>
> ---
>   drivers/net/igb/igb_main.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
> index 4d0534d..4370842 100644
> --- a/drivers/net/igb/igb_main.c
> +++ b/drivers/net/igb/igb_main.c
> @@ -5011,7 +5011,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

applied

Patch

diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 4d0534d..4370842 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -5011,7 +5011,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