summaryrefslogtreecommitdiff
path: root/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths
diff options
context:
space:
mode:
authorOlivier Cochard <olivier@FreeBSD.org>2025-01-09 22:58:36 +0100
committerOlivier Cochard <olivier@FreeBSD.org>2025-01-09 23:07:38 +0100
commit4516e09a236bb31d6e852eadfb05f9576e4db7da (patch)
tree5c2d947f22448c924040427c8613edf8d6bda02e /net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths
parentmath/gp2c: upgrade to 0.0.14 (diff)
net/bird3: Add new branch 3.x (multithreaded)
Warning: Consider version 3.0.0 to be unstable. PR: 283403 Sponsored by: Netflix
Diffstat (limited to 'net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths')
-rw-r--r--net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths38
1 files changed, 38 insertions, 0 deletions
diff --git a/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths b/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths
new file mode 100644
index 000000000000..d008d4cf070c
--- /dev/null
+++ b/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths
@@ -0,0 +1,38 @@
+From b6caccfd45fb639b6dd3a8d140d3c5ba4cc79311 Mon Sep 17 00:00:00 2001
+From: Maria Matejka <mq@ucw.cz>
+Date: Thu, 19 Dec 2024 11:00:15 +0100
+Subject: [PATCH] Kernel: Fix crash for merge paths on if no route is in BIRD
+
+There was a missing check for a NULL return value.
+Also fixed an indenting error.
+
+Thanks to Radu Anghel for reporting it:
+https://bird.network.cz/pipermail/bird-users/2024-December/017977.html
+---
+ nest/rt-table.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nest/rt-table.c b/nest/rt-table.c
+index fd8bb50dd..05191d743 100644
+--- nest/rt-table.c
++++ nest/rt-table.c
+@@ -5265,14 +5265,14 @@ krt_export_net(struct channel *c, const net_addr *a, linpool *lp)
+ if (c->ra_mode == RA_MERGED)
+ {
+ struct rt_export_feed *feed = rt_net_feed(c->table, a, NULL);
+- if (!feed->count_routes)
++ if (!feed || !feed->count_routes)
+ return NULL;
+
+ if (!bmap_test(&c->export_accepted_map, feed->block[0].id))
+ return NULL;
+
+ return rt_export_merged(c, feed, lp, 1);
+- }
++ }
+
+ static _Thread_local rte best;
+ best = rt_net_best(c->table, a);
+--
+GitLab
+