From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0C536C10F03 for ; Wed, 24 Apr 2019 01:05:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C3DA0218D2 for ; Wed, 24 Apr 2019 01:05:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556067940; bh=0gzeJMqjNS+cpMhSOgcmQ8rqsMndlrLtIRB26reGBtg=; h=From:To:Cc:Subject:Date:List-ID:From; b=PL6fa3e0dhWzfs2VfW8izt/MvQFtjGqHDmNArcwEQzPhUjCDigQ3SCJodFIVnQzSi VnYUiRYZSskU95aflAfY197d349EqPJtqtUwY06WLkoZ7rqDO+6KZRh8C1GnjY4SdG dYRGYmVbIms2VhxHplKqkbhPo/vZ6Y0mXBjmiTuk= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729079AbfDXBFj (ORCPT ); Tue, 23 Apr 2019 21:05:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:33318 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728536AbfDXBFj (ORCPT ); Tue, 23 Apr 2019 21:05:39 -0400 Received: from kenny.it.cumulusnetworks.com. (fw.cumulusnetworks.com [216.129.126.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 00B242148D; Wed, 24 Apr 2019 01:05:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556067939; bh=0gzeJMqjNS+cpMhSOgcmQ8rqsMndlrLtIRB26reGBtg=; h=From:To:Cc:Subject:Date:From; b=SyZFrieYfuUutxBm5OP8oKQ9nDqwixNrxEhw1RhOglkSUj6SkYhK+J8szeBaM9Nf1 wDjnwKIXMq2+tU2RweXJECaDlw0L3yzQBmxtRC/d9Fffl1PSvMMa00bgSTEwgiA38U I0ryE4BaH+CkSITDWoS7fFWdTKYuVE3cIXnQq/Vg= From: David Ahern To: davem@davemloft.net Cc: netdev@vger.kernel.org, David Ahern Subject: [PATCH net-next] ipv6: fib6_rule_action_alt needs to return -EAGAIN Date: Tue, 23 Apr 2019 18:06:30 -0700 Message-Id: <20190424010630.26894-1-dsahern@kernel.org> X-Mailer: git-send-email 2.11.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: David Ahern fib rule actions should return -EAGAIN for the rules to continue to the next one. A recent change overwrote err with the lookup always returning 0 (future change will make it more like IPv4) which means the rules stopped at the first (e.g., local table lookup only). Catch and reset err to -EAGAIN. Fixes: effda4dd97e87 ("ipv6: Pass fib6_result to fib lookups") Signed-off-by: David Ahern --- net/ipv6/fib6_rules.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index 40ca850d30c9..d7bc561721ad 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c @@ -163,7 +163,7 @@ static int fib6_rule_action_alt(struct fib_rule *rule, struct flowi *flp, struct flowi6 *flp6 = &flp->u.ip6; struct net *net = rule->fr_net; struct fib6_table *table; - int err = -EAGAIN, *oif; + int err, *oif; u32 tb_id; switch (rule->action) { @@ -188,6 +188,8 @@ static int fib6_rule_action_alt(struct fib_rule *rule, struct flowi *flp, if (!err && res->f6i != net->ipv6.fib6_null_entry) err = fib6_rule_saddr(net, rule, flags, flp6, res->nh->fib_nh_dev); + else + err = -EAGAIN; return err; } -- 2.11.0