diff options
| author | Olivier Cochard <olivier@FreeBSD.org> | 2026-10-07 04:16:33 +0000 |
|---|---|---|
| committer | Olivier Cochard <olivier@FreeBSD.org> | 2026-10-07 04:16:33 +0000 |
| commit | 139fa2c12ddc028048efe3946f2663dcfba9b122 (patch) | |
| tree | 02b1b0dbe80bd5ddabb90b7d475043e8bce2d7f6 /usr.bin/(developers-only) | |
| parent | a6a864080cfe2e8308cfae8d07f1affe1a4ac8fa (diff) | |
add_route_flags() drops the RIB lock and passes the existing entry,
rt_orig, to add_route_flags_mpath(). If a concurrent delete removes
the prefix in that window, the retry re-inserts rt_orig, which is
then freed while still linked, crashing later in rn_match().
Pass the new rt instead, return ENOENT when the prefix is gone and
RTM_F_CREATE is not set, and fix the rnd_orig NULL check.
Approved by: pouria
Fixes: c24a8f19c5d5 ("routing: fix rib_add_route_px()")
Differential Revision: https://reviews.freebsd.org/D60353
Diffstat (limited to 'usr.bin/(developers-only)')
0 files changed, 0 insertions, 0 deletions
