[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <29F4ED941D916B48B88B4D2A4F3D1B9C01B09FCBCC@orsmsx509.amr.corp.intel.com>
Date: Mon, 21 Jun 2010 10:35:31 -0700
From: "Skidmore, Donald C" <donald.c.skidmore@...el.com>
To: Guillaume Gaudonville <guillaume.gaudonville@...nd.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>,
"Waskiewicz Jr, Peter P" <peter.p.waskiewicz.jr@...el.com>,
"Chilakala, Mallikarjuna" <mallikarjuna.chilakala@...el.com>
Subject: RE: [PATCH] kernel 2.6.35: ixgbe: skip non IPv4 packets in ATR
filter
>-----Original Message-----
>From: netdev-owner@...r.kernel.org [mailto:netdev-owner@...r.kernel.org] On
>Behalf Of Guillaume Gaudonville
>Sent: Monday, June 21, 2010 6:05 AM
>To: netdev@...r.kernel.org
>Cc: Kirsher, Jeffrey T; Waskiewicz Jr, Peter P; Chilakala, Mallikarjuna
>Subject: [PATCH] kernel 2.6.35: ixgbe: skip non IPv4 packets in ATR filter
>
>Hello,
>
>In driver ixgbe, ixgbe_atr may cause crashes for non-ipv4 packets. Just
>add a test to check skb->protocol:
>
> From fcb81aa89b6819f95349a4ed8c30f0629430aa1d Mon Sep 17 00:00:00 2001
>From: Guillaume Gaudonville <guillaume.gaudonville@...nd.com>
>Date: Thu, 17 Jun 2010 16:02:14 +0200
>Subject: [PATCH] ixgbe: skip non IPv4 packets in ATR filter
>
>It may crash on short packets due to ip_hdr() access.
>
>Signed-off-by: Guillaume Gaudonville <guillaume.gaudonville@...nd.com>
>---
> drivers/net/ixgbe/ixgbe_main.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
>diff --git a/drivers/net/ixgbe/ixgbe_main.c
>b/drivers/net/ixgbe/ixgbe_main.c
>index b2af2f6..3581dbe 100644
>--- a/drivers/net/ixgbe/ixgbe_main.c
>+++ b/drivers/net/ixgbe/ixgbe_main.c
>@@ -6019,7 +6019,6 @@ static void ixgbe_tx_queue(struct ixgbe_adapter
>*adapter,
> static void ixgbe_atr(struct ixgbe_adapter *adapter, struct sk_buff *skb,
> int queue, u32 tx_flags)
> {
>- /* Right now, we support IPv4 only */
> struct ixgbe_atr_input atr_input;
> struct tcphdr *th;
> struct iphdr *iph = ip_hdr(skb);
>@@ -6028,6 +6027,10 @@ static void ixgbe_atr(struct ixgbe_adapter
>*adapter, struct sk_buff *skb,
> u32 src_ipv4_addr, dst_ipv4_addr;
> u8 l4type = 0;
>
>+ /* Right now, we support IPv4 only */
>+ if (skb->protocol != htons(ETH_P_IP))
>+ return;
>+
> /* check if we're UDP or TCP */
> if (iph->protocol == IPPROTO_TCP) {
> th = tcp_hdr(skb);
>--
>1.5.6.5
>
>--
>Guillaume Gaudonville
>guillaume.gaudonville@...nd.com
>
>--
>To unsubscribe from this list: send the line "unsubscribe netdev" in
>the body of a message to majordomo@...r.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
This patch has been pulled into our internal tree for testing.
Thanks,
-Don
<donald.c.skidmore@...el.com>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists