Messages in this thread | | | Date | Thu, 7 Feb 2013 15:12:56 +0200 | From | "Michael S. Tsirkin" <> | Subject | [PATCHv2-net-3.8 0/3] fix kernel crash with macvtap on top of LRO |
| |
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
| |