-
Notifications
You must be signed in to change notification settings - Fork 1.4k
zebra: Fix crash when dplane_fpm_nl
fails to process received routes
#13757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zebra: Fix crash when dplane_fpm_nl
fails to process received routes
#13757
Conversation
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDTest incomplete. See below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: IncompleteTopotests debian 10 amd64 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9DEB10AMD64-12212/test Topology Tests failed for Topotests debian 10 amd64 part 9 Addresssanitizer topotests part 7: Incomplete(check logs for details)Topotests Ubuntu 18.04 amd64 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18AMD64-12212/test Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9 Successful on other platforms/tests
|
ci:rerun |
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotests Ubuntu 18.04 amd64 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18AMD64-12215/test Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9 Successful on other platforms/tests
|
@Mergifyio backport stable/8.5 dev/9.0 |
✅ Backports have been created
|
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotests Ubuntu 18.04 amd64 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18AMD64-12215/test Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9 Successful on other platforms/tests
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for tracking this down - had one question
zebra/zebra_dplane.c
Outdated
* necessarily to copy a route object. | ||
*/ | ||
if (!rn || !re) { | ||
dplane_intf_extra_list_init(&ctx->u.rinfo.intf_extra_list); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe it would make sense to make route_init_basic()
able to do these key internal inits but then return early if its 're' is NULL? I'm just a little concerned that having two places is going to leave us with some other un-init problem in the future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mjstapp Make sense. Thanks for the comment. I updated the PR, can you take a look?
@cscarpitta Do we have an update here? When can we merge this PR? |
cd476c8
to
bee2f31
Compare
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: FailedCheckout code: Failed (click for details)PullReq merge failed. Please rebase your branch: |
bee2f31
to
c525d03
Compare
Continuous Integration Result: SUCCESSFULContinuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12783/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
|
The function `dplane_ctx_route_init` initializes a dplane route context from the route object passed as an argument. Let's abstract this function to allow initializing the dplane route context without actually copying a route object. This allows us to use this function for initializing a dplane route context when we don't have any route to copy in it. Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
When `dplane_fpm_nl` receives a route, it allocates memory for a dplane context and calls `netlink_route_change_read_unicast_internal` without initializing the `intf_extra_list` contained in the dplane context. If `netlink_route_change_read_unicast_internal` is not able to process the route, we call `dplane_ctx_fini` to free the dplane context. This causes a crash because `dplane_ctx_fini` attempts to access the intf_extra_list which is not initialized. To solve this issue, we can call `dplane_ctx_route_init`to initialize the dplane route context properly, just after the dplane context allocation. (gdb) bt #0 0x0000555dd5ceae80 in dplane_intf_extra_list_pop (h=0x7fae1c007e68) at ../zebra/zebra_dplane.c:427 #1 dplane_ctx_free_internal (ctx=0x7fae1c0074b0) at ../zebra/zebra_dplane.c:724 FRRouting#2 0x0000555dd5cebc99 in dplane_ctx_free (pctx=0x7fae2aa88c98) at ../zebra/zebra_dplane.c:869 FRRouting#3 dplane_ctx_free (pctx=0x7fae2aa88c98, pctx@entry=0x7fae2aa78c28) at ../zebra/zebra_dplane.c:855 FRRouting#4 dplane_ctx_fini (pctx=pctx@entry=0x7fae2aa88c98) at ../zebra/zebra_dplane.c:890 FRRouting#5 0x00007fae31e93f29 in fpm_read (t=) at ../zebra/dplane_fpm_nl.c:605 FRRouting#6 0x00007fae325191dd in thread_call (thread=thread@entry=0x7fae2aa98da0) at ../lib/thread.c:2006 FRRouting#7 0x00007fae324c42b8 in fpt_run (arg=0x555dd74777c0) at ../lib/frr_pthread.c:309 FRRouting#8 0x00007fae32405ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 FRRouting#9 0x00007fae32325a2f in clone () from /lib/x86_64-linux-gnu/libc.so.6 Fixes: FRRouting#13754 Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
c525d03
to
7f2dec4
Compare
Continuous Integration Result: FAILEDContinuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotests Ubuntu 18.04 arm8 part 9: Failed (click for details)Topotests Ubuntu 18.04 arm8 part 9: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12790/artifact/TOPO9U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 9: No useful log foundTopotests debian 10 amd64 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9DEB10AMD64-12790/test Topology Tests failed for Topotests debian 10 amd64 part 9 Topotests Ubuntu 18.04 i386 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18I386-12790/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 9 Successful on other platforms/tests
|
CI:rerun failures don't look related to PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me now - thanks
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-12791/ This is a comment from an automated CI system. |
zebra: Fix crash when `dplane_fpm_nl` fails to process received routes (backport #13757)
zebra: Fix crash when `dplane_fpm_nl` fails to process received routes (backport #13757)
Why I did it Upgrading FRR 8.5.1 to include latest fixes. New patches that were added: Patch FRR Pull request Issue fixed 0012-zebra-Rename-vrf_lookup_by_tableid-to-zebra_vrf_look.patch FRRouting/frr#13396 #14866 0013-zebra-Move-protodown_r_bit-to-a-better-spot.patch FRRouting/frr#13396 #14866 0014-zebra-Remove-unused-dplane_intf_delete.patch FRRouting/frr#13396 #14866 0015-zebra-Remove-unused-add-variable.patch FRRouting/frr#13396 #14866 0016-zebra-Remove-duplicate-function-for-netlink-interfac.patch FRRouting/frr#13396 #14866 0017-zebra-Add-code-to-get-set-interface-to-pass-up-from-.patch FRRouting/frr#13396 #14866 0018-zebra-Use-zebra-dplane-for-RTM-link-and-addr.patch FRRouting/frr#13396 #14866 0019-zebra-Abstract-dplane_ctx_route_init-to-init-route-w.patch FRRouting/frr#13757 FRRouting/frr#13754 00020-zebra-Fix-crash-when-dplane_fpm_nl-fails-to-process-.patch FRRouting/frr#13757 FRRouting/frr#13754 Removed patches: Patch Upstream FRR commit that is present in 8.5.1 0001-Add-support-of-bgp-tcp-DSCP-value.patch FRRouting/frr@425bd64 0010-zebra-Note-when-the-netlink-DUMP-command-is-interrup.patch FRRouting/frr@2f71996 0011-bgpd-enhanced-capability-is-always-turned-on-for-int.patch FRRouting/frr@8e89adc 0012-Ensure-ospf_apiclient_lsa_originate-cannot-accidently-write-into-stack.patch FRRouting/frr@d2aeac3 , FRRouting/frr@49efc80, FRRouting/frr@ff6db10 0013-zebra-fix-dplane-fpm-nl-to-allow-for-fast-configuration.patch FRRouting/frr@551fa8c 0014-bgpd-Allow-network-XXX-to-work-with-bgp-suppress-fib.patch FRRouting/frr@4801fc4 0015-zebra-Return-statements-do-not-use-paranthesis.patch FRRouting/frr@871a16c 0016-zebra-Add-zrouter.asic_notification_nexthop_control.patch FRRouting/frr@06525c4 0017-zebra-Re-arrange-fpm_read-to-reduce-code-duplication.patch FRRouting/frr@7d83e13 0018-zebra-Add-dplane_ctx_get-set_flags.patch FRRouting/frr@10388e9 0019-zebra-Rearrange-dplane_ctx_route_init.patch FRRouting/frr@f935122 0020-zebra-Add-ctx-to-netlink-message-parsing.patch FRRouting/frr@45f0a10 0021-zebra-Read-from-the-dplane_fpm_nl-a-route-update.patch FRRouting/frr@a0e1173 0022-zebra-Fix-code-because-missing-backport.patch FRRouting/frr@07fd1f7 0024-zebra-continue-fpm-read-when-we-decide-a-netlink-message-is-not-needed.patch FRRouting/frr@c0275ab 0025-zebra-Send-nht-resolved-entry-up-to-concerned-protoc.patch FRRouting/frr@8ce0e51 0027-bgpd-Ensure-FRR-has-enough-data-to-read-in-peek_for_as4_capability-and-bgp_open_option_parse.patch FRRouting/frr@3e46b43 0028-bgpd-Ensure-that-bgp-open-message-stream-has-enough-data-to-read.patch FRRouting/frr@766eec1 Realigned patches: Old Patch New patch 0002-Reduce-severity-of-Vty-connected-from-message.patch 0001-Reduce-severity-of-Vty-connected-from-message.patch 0004-Allow-BGP-attr-NEXT_HOP-to-be-0.0.0.0-due-to-allevia.patch 0002-Allow-BGP-attr-NEXT_HOP-to-be-0.0.0.0-due-to-allevia.patch 0005-nexthops-compare-vrf-only-if-ip-type.patch 0003-nexthops-compare-vrf-only-if-ip-type.patch 0006-frr-remove-frr-log-outchannel-to-var-log-frr.log.patch 0004-frr-remove-frr-log-outchannel-to-var-log-frr.log.patch 0007-Add-support-of-bgp-l3vni-evpn.patch 0005-Add-support-of-bgp-l3vni-evpn.patch 0008-Link-local-scope-was-not-set-while-binding-socket-for-bgp-ipv6-link-local-neighbors.patch 0006-Link-local-scope-was-not-set-while-binding-socket-for-bgp-ipv6-link-local-neighbors.patch 0009-ignore-route-from-default-table.patch 0007-ignore-route-from-default-table.patch 0009-ignore-route-from-default-table.patch 0007-ignore-route-from-default-table.patch 0023-Use-vrf_id-for-vrf-not-tabled_id.patch 0008-Use-vrf_id-for-vrf-not-tabled_id.patch 0026-bgpd-Ensure-suppress-fib-pending-works-with-network-.patch 0009-bgpd-Ensure-suppress-fib-pending-works-with-network-.patch 0029-bgpd-Change-log-level-for-graceful-restart-events.patch 0010-bgpd-Change-log-level-for-graceful-restart-events.patch 0030-zebra-Static-routes-async-notification-do-not-need-t.patch 0011-zebra-Static-routes-async-notification-do-not-need-t.patch How I did it Upgrade FRR submodule. Align the patches. Integrate new patches to fix issues. How to verify it Run sonic-mgmt regression to verify
Why I did it Upgrading FRR 8.5.1 to include latest fixes. New patches that were added: Patch FRR Pull request Issue fixed 0012-zebra-Rename-vrf_lookup_by_tableid-to-zebra_vrf_look.patch FRRouting/frr#13396 sonic-net#14866 0013-zebra-Move-protodown_r_bit-to-a-better-spot.patch FRRouting/frr#13396 sonic-net#14866 0014-zebra-Remove-unused-dplane_intf_delete.patch FRRouting/frr#13396 sonic-net#14866 0015-zebra-Remove-unused-add-variable.patch FRRouting/frr#13396 sonic-net#14866 0016-zebra-Remove-duplicate-function-for-netlink-interfac.patch FRRouting/frr#13396 sonic-net#14866 0017-zebra-Add-code-to-get-set-interface-to-pass-up-from-.patch FRRouting/frr#13396 sonic-net#14866 0018-zebra-Use-zebra-dplane-for-RTM-link-and-addr.patch FRRouting/frr#13396 sonic-net#14866 0019-zebra-Abstract-dplane_ctx_route_init-to-init-route-w.patch FRRouting/frr#13757 FRRouting/frr#13754 00020-zebra-Fix-crash-when-dplane_fpm_nl-fails-to-process-.patch FRRouting/frr#13757 FRRouting/frr#13754 Removed patches: Patch Upstream FRR commit that is present in 8.5.1 0001-Add-support-of-bgp-tcp-DSCP-value.patch FRRouting/frr@425bd64 0010-zebra-Note-when-the-netlink-DUMP-command-is-interrup.patch FRRouting/frr@2f71996 0011-bgpd-enhanced-capability-is-always-turned-on-for-int.patch FRRouting/frr@8e89adc 0012-Ensure-ospf_apiclient_lsa_originate-cannot-accidently-write-into-stack.patch FRRouting/frr@d2aeac3 , FRRouting/frr@49efc80, FRRouting/frr@ff6db10 0013-zebra-fix-dplane-fpm-nl-to-allow-for-fast-configuration.patch FRRouting/frr@551fa8c 0014-bgpd-Allow-network-XXX-to-work-with-bgp-suppress-fib.patch FRRouting/frr@4801fc4 0015-zebra-Return-statements-do-not-use-paranthesis.patch FRRouting/frr@871a16c 0016-zebra-Add-zrouter.asic_notification_nexthop_control.patch FRRouting/frr@06525c4 0017-zebra-Re-arrange-fpm_read-to-reduce-code-duplication.patch FRRouting/frr@7d83e13 0018-zebra-Add-dplane_ctx_get-set_flags.patch FRRouting/frr@10388e9 0019-zebra-Rearrange-dplane_ctx_route_init.patch FRRouting/frr@f935122 0020-zebra-Add-ctx-to-netlink-message-parsing.patch FRRouting/frr@45f0a10 0021-zebra-Read-from-the-dplane_fpm_nl-a-route-update.patch FRRouting/frr@a0e1173 0022-zebra-Fix-code-because-missing-backport.patch FRRouting/frr@07fd1f7 0024-zebra-continue-fpm-read-when-we-decide-a-netlink-message-is-not-needed.patch FRRouting/frr@c0275ab 0025-zebra-Send-nht-resolved-entry-up-to-concerned-protoc.patch FRRouting/frr@8ce0e51 0027-bgpd-Ensure-FRR-has-enough-data-to-read-in-peek_for_as4_capability-and-bgp_open_option_parse.patch FRRouting/frr@3e46b43 0028-bgpd-Ensure-that-bgp-open-message-stream-has-enough-data-to-read.patch FRRouting/frr@766eec1 Realigned patches: Old Patch New patch 0002-Reduce-severity-of-Vty-connected-from-message.patch 0001-Reduce-severity-of-Vty-connected-from-message.patch 0004-Allow-BGP-attr-NEXT_HOP-to-be-0.0.0.0-due-to-allevia.patch 0002-Allow-BGP-attr-NEXT_HOP-to-be-0.0.0.0-due-to-allevia.patch 0005-nexthops-compare-vrf-only-if-ip-type.patch 0003-nexthops-compare-vrf-only-if-ip-type.patch 0006-frr-remove-frr-log-outchannel-to-var-log-frr.log.patch 0004-frr-remove-frr-log-outchannel-to-var-log-frr.log.patch 0007-Add-support-of-bgp-l3vni-evpn.patch 0005-Add-support-of-bgp-l3vni-evpn.patch 0008-Link-local-scope-was-not-set-while-binding-socket-for-bgp-ipv6-link-local-neighbors.patch 0006-Link-local-scope-was-not-set-while-binding-socket-for-bgp-ipv6-link-local-neighbors.patch 0009-ignore-route-from-default-table.patch 0007-ignore-route-from-default-table.patch 0009-ignore-route-from-default-table.patch 0007-ignore-route-from-default-table.patch 0023-Use-vrf_id-for-vrf-not-tabled_id.patch 0008-Use-vrf_id-for-vrf-not-tabled_id.patch 0026-bgpd-Ensure-suppress-fib-pending-works-with-network-.patch 0009-bgpd-Ensure-suppress-fib-pending-works-with-network-.patch 0029-bgpd-Change-log-level-for-graceful-restart-events.patch 0010-bgpd-Change-log-level-for-graceful-restart-events.patch 0030-zebra-Static-routes-async-notification-do-not-need-t.patch 0011-zebra-Static-routes-async-notification-do-not-need-t.patch How I did it Upgrade FRR submodule. Align the patches. Integrate new patches to fix issues. How to verify it Run sonic-mgmt regression to verify
Why I did it Upgrading FRR 8.5.1 to include latest fixes. New patches that were added: Patch FRR Pull request Issue fixed 0012-zebra-Rename-vrf_lookup_by_tableid-to-zebra_vrf_look.patch FRRouting/frr#13396 sonic-net#14866 0013-zebra-Move-protodown_r_bit-to-a-better-spot.patch FRRouting/frr#13396 sonic-net#14866 0014-zebra-Remove-unused-dplane_intf_delete.patch FRRouting/frr#13396 sonic-net#14866 0015-zebra-Remove-unused-add-variable.patch FRRouting/frr#13396 sonic-net#14866 0016-zebra-Remove-duplicate-function-for-netlink-interfac.patch FRRouting/frr#13396 sonic-net#14866 0017-zebra-Add-code-to-get-set-interface-to-pass-up-from-.patch FRRouting/frr#13396 sonic-net#14866 0018-zebra-Use-zebra-dplane-for-RTM-link-and-addr.patch FRRouting/frr#13396 sonic-net#14866 0019-zebra-Abstract-dplane_ctx_route_init-to-init-route-w.patch FRRouting/frr#13757 FRRouting/frr#13754 00020-zebra-Fix-crash-when-dplane_fpm_nl-fails-to-process-.patch FRRouting/frr#13757 FRRouting/frr#13754 Removed patches: Patch Upstream FRR commit that is present in 8.5.1 0001-Add-support-of-bgp-tcp-DSCP-value.patch FRRouting/frr@425bd64 0010-zebra-Note-when-the-netlink-DUMP-command-is-interrup.patch FRRouting/frr@2f71996 0011-bgpd-enhanced-capability-is-always-turned-on-for-int.patch FRRouting/frr@8e89adc 0012-Ensure-ospf_apiclient_lsa_originate-cannot-accidently-write-into-stack.patch FRRouting/frr@d2aeac3 , FRRouting/frr@49efc80, FRRouting/frr@ff6db10 0013-zebra-fix-dplane-fpm-nl-to-allow-for-fast-configuration.patch FRRouting/frr@551fa8c 0014-bgpd-Allow-network-XXX-to-work-with-bgp-suppress-fib.patch FRRouting/frr@4801fc4 0015-zebra-Return-statements-do-not-use-paranthesis.patch FRRouting/frr@871a16c 0016-zebra-Add-zrouter.asic_notification_nexthop_control.patch FRRouting/frr@06525c4 0017-zebra-Re-arrange-fpm_read-to-reduce-code-duplication.patch FRRouting/frr@7d83e13 0018-zebra-Add-dplane_ctx_get-set_flags.patch FRRouting/frr@10388e9 0019-zebra-Rearrange-dplane_ctx_route_init.patch FRRouting/frr@f935122 0020-zebra-Add-ctx-to-netlink-message-parsing.patch FRRouting/frr@45f0a10 0021-zebra-Read-from-the-dplane_fpm_nl-a-route-update.patch FRRouting/frr@a0e1173 0022-zebra-Fix-code-because-missing-backport.patch FRRouting/frr@07fd1f7 0024-zebra-continue-fpm-read-when-we-decide-a-netlink-message-is-not-needed.patch FRRouting/frr@c0275ab 0025-zebra-Send-nht-resolved-entry-up-to-concerned-protoc.patch FRRouting/frr@8ce0e51 0027-bgpd-Ensure-FRR-has-enough-data-to-read-in-peek_for_as4_capability-and-bgp_open_option_parse.patch FRRouting/frr@3e46b43 0028-bgpd-Ensure-that-bgp-open-message-stream-has-enough-data-to-read.patch FRRouting/frr@766eec1 Realigned patches: Old Patch New patch 0002-Reduce-severity-of-Vty-connected-from-message.patch 0001-Reduce-severity-of-Vty-connected-from-message.patch 0004-Allow-BGP-attr-NEXT_HOP-to-be-0.0.0.0-due-to-allevia.patch 0002-Allow-BGP-attr-NEXT_HOP-to-be-0.0.0.0-due-to-allevia.patch 0005-nexthops-compare-vrf-only-if-ip-type.patch 0003-nexthops-compare-vrf-only-if-ip-type.patch 0006-frr-remove-frr-log-outchannel-to-var-log-frr.log.patch 0004-frr-remove-frr-log-outchannel-to-var-log-frr.log.patch 0007-Add-support-of-bgp-l3vni-evpn.patch 0005-Add-support-of-bgp-l3vni-evpn.patch 0008-Link-local-scope-was-not-set-while-binding-socket-for-bgp-ipv6-link-local-neighbors.patch 0006-Link-local-scope-was-not-set-while-binding-socket-for-bgp-ipv6-link-local-neighbors.patch 0009-ignore-route-from-default-table.patch 0007-ignore-route-from-default-table.patch 0009-ignore-route-from-default-table.patch 0007-ignore-route-from-default-table.patch 0023-Use-vrf_id-for-vrf-not-tabled_id.patch 0008-Use-vrf_id-for-vrf-not-tabled_id.patch 0026-bgpd-Ensure-suppress-fib-pending-works-with-network-.patch 0009-bgpd-Ensure-suppress-fib-pending-works-with-network-.patch 0029-bgpd-Change-log-level-for-graceful-restart-events.patch 0010-bgpd-Change-log-level-for-graceful-restart-events.patch 0030-zebra-Static-routes-async-notification-do-not-need-t.patch 0011-zebra-Static-routes-async-notification-do-not-need-t.patch How I did it Upgrade FRR submodule. Align the patches. Integrate new patches to fix issues. How to verify it Run sonic-mgmt regression to verify
This PR fixes #13754.
In
dplane_fpm_nl
,fpm_read
allocates a dplane route context and callsnetlink_route_change_read_unicast_internal
to populate the dplane context with the received route. Whennetlink_route_change_read_unicast_internal
fails to process the route information, we calldplane_ctx_fini
to free the dplane context. However, this causes a crash becausedplane_ctx_fini
attempts to access theintf_extra_list
which is not initialized.To solve this issue, we need to initialize the
intf_extra_list
properly after allocating the dplane route context.Signed-off-by: Carmine Scarpitta carmine.scarpitta.94@gmail.com