|
Packit Service |
da4517 |
diff -Nupr src.orig/net/ipv4/fib_frontend.c src/net/ipv4/fib_frontend.c
|
|
Packit Service |
da4517 |
--- src.orig/net/ipv4/fib_frontend.c 2017-09-22 16:52:10.646110299 -0400
|
|
Packit Service |
da4517 |
+++ src/net/ipv4/fib_frontend.c 2017-09-22 16:55:14.395870305 -0400
|
|
Packit Service |
da4517 |
@@ -633,6 +633,7 @@ errout:
|
|
Packit Service |
da4517 |
return err;
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
+#include "kpatch-macros.h"
|
|
Packit Service |
da4517 |
static int inet_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh)
|
|
Packit Service |
da4517 |
{
|
|
Packit Service |
da4517 |
struct net *net = sock_net(skb->sk);
|
|
Packit Service |
da4517 |
@@ -651,6 +652,7 @@ static int inet_rtm_newroute(struct sk_b
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
err = fib_table_insert(net, tb, &cfg;;
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[inet_rtm_newroute]: err is %d\n", err);
|
|
Packit Service |
da4517 |
errout:
|
|
Packit Service |
da4517 |
return err;
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
diff -Nupr src.orig/net/ipv4/fib_semantics.c src/net/ipv4/fib_semantics.c
|
|
Packit Service |
da4517 |
--- src.orig/net/ipv4/fib_semantics.c 2017-09-22 16:52:10.645110295 -0400
|
|
Packit Service |
da4517 |
+++ src/net/ipv4/fib_semantics.c 2017-09-22 16:54:05.175584004 -0400
|
|
Packit Service |
da4517 |
@@ -925,6 +925,7 @@ fib_convert_metrics(struct fib_info *fi,
|
|
Packit Service |
da4517 |
return 0;
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
+#include "kpatch-macros.h"
|
|
Packit Service |
da4517 |
struct fib_info *fib_create_info(struct fib_config *cfg)
|
|
Packit Service |
da4517 |
{
|
|
Packit Service |
da4517 |
int err;
|
|
Packit Service |
da4517 |
@@ -949,6 +950,7 @@ struct fib_info *fib_create_info(struct
|
|
Packit Service |
da4517 |
#endif
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
err = -ENOBUFS;
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: create error err is %d\n",err);
|
|
Packit Service |
da4517 |
if (fib_info_cnt >= fib_info_hash_size) {
|
|
Packit Service |
da4517 |
unsigned int new_size = fib_info_hash_size << 1;
|
|
Packit Service |
da4517 |
struct hlist_head *new_info_hash;
|
|
Packit Service |
da4517 |
@@ -969,6 +971,7 @@ struct fib_info *fib_create_info(struct
|
|
Packit Service |
da4517 |
if (!fib_info_hash_size)
|
|
Packit Service |
da4517 |
goto failure;
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 2 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
fi = kzalloc(sizeof(*fi)+nhs*sizeof(struct fib_nh), GFP_KERNEL);
|
|
Packit Service |
da4517 |
if (fi == NULL)
|
|
Packit Service |
da4517 |
@@ -980,6 +983,7 @@ struct fib_info *fib_create_info(struct
|
|
Packit Service |
da4517 |
} else
|
|
Packit Service |
da4517 |
fi->fib_metrics = (u32 *) dst_default_metrics;
|
|
Packit Service |
da4517 |
fib_info_cnt++;
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 3 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
fi->fib_net = net;
|
|
Packit Service |
da4517 |
fi->fib_protocol = cfg->fc_protocol;
|
|
Packit Service |
da4517 |
@@ -996,8 +1000,10 @@ struct fib_info *fib_create_info(struct
|
|
Packit Service |
da4517 |
if (!nexthop_nh->nh_pcpu_rth_output)
|
|
Packit Service |
da4517 |
goto failure;
|
|
Packit Service |
da4517 |
} endfor_nexthops(fi)
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 4 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
err = fib_convert_metrics(fi, cfg);
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 5 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
if (err)
|
|
Packit Service |
da4517 |
goto failure;
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
@@ -1048,6 +1054,7 @@ struct fib_info *fib_create_info(struct
|
|
Packit Service |
da4517 |
nh->nh_weight = 1;
|
|
Packit Service |
da4517 |
#endif
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 6 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
if (fib_props[cfg->fc_type].error) {
|
|
Packit Service |
da4517 |
if (cfg->fc_gw || cfg->fc_oif || cfg->fc_mp)
|
|
Packit Service |
da4517 |
@@ -1065,6 +1072,7 @@ struct fib_info *fib_create_info(struct
|
|
Packit Service |
da4517 |
goto err_inval;
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 7 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
if (cfg->fc_scope > RT_SCOPE_HOST)
|
|
Packit Service |
da4517 |
goto err_inval;
|
|
Packit Service |
da4517 |
@@ -1087,6 +1095,7 @@ struct fib_info *fib_create_info(struct
|
|
Packit Service |
da4517 |
goto failure;
|
|
Packit Service |
da4517 |
} endfor_nexthops(fi)
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 8 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
if (fi->fib_prefsrc) {
|
|
Packit Service |
da4517 |
if (cfg->fc_type != RTN_LOCAL || !cfg->fc_dst ||
|
|
Packit Service |
da4517 |
@@ -1099,6 +1108,7 @@ struct fib_info *fib_create_info(struct
|
|
Packit Service |
da4517 |
fib_info_update_nh_saddr(net, nexthop_nh);
|
|
Packit Service |
da4517 |
fib_add_weight(fi, nexthop_nh);
|
|
Packit Service |
da4517 |
} endfor_nexthops(fi)
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 9 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
fib_rebalance(fi);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
@@ -1110,6 +1120,7 @@ link_it:
|
|
Packit Service |
da4517 |
ofi->fib_treeref++;
|
|
Packit Service |
da4517 |
return ofi;
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 10 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
fi->fib_treeref++;
|
|
Packit Service |
da4517 |
atomic_inc(&fi->fib_clntref);
|
|
Packit Service |
da4517 |
@@ -1133,6 +1144,7 @@ link_it:
|
|
Packit Service |
da4517 |
hlist_add_head(&nexthop_nh->nh_hash, head);
|
|
Packit Service |
da4517 |
} endfor_nexthops(fi)
|
|
Packit Service |
da4517 |
spin_unlock_bh(&fib_info_lock);
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 11 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
return fi;
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
err_inval:
|
|
Packit Service |
da4517 |
@@ -1143,6 +1155,7 @@ failure:
|
|
Packit Service |
da4517 |
fi->fib_dead = 1;
|
|
Packit Service |
da4517 |
free_fib_info(fi);
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_create_info]: 12 create error err is %d\n",err);
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
return ERR_PTR(err);
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
diff -Nupr src.orig/net/ipv4/fib_trie.c src/net/ipv4/fib_trie.c
|
|
Packit Service |
da4517 |
--- src.orig/net/ipv4/fib_trie.c 2017-09-22 16:52:10.645110295 -0400
|
|
Packit Service |
da4517 |
+++ src/net/ipv4/fib_trie.c 2017-09-22 16:55:39.940975963 -0400
|
|
Packit Service |
da4517 |
@@ -1191,6 +1191,7 @@ static int fib_insert_alias(struct trie
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
/* Caller must hold RTNL. */
|
|
Packit Service |
da4517 |
+#include "kpatch-macros.h"
|
|
Packit Service |
da4517 |
int fib_table_insert(struct net *net, struct fib_table *tb,
|
|
Packit Service |
da4517 |
struct fib_config *cfg)
|
|
Packit Service |
da4517 |
{
|
|
Packit Service |
da4517 |
@@ -1216,11 +1217,14 @@ int fib_table_insert(struct net *net, st
|
|
Packit Service |
da4517 |
if ((plen < KEYLENGTH) && (key << plen))
|
|
Packit Service |
da4517 |
return -EINVAL;
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_table_insert]: start\n");
|
|
Packit Service |
da4517 |
fi = fib_create_info(cfg);
|
|
Packit Service |
da4517 |
if (IS_ERR(fi)) {
|
|
Packit Service |
da4517 |
err = PTR_ERR(fi);
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_table_insert]: create error err is %d\n",err);
|
|
Packit Service |
da4517 |
goto err;
|
|
Packit Service |
da4517 |
}
|
|
Packit Service |
da4517 |
+ KPATCH_PRINTK("[fib_table_insert]: cross\n");
|
|
Packit Service |
da4517 |
|
|
Packit Service |
da4517 |
l = fib_find_node(t, &tp, key);
|
|
Packit Service |
da4517 |
fa = l ? fib_find_alias(&l->leaf, slen, tos, fi->fib_priority) : NULL;
|