From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753451AbbCSICV (ORCPT ); Thu, 19 Mar 2015 04:02:21 -0400 Received: from mail-lb0-f172.google.com ([209.85.217.172]:34021 "EHLO mail-lb0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750977AbbCSICP (ORCPT ); Thu, 19 Mar 2015 04:02:15 -0400 From: Alexander Drozdov To: "David S. Miller" Cc: Daniel Borkmann , Eric Dumazet , Al Viro , Willem de Bruijn , "Michael S. Tsirkin" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Alexander Drozdov Subject: [PATCH 1/2] af_packet: make tpacket_rcv to not set status value before run_filter Date: Thu, 19 Mar 2015 11:01:41 +0300 Message-Id: <1426752102-12786-1-git-send-email-al.drozdov@gmail.com> X-Mailer: git-send-email 1.9.1 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