From patchwork Sun Jan 3 00:25:13 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aaron Conole X-Patchwork-Id: 562121 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4F72D14090A for ; Sun, 3 Jan 2016 11:26:01 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=bytheb-org.20150623.gappssmtp.com header.i=@bytheb-org.20150623.gappssmtp.com header.b=UyjRumiD; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751569AbcACAZi (ORCPT ); Sat, 2 Jan 2016 19:25:38 -0500 Received: from mail-qk0-f174.google.com ([209.85.220.174]:35792 "EHLO mail-qk0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751047AbcACAZg (ORCPT ); Sat, 2 Jan 2016 19:25:36 -0500 Received: by mail-qk0-f174.google.com with SMTP id n135so118307770qka.2 for ; Sat, 02 Jan 2016 16:25:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytheb-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=QKERweLxoC85bWg511dG4vljQoNkwqc39HgvFS8R030=; b=UyjRumiDGdnBechvIhl3nwO6I2daLbHnKuqjlyr/YY2EF5YJlQEm3ppnrrmeeAF19D 9oKQdwBE+kAdtKRvL5b+uJhLl5J0s1Lzy7P7Ah9gRmYL+WddgFjsODhrekMHqCdIe45Q 9NuKnDBQvrSYeVlKWIAxwZBjKS92UZQVya6kCTNVhU2lOm1VBYWEGA1MSqgVT1+JvKh5 QufqdrCYMDQKpd2BIpR82G6/ws0dPBtwrErpRboG+FLIzASGb5jBRvuAUA6W4Mw5++Xv /aZZ58EGMV7JnrIaBfjm25jM0VYM1ivhuu031Qoowqv+uOldrbN0973oQT0Czc9Gi/VS mOPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=QKERweLxoC85bWg511dG4vljQoNkwqc39HgvFS8R030=; b=LoNLwvNV3GHC0qRG5QJmH9xMLzmdqZ7YHc/VP/sIdrEbvotTn1oMJ25BEx51iD5AMj Adx3kFtEvjBbSXcDHoOHLRN/JYBYg1xV2u4aTXXO6EfW9BNZ0OLgb+T+/iFZ2GE6U6Sq DrZ5Ru16DkLQG0CKGb8XOnGboLksDxROm/xu9fslgeD91zCa7nVtZr2mI+ztbcGP+ZBW yf1hHgn9OK4GIAeX2hkxT0nFvJ+9i4758ECXdOoguTcLkJxUXrQUz26tsomDk43DPlgp ISwYQ1NTAwWpwGzO7RxpswyYIiGWF6+lgkPQADHYld44VAiApJUuAl7YfMkBEIOL1HNu BxWg== X-Gm-Message-State: ALoCoQnUL1icb1wWVcNzUnG5oNG9RwRuvLImTj7OmxRH1DpA0SzhL17v9gWYLXs1/zmBVV0nFk1DZQ4MRB5hUzPpKfV/nDvLpw== X-Received: by 10.55.78.131 with SMTP id c125mr59635802qkb.71.1451780735961; Sat, 02 Jan 2016 16:25:35 -0800 (PST) Received: from trashheap.supergoodfun.com (c-50-157-177-198.hsd1.ma.comcast.net. [50.157.177.198]) by smtp.gmail.com with ESMTPSA id f66sm37450247qkb.5.2016.01.02.16.25.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 02 Jan 2016 16:25:35 -0800 (PST) From: Aaron Conole To: netdev@vger.kernel.org Cc: Eric Dumazet , Aaron Conole Subject: [PATCH next] net/core/dev: Warn on an impossibly short offload frame Date: Sat, 2 Jan 2016 19:25:13 -0500 Message-Id: <1451780713-4098-1-git-send-email-aconole@bytheb.org> X-Mailer: git-send-email 2.6.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When signaling that a GRO frame is ready to be processed, the network stack correctly checks length and aborts processing when a frame is less than 14 bytes. However, such a condition is really indicative of a broken driver, and should be loudly signaled, rather than silently dropped as the case is today. Convert the condition to use WARN_ON() to ensure that the stack loudly complains about such broken drivers. Signed-off-by: Aaron Conole --- net/core/dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c index 914b4a2..8af4e29 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -4579,7 +4579,7 @@ static struct sk_buff *napi_frags_skb(struct napi_struct *napi) eth = skb_gro_header_fast(skb, 0); if (unlikely(skb_gro_header_hard(skb, hlen))) { eth = skb_gro_header_slow(skb, hlen, 0); - if (unlikely(!eth)) { + if (WARN_ON(!eth)) { napi_reuse_skb(napi, skb); return NULL; }