From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752007AbbCWGLf (ORCPT ); Mon, 23 Mar 2015 02:11:35 -0400 Received: from mail-la0-f50.google.com ([209.85.215.50]:35434 "EHLO mail-la0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751269AbbCWGLc (ORCPT ); Mon, 23 Mar 2015 02:11:32 -0400 From: Alexander Drozdov To: "David S. Miller" , Jonathan Corbet Cc: Daniel Borkmann , Eric Dumazet , Al Viro , Willem de Bruijn , "Michael S. Tsirkin" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Tobias Klauser , linux-doc@vger.kernel.org, linux-api@vger.kernel.org, Alexander Drozdov Subject: [PATCH V2 1/2] af_packet: make tpacket_rcv to not set status value before run_filter Date: Mon, 23 Mar 2015 09:11:12 +0300 Message-Id: <1427091073-8129-1-git-send-email-al.drozdov@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1426752102-12786-2-git-send-email-al.drozdov@gmail.com> References: <1426752102-12786-2-git-send-email-al.drozdov@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It is just an optimization. We don't need the value of status variable if the packet is filtered. Signed-off-by: Alexander Drozdov --- net/packet/af_packet.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index f8db706..6ecf8dd 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -1910,14 +1910,15 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev, } } - if (skb->ip_summed == CHECKSUM_PARTIAL) - status |= TP_STATUS_CSUMNOTREADY; - snaplen = skb->len; res = run_filter(skb, sk, snaplen); if (!res) goto drop_n_restore; + + if (skb->ip_summed == CHECKSUM_PARTIAL) + status |= TP_STATUS_CSUMNOTREADY; + if (snaplen > res) snaplen = res; -- 1.9.1