You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit ensures proper cleanup by deleting the gm_join_list when a PIM interface is deleted. The gm_join_list was previously not being freed, causing a memory leak.
The ASan leak log for reference:
```
***********************************************************************************
Address Sanitizer Error detected in multicast_mld_join_topo1.test_multicast_mld_local_join/r1.asan.pim6d.28070
=================================================================
==28070==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 40 byte(s) in 1 object(s) allocated from:
#0 0x7f3605dbfd28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
sonic-net#1 0x56230373dd6b in qcalloc lib/memory.c:105
sonic-net#2 0x56230372180f in list_new lib/linklist.c:49
sonic-net#3 0x56230361b589 in pim_if_gm_join_add pimd/pim_iface.c:1313
sonic-net#4 0x562303642247 in lib_interface_gmp_address_family_static_group_create pimd/pim_nb_config.c:2868
sonic-net#5 0x562303767280 in nb_callback_create lib/northbound.c:1235
sonic-net#6 0x562303767280 in nb_callback_configuration lib/northbound.c:1579
sonic-net#7 0x562303768a1d in nb_transaction_process lib/northbound.c:1710
sonic-net#8 0x56230376904a in nb_candidate_commit_apply lib/northbound.c:1104
sonic-net#9 0x5623037692ba in nb_candidate_commit lib/northbound.c:1137
sonic-net#10 0x562303769dec in nb_cli_classic_commit lib/northbound_cli.c:49
sonic-net#11 0x56230376fb79 in nb_cli_pending_commit_check lib/northbound_cli.c:88
sonic-net#12 0x5623036c5bcb in cmd_execute_command_real lib/command.c:991
sonic-net#13 0x5623036c5f1b in cmd_execute_command lib/command.c:1053
sonic-net#14 0x5623036c6392 in cmd_execute lib/command.c:1221
sonic-net#15 0x5623037e75da in vty_command lib/vty.c:591
sonic-net#16 0x5623037e7a74 in vty_execute lib/vty.c:1354
sonic-net#17 0x5623037f0253 in vtysh_read lib/vty.c:2362
sonic-net#18 0x5623037db4e8 in event_call lib/event.c:1995
sonic-net#19 0x562303720f97 in frr_run lib/libfrr.c:1213
sonic-net#20 0x56230368615d in main pimd/pim6_main.c:184
sonic-net#21 0x7f360461bc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
Indirect leak of 192 byte(s) in 4 object(s) allocated from:
#0 0x7f3605dbfd28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
sonic-net#1 0x56230373dd6b in qcalloc lib/memory.c:105
sonic-net#2 0x56230361b91d in gm_join_new pimd/pim_iface.c:1288
sonic-net#3 0x56230361b91d in pim_if_gm_join_add pimd/pim_iface.c:1326
sonic-net#4 0x562303642247 in lib_interface_gmp_address_family_static_group_create pimd/pim_nb_config.c:2868
sonic-net#5 0x562303767280 in nb_callback_create lib/northbound.c:1235
sonic-net#6 0x562303767280 in nb_callback_configuration lib/northbound.c:1579
sonic-net#7 0x562303768a1d in nb_transaction_process lib/northbound.c:1710
sonic-net#8 0x56230376904a in nb_candidate_commit_apply lib/northbound.c:1104
sonic-net#9 0x5623037692ba in nb_candidate_commit lib/northbound.c:1137
sonic-net#10 0x562303769dec in nb_cli_classic_commit lib/northbound_cli.c:49
sonic-net#11 0x56230376fb79 in nb_cli_pending_commit_check lib/northbound_cli.c:88
sonic-net#12 0x5623036c5bcb in cmd_execute_command_real lib/command.c:991
sonic-net#13 0x5623036c5f1b in cmd_execute_command lib/command.c:1053
sonic-net#14 0x5623036c6392 in cmd_execute lib/command.c:1221
sonic-net#15 0x5623037e75da in vty_command lib/vty.c:591
sonic-net#16 0x5623037e7a74 in vty_execute lib/vty.c:1354
sonic-net#17 0x5623037f0253 in vtysh_read lib/vty.c:2362
sonic-net#18 0x5623037db4e8 in event_call lib/event.c:1995
sonic-net#19 0x562303720f97 in frr_run lib/libfrr.c:1213
sonic-net#20 0x56230368615d in main pimd/pim6_main.c:184
sonic-net#21 0x7f360461bc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
Indirect leak of 96 byte(s) in 4 object(s) allocated from:
#0 0x7f3605dbfd28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
sonic-net#1 0x56230373dd6b in qcalloc lib/memory.c:105
sonic-net#2 0x562303721651 in listnode_new lib/linklist.c:71
sonic-net#3 0x56230372182b in listnode_add lib/linklist.c:92
sonic-net#4 0x56230361ba9a in gm_join_new pimd/pim_iface.c:1295
sonic-net#5 0x56230361ba9a in pim_if_gm_join_add pimd/pim_iface.c:1326
sonic-net#6 0x562303642247 in lib_interface_gmp_address_family_static_group_create pimd/pim_nb_config.c:2868
sonic-net#7 0x562303767280 in nb_callback_create lib/northbound.c:1235
sonic-net#8 0x562303767280 in nb_callback_configuration lib/northbound.c:1579
sonic-net#9 0x562303768a1d in nb_transaction_process lib/northbound.c:1710
sonic-net#10 0x56230376904a in nb_candidate_commit_apply lib/northbound.c:1104
sonic-net#11 0x5623037692ba in nb_candidate_commit lib/northbound.c:1137
sonic-net#12 0x562303769dec in nb_cli_classic_commit lib/northbound_cli.c:49
sonic-net#13 0x56230376fb79 in nb_cli_pending_commit_check lib/northbound_cli.c:88
sonic-net#14 0x5623036c5bcb in cmd_execute_command_real lib/command.c:991
sonic-net#15 0x5623036c5f1b in cmd_execute_command lib/command.c:1053
sonic-net#16 0x5623036c6392 in cmd_execute lib/command.c:1221
sonic-net#17 0x5623037e75da in vty_command lib/vty.c:591
sonic-net#18 0x5623037e7a74 in vty_execute lib/vty.c:1354
sonic-net#19 0x5623037f0253 in vtysh_read lib/vty.c:2362
sonic-net#20 0x5623037db4e8 in event_call lib/event.c:1995
sonic-net#21 0x562303720f97 in frr_run lib/libfrr.c:1213
sonic-net#22 0x56230368615d in main pimd/pim6_main.c:184
sonic-net#23 0x7f360461bc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
Indirect leak of 48 byte(s) in 1 object(s) allocated from:
#0 0x7f3605dbfd28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
sonic-net#1 0x56230373dd6b in qcalloc lib/memory.c:105
sonic-net#2 0x56230361b91d in gm_join_new pimd/pim_iface.c:1288
sonic-net#3 0x56230361b91d in pim_if_gm_join_add pimd/pim_iface.c:1326
sonic-net#4 0x562303642247 in lib_interface_gmp_address_family_static_group_create pimd/pim_nb_config.c:2868
sonic-net#5 0x562303767280 in nb_callback_create lib/northbound.c:1235
sonic-net#6 0x562303767280 in nb_callback_configuration lib/northbound.c:1579
sonic-net#7 0x562303768a1d in nb_transaction_process lib/northbound.c:1710
sonic-net#8 0x56230376904a in nb_candidate_commit_apply lib/northbound.c:1104
sonic-net#9 0x5623037692ba in nb_candidate_commit lib/northbound.c:1137
sonic-net#10 0x562303769dec in nb_cli_classic_commit lib/northbound_cli.c:49
sonic-net#11 0x56230376fb79 in nb_cli_pending_commit_check lib/northbound_cli.c:88
sonic-net#12 0x5623036c5bcb in cmd_execute_command_real lib/command.c:991
sonic-net#13 0x5623036c5f6f in cmd_execute_command lib/command.c:1072
sonic-net#14 0x5623036c6392 in cmd_execute lib/command.c:1221
sonic-net#15 0x5623037e75da in vty_command lib/vty.c:591
sonic-net#16 0x5623037e7a74 in vty_execute lib/vty.c:1354
sonic-net#17 0x5623037f0253 in vtysh_read lib/vty.c:2362
sonic-net#18 0x5623037db4e8 in event_call lib/event.c:1995
sonic-net#19 0x562303720f97 in frr_run lib/libfrr.c:1213
sonic-net#20 0x56230368615d in main pimd/pim6_main.c:184
sonic-net#21 0x7f360461bc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
Indirect leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7f3605dbfd28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
sonic-net#1 0x56230373dd6b in qcalloc lib/memory.c:105
sonic-net#2 0x562303721651 in listnode_new lib/linklist.c:71
sonic-net#3 0x56230372182b in listnode_add lib/linklist.c:92
sonic-net#4 0x56230361ba9a in gm_join_new pimd/pim_iface.c:1295
sonic-net#5 0x56230361ba9a in pim_if_gm_join_add pimd/pim_iface.c:1326
sonic-net#6 0x562303642247 in lib_interface_gmp_address_family_static_group_create pimd/pim_nb_config.c:2868
sonic-net#7 0x562303767280 in nb_callback_create lib/northbound.c:1235
sonic-net#8 0x562303767280 in nb_callback_configuration lib/northbound.c:1579
sonic-net#9 0x562303768a1d in nb_transaction_process lib/northbound.c:1710
sonic-net#10 0x56230376904a in nb_candidate_commit_apply lib/northbound.c:1104
sonic-net#11 0x5623037692ba in nb_candidate_commit lib/northbound.c:1137
sonic-net#12 0x562303769dec in nb_cli_classic_commit lib/northbound_cli.c:49
sonic-net#13 0x56230376fb79 in nb_cli_pending_commit_check lib/northbound_cli.c:88
sonic-net#14 0x5623036c5bcb in cmd_execute_command_real lib/command.c:991
sonic-net#15 0x5623036c5f6f in cmd_execute_command lib/command.c:1072
sonic-net#16 0x5623036c6392 in cmd_execute lib/command.c:1221
sonic-net#17 0x5623037e75da in vty_command lib/vty.c:591
sonic-net#18 0x5623037e7a74 in vty_execute lib/vty.c:1354
sonic-net#19 0x5623037f0253 in vtysh_read lib/vty.c:2362
sonic-net#20 0x5623037db4e8 in event_call lib/event.c:1995
sonic-net#21 0x562303720f97 in frr_run lib/libfrr.c:1213
sonic-net#22 0x56230368615d in main pimd/pim6_main.c:184
sonic-net#23 0x7f360461bc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
SUMMARY: AddressSanitizer: 400 byte(s) leaked in 11 allocation(s).
***********************************************************************************
```
Signed-off-by: Keelan Cannoo <[email protected]>
0 commit comments