From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758551Ab3BGNI7 (ORCPT ); Thu, 7 Feb 2013 08:08:59 -0500 Received: from mx1.redhat.com ([209.132.183.28]:51374 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758369Ab3BGNIw (ORCPT ); Thu, 7 Feb 2013 08:08:52 -0500 Date: Thu, 7 Feb 2013 15:12:56 +0200 From: "Michael S. Tsirkin" To: netdev@vger.kernel.org Cc: Eilon Greenstein , Jeff Kirsher , Jesse Brandeburg , Bruce Allan , Carolyn Wyborny , Don Skidmore , Greg Rose , Peter P Waskiewicz Jr , Alex Duyck , John Ronciak , Tushar Dave , Jitendra Kalsaria , Sony Chacko , linux-driver@qlogic.com, John Fastabend , "David S. Miller" , Jacob Keller , linux-kernel@vger.kernel.org, e1000-devel@lists.sourceforge.net, bhutchings@solarflare.com, eric.dumazet@gmail.com Subject: [PATCHv2-net-3.8 0/3] fix kernel crash with macvtap on top of LRO Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Mutt-Fcc: =sent Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At the moment, macvtap crashes are observed if macvtap is attached to an interface with LRO enabled. The crash in question is BUG() in macvtap_skb_to_vnet_hdr. This happens because several drivers set gso_size but not gso_type in incoming skbs. This didn't use to be the case: with intel cards on 3.2 and older kernels, with qlogic - on 3.4 and older kernels, so it's a regression if not a recent one. The following patches fix this for qlogic, broadcom and intel drivers. I tested that the patch fixes the crash for ixgbe but don't have qlogic/broadcom hardware to test. I also only tested TCPv4. Please review, and consider for 3.8. Changes from v1: - added missing htons as suggested by Eric - backported the relevant bits from cbf1de72324a8105ddcc3d9ce9acbc613faea17e for bnx2x Michael S. Tsirkin (3): ixgbe: fix gso type qlcnic: set gso_type bnx2x: set gso_type drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 12 +++++------- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 8 ++++++-- drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 7 ++++++- 3 files changed, 17 insertions(+), 10 deletions(-) -- MST