From patchwork Tue Feb 25 10:54:11 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans Schillstrom X-Patchwork-Id: 323927 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 275572C023F for ; Tue, 25 Feb 2014 22:01:06 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752785AbaBYLBB (ORCPT ); Tue, 25 Feb 2014 06:01:01 -0500 Received: from smtp-gw21.han.skanova.net ([81.236.55.21]:40490 "EHLO smtp-gw21.han.skanova.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752142AbaBYLBA (ORCPT ); Tue, 25 Feb 2014 06:01:00 -0500 X-Greylist: delayed 380 seconds by postgrey-1.27 at vger.kernel.org; Tue, 25 Feb 2014 06:00:59 EST Received: from mailer (213.65.94.224) by smtp-gw21.han.skanova.net (8.5.133) id 5282018002C19871; Tue, 25 Feb 2014 11:54:18 +0100 Received: from hawk.mlab.se (hawk.mlab.se [172.24.1.21]) by mailer (8.14.4/8.14.4) with ESMTP id s1PAsG9J026923; Tue, 25 Feb 2014 11:54:16 +0100 Received: from hawk.mlab.se (localhost [127.0.0.1]) by hawk.mlab.se (8.14.5/8.14.5) with ESMTP id s1PAsGrG012732; Tue, 25 Feb 2014 11:54:16 +0100 Received: (from hans@localhost) by hawk.mlab.se (8.14.5/8.14.3/Submit) id s1PAsEcK012440; Tue, 25 Feb 2014 11:54:14 +0100 From: Hans Schillstrom To: netdev@vger.kernel.org, davem@davemloft.net, ja@ssi.bg, aatteka@nicira.com, kaber@trash.net, ard@telegraafnet.nl Cc: Hans Schillstrom Subject: [PATCH 1/1] ipv6: ipv6_find_hdr restore prev functionality Date: Tue, 25 Feb 2014 11:54:11 +0100 Message-Id: <1393325651-11236-1-git-send-email-hans@schillstrom.com> X-Mailer: git-send-email 1.7.11.7 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The commit 9195bb8e381d81d5a315f911904cdf0cfcc919b8 broke ipv6_find_hdr() for ipvs and possible also nft_exthdr_eval() This patch simple exit if specified header is found. Signed-off-by: Hans Schillstrom --- net/ipv6/exthdrs_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ipv6/exthdrs_core.c b/net/ipv6/exthdrs_core.c index 140748d..8af3eb5 100644 --- a/net/ipv6/exthdrs_core.c +++ b/net/ipv6/exthdrs_core.c @@ -212,7 +212,7 @@ int ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset, found = (nexthdr == target); if ((!ipv6_ext_hdr(nexthdr)) || nexthdr == NEXTHDR_NONE) { - if (target < 0) + if (target < 0 || found) break; return -ENOENT; }