From patchwork Mon Jul 23 16:28:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 947864 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="V2EvbZdI"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 41Z6PH27vnz9s0n for ; Tue, 24 Jul 2018 02:28:35 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388845AbeGWRad (ORCPT ); Mon, 23 Jul 2018 13:30:33 -0400 Received: from mail-pg1-f195.google.com ([209.85.215.195]:37533 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388112AbeGWRac (ORCPT ); Mon, 23 Jul 2018 13:30:32 -0400 Received: by mail-pg1-f195.google.com with SMTP id n7-v6so750421pgq.4 for ; Mon, 23 Jul 2018 09:28:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=N4H3o6HwmGX15fKQVOHLtjFAChR3hEe0enz3Gjh8A2s=; b=V2EvbZdIADIFpMW8TAMrzF+/k4fzSracz5SFIqdz6RnbYf9igTC4xCC9QM546rPoRC MTBhl/A2F+pRuEOblA0WIRq+Uocqi+j7TowgVuhW44ShiQxa8CnMkVvqS55AHA36NC9c ZtVfCvRGs8kS+xP76vG19kq9KB3CYCTUTYrhhNJaqpieiLQuFrCNvBwboGE7tgqvSm6t FhsnGTAUArjhxpjRbRua/dACMsx0njoMsshnuF9LGpGxbtDOfHQicORAmgH32hrYj/Ip 986GILENB5JO7qkaFgTP5EIYfl8YvVutgNeOkQ7XSfHY/EqOiIfJjacADtSzgk7dvfSN kPtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=N4H3o6HwmGX15fKQVOHLtjFAChR3hEe0enz3Gjh8A2s=; b=t8Hel5t0OFo19BhY1HCTGf8Fk+feB5x6lq6yUEtTnRvuczlYNxJVqk1B/Z/7p5+M5I jvrUxtLx1/+VQB+ohXF4zL/rpfgEq4oW9dTT8rxhI2lUlm7UTcZDHR+0uvqJ1BPk3tMf BFqhxSaxQjBu9sZTxFPxI+8rStH2JDYqzY90J+QkdF2/xNGaOZOuPYQqnEcgNlrVceAv E1djs1jQz+eh403AEco6tl9HXdiaRue5wtFOrF7EB0zz2m5OxlRZ1anSKqSZpGqlZpPo huKi6f/SAZDSDLiqKFj5TIAgNsiiiDt9R77Rf0eOxyrThI+hM31ynu3gIRz0E9oYM7a5 0Yhw== X-Gm-Message-State: AOUpUlF1puKctUK99zoHVI+I61rXyJDfrT0pZj+IYN6zUrwWpD1hunDo UxZ2oLDUofweKKHRsFtlgANiFQ== X-Google-Smtp-Source: AAOMgpdmNRs5dnHoZB8vLKlI9rO4XycuT4TgGN2MXsMV2Msxs/Ec762EfSNd+r54bZjejdyPRS2npA== X-Received: by 2002:a63:c60:: with SMTP id 32-v6mr12939971pgm.155.1532363312357; Mon, 23 Jul 2018 09:28:32 -0700 (PDT) Received: from localhost ([2620:15c:2c4:201:f5a:7eca:440a:3ead]) by smtp.gmail.com with ESMTPSA id n80-v6sm15472024pfb.95.2018.07.23.09.28.31 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 23 Jul 2018 09:28:31 -0700 (PDT) From: Eric Dumazet To: "David S . Miller" , Juha-Matti Tilli , Yuchung Cheng , Soheil Hassas Yeganeh Cc: netdev , Eric Dumazet , Eric Dumazet Subject: [PATCH net 4/5] tcp: call tcp_drop() from tcp_data_queue_ofo() Date: Mon, 23 Jul 2018 09:28:20 -0700 Message-Id: <20180723162821.11556-5-edumazet@google.com> X-Mailer: git-send-email 2.18.0.233.g985f88cf7e-goog In-Reply-To: <20180723162821.11556-1-edumazet@google.com> References: <20180723162821.11556-1-edumazet@google.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In order to be able to give better diagnostics and detect malicious traffic, we need to have better sk->sk_drops tracking. Fixes: 9f5afeae5152 ("tcp: use an RB tree for ooo receive queue") Signed-off-by: Eric Dumazet Acked-by: Soheil Hassas Yeganeh Acked-by: Yuchung Cheng --- net/ipv4/tcp_input.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 78068b902e7bca6e60cbe562f1554fc33b43c872..b062a76922384f6199563af7cf30a30c5baa7601 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -4510,7 +4510,7 @@ static void tcp_data_queue_ofo(struct sock *sk, struct sk_buff *skb) /* All the bits are present. Drop. */ NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPOFOMERGE); - __kfree_skb(skb); + tcp_drop(sk, skb); skb = NULL; tcp_dsack_set(sk, seq, end_seq); goto add_sack; @@ -4529,7 +4529,7 @@ static void tcp_data_queue_ofo(struct sock *sk, struct sk_buff *skb) TCP_SKB_CB(skb1)->end_seq); NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPOFOMERGE); - __kfree_skb(skb1); + tcp_drop(sk, skb1); goto merge_right; } } else if (tcp_try_coalesce(sk, skb1,