summaryrefslogtreecommitdiff
path: root/net/ipv4/fib_semantics.c
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2022-04-08 09:24:23 +0300
committerJakub Kicinski <kuba@kernel.org>2022-04-08 09:24:23 +0300
commitdc2e0617f1fd0c5a6f601502b4379113a84ffecf (patch)
treed6959aa21296841b6ec543291cd66ed66a6e5c33 /net/ipv4/fib_semantics.c
parent27a5a5685d373cd8c18b1d83f42a83e5a2f93e6c (diff)
parent73b193f265096080eac866b9a852627b475384fc (diff)
downloadlinux-dc2e0617f1fd0c5a6f601502b4379113a84ffecf.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
No conflicts. Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv4/fib_semantics.c')
-rw-r--r--net/ipv4/fib_semantics.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index cc8e84ef2ae4..ccb62038f6a4 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -889,8 +889,13 @@ int fib_nh_match(struct net *net, struct fib_config *cfg, struct fib_info *fi,
}
if (cfg->fc_oif || cfg->fc_gw_family) {
- struct fib_nh *nh = fib_info_nh(fi, 0);
+ struct fib_nh *nh;
+
+ /* cannot match on nexthop object attributes */
+ if (fi->nh)
+ return 1;
+ nh = fib_info_nh(fi, 0);
if (cfg->fc_encap) {
if (fib_encap_match(net, cfg->fc_encap_type,
cfg->fc_encap, nh, cfg, extack))