====================================== | [ 563.339102][ T3272] ================================================================== | [ 563.339346][ T3272] BUG: KASAN: slab-use-after-free in neigh_flush_dev.isra.0 (./include/linux/list.h:990 ./include/linux/rculist.h:516 net/core/neighbour.c:385) | [ 563.339570][ T3272] Write of size 8 at addr ffff888005becc18 by task ip/3272 | [ 563.339788][ T3272] [ 563.340079][ T3272] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 563.340398][ T3272] Call Trace: [ 563.340513][ T3272] <TASK> [ 563.340609][ T3272] dump_stack_lvl (lib/dump_stack.c:123) [ 563.340775][ T3272] print_address_description.constprop.0 (mm/kasan/report.c:378) [ 563.341005][ T3272] ? neigh_flush_dev.isra.0 (./include/linux/list.h:990 ./include/linux/rculist.h:516 net/core/neighbour.c:385) [ 563.341150][ T3272] print_report (mm/kasan/report.c:489) [ 563.341345][ T3272] ? kasan_addr_to_slab (./include/linux/mm.h:1282 mm/kasan/../slab.h:206 mm/kasan/common.c:38) [ 563.341511][ T3272] kasan_report (mm/kasan/report.c:603) [ 563.341620][ T3272] ? neigh_flush_dev.isra.0 (./include/linux/list.h:990 ./include/linux/rculist.h:516 net/core/neighbour.c:385) [ 563.341803][ T3272] neigh_flush_dev.isra.0 (./include/linux/list.h:990 ./include/linux/rculist.h:516 net/core/neighbour.c:385) [ 563.342029][ T3272] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 563.342259][ T3272] __neigh_ifdown.isra.0 (net/core/neighbour.c:826 net/core/neighbour.c:426) [ 563.342492][ T3272] ? blocking_notifier_call_chain (kernel/notifier.c:388 kernel/notifier.c:376) [ 563.342739][ T3272] neigh_ifdown (net/core/neighbour.c:445) [ 563.342869][ T3272] fib_inetaddr_event (net/ipv4/fib_frontend.c:1431 net/ipv4/fib_frontend.c:1455) [ 563.343016][ T3272] notifier_call_chain (kernel/notifier.c:93 (discriminator 2)) [ 563.343171][ T3272] blocking_notifier_call_chain (kernel/notifier.c:389 kernel/notifier.c:376) [ 563.343321][ T3272] __inet_del_ifa (net/ipv4/devinet.c:488) [ 563.343468][ T3272] inet_rtm_deladdr (net/ipv4/devinet.c:706) [ 563.343626][ T3272] ? __pfx_inet_rtm_deladdr (net/ipv4/devinet.c:665) [ 563.343787][ T3272] rtnetlink_rcv_msg (net/core/rtnetlink.c:6721) [ 563.343951][ T3272] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 563.344093][ T3272] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 563.344257][ T3272] ? mark_lock (kernel/locking/lockdep.c:4703 (discriminator 3)) [ 563.344367][ T3272] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 563.344512][ T3272] netlink_rcv_skb (net/netlink/af_netlink.c:2551) [ 563.344676][ T3272] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 563.344839][ T3272] ? __pfx_netlink_rcv_skb (net/netlink/af_netlink.c:2528) [ 563.345005][ T3272] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 net/netlink/af_netlink.c:340) [ 563.345155][ T3272] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 563.345313][ T3272] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 563.345458][ T3272] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 563.345605][ T3272] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 563.345776][ T3272] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 563.345926][ T3272] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 563.346084][ T3272] ? __might_fault (mm/memory.c:6700 mm/memory.c:6693) [ 563.346229][ T3272] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 563.346381][ T3272] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 563.346573][ T3272] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 563.346738][ T3272] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 563.346937][ T3272] ___sys_sendmsg (net/socket.c:2663) [ 563.347082][ T3272] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 563.347241][ T3272] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 563.347385][ T3272] ? __pfx_validate_chain (kernel/locking/lockdep.c:3860) [ 563.347546][ T3272] ? __pfx_slab_free_after_rcu_debug (mm/slub.c:4609) [ 563.347726][ T3272] ? kasan_save_stack (mm/kasan/common.c:49) [ 563.347884][ T3272] ? kasan_save_stack (mm/kasan/common.c:48) [ 563.348034][ T3272] ? __kasan_record_aux_stack (mm/kasan/generic.c:541) [ 563.348181][ T3272] ? __call_rcu_common.constprop.0 (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:123 kernel/rcu/tree.c:3087) [ 563.348374][ T3272] ? __x64_sys_close (fs/open.c:1568 fs/open.c:1550 fs/open.c:1550) [ 563.348521][ T3272] ? do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 563.348676][ T3272] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 563.348876][ T3272] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 563.349043][ T3272] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 563.349189][ T3272] ? __lock_release (kernel/locking/lockdep.c:5501) [ 563.349335][ T3272] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 563.349446][ T3272] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 563.349589][ T3272] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 563.349732][ T3272] ? __virt_addr_valid (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:962 ./include/linux/mmzone.h:2053 arch/x86/mm/physaddr.c:65) [ 563.349961][ T3272] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 563.350192][ T3272] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 563.350475][ T3272] RIP: 0033:0x7fc05d56e7b7 [ 563.350721][ T3272] Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 All code ======== 0: 0a 00 or (%rax),%al 2: f7 d8 neg %eax 4: 64 89 02 mov %eax,%fs:(%rdx) 7: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax e: eb b9 jmp 0xffffffffffffffc9 10: 0f 1f 00 nopl (%rax) 13: f3 0f 1e fa endbr64 17: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 1e: 00 1f: 85 c0 test %eax,%eax 21: 75 10 jne 0x33 23: b8 2e 00 00 00 mov $0x2e,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 51 ja 0x83 32: c3 ret 33: 48 83 ec 28 sub $0x28,%rsp 37: 89 54 24 1c mov %edx,0x1c(%rsp) 3b: 48 89 74 24 10 mov %rsi,0x10(%rsp) Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 51 ja 0x59 8: c3 ret 9: 48 83 ec 28 sub $0x28,%rsp d: 89 54 24 1c mov %edx,0x1c(%rsp) 11: 48 89 74 24 10 mov %rsi,0x10(%rsp) [ 563.351433][ T3272] RSP: 002b:00007ffc6417aab8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 563.351654][ T3272] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fc05d56e7b7 [ 563.351883][ T3272] RDX: 0000000000000000 RSI: 00007ffc6417ab20 RDI: 0000000000000005 [ 563.352097][ T3272] RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000000078 [ 563.352312][ T3272] R10: 00007fc05d42cef8 R11: 0000000000000246 R12: 00007ffc6417b270 [ 563.352523][ T3272] R13: 0000000067169bff R14: 0000000000496600 R15: 00007ffc6417b278 | [ 563.365306][ T3272] Disabling lock debugging due to kernel taint | [ 563.365600][ T3272] Oops: general protection fault, probably for non-canonical address 0xe0403c3860000199: 0000 [#1] PREEMPT SMP KASAN NOPTI | [ 563.366048][ T3272] KASAN: maybe wild-memory-access in range [0x020201c300000cc8-0x020201c300000ccf] | [ 563.366703][ T3272] Tainted: [B]=BAD_PAGE [ 563.366849][ T3272] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 563.367250][ T3272] RIP: 0010:neigh_flush_dev.isra.0 (./include/linux/list.h:988 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 563.367536][ T3272] Code: 0f 85 ef 04 00 00 49 8d 7f 08 49 8b 1f 48 89 f8 48 c1 e8 03 42 80 3c 28 00 0f 85 cc 04 00 00 49 8b 6f 08 48 89 e8 48 c1 e8 03 <42> 80 3c 28 00 0f 85 19 05 00 00 48 89 5d 00 48 85 db 74 1a 48 8d All code ======== 0: 0f 85 ef 04 00 00 jne 0x4f5 6: 49 8d 7f 08 lea 0x8(%r15),%rdi a: 49 8b 1f mov (%r15),%rbx d: 48 89 f8 mov %rdi,%rax 10: 48 c1 e8 03 shr $0x3,%rax 14: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) 19: 0f 85 cc 04 00 00 jne 0x4eb 1f: 49 8b 6f 08 mov 0x8(%r15),%rbp 23: 48 89 e8 mov %rbp,%rax 26: 48 c1 e8 03 shr $0x3,%rax 2a:* 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) <-- trapping instruction 2f: 0f 85 19 05 00 00 jne 0x54e 35: 48 89 5d 00 mov %rbx,0x0(%rbp) 39: 48 85 db test %rbx,%rbx 3c: 74 1a je 0x58 3e: 48 rex.W 3f: 8d .byte 0x8d Code starting with the faulting instruction =========================================== 0: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) 5: 0f 85 19 05 00 00 jne 0x524 b: 48 89 5d 00 mov %rbx,0x0(%rbp) f: 48 85 db test %rbx,%rbx 12: 74 1a je 0x2e 14: 48 rex.W 15: 8d .byte 0x8d [ 563.368059][ T3272] RSP: 0018:ffffc90000a1f388 EFLAGS: 00010206 [ 563.368317][ T3272] RAX: 0040403860000199 RBX: ffff888006457540 RCX: ffffffffa5c796f0 [ 563.368533][ T3272] RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff888005becc08 [ 563.368745][ T3272] RBP: 020201c300000cc8 R08: 0000000000000000 R09: 0000000000000000 [ 563.369062][ T3272] R10: ffffffffa8171f0f R11: ffffffffa6600130 R12: ffff888005becd3c [ 563.369278][ T3272] R13: dffffc0000000000 R14: ffff888005b31000 R15: ffff888005becc00 [ 563.369558][ T3272] FS: 00007fc05d362800(0000) GS:ffff888036080000(0000) knlGS:0000000000000000 [ 563.369820][ T3272] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 563.370020][ T3272] CR2: 00000000004e3370 CR3: 0000000003b0a005 CR4: 0000000000772ef0 [ 563.370305][ T3272] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 563.370524][ T3272] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 563.370746][ T3272] PKRU: 55555554 [ 563.370868][ T3272] Call Trace: [ 563.371046][ T3272] <TASK> [ 563.371133][ T3272] ? die_addr (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:460) [ 563.371257][ T3272] ? exc_general_protection (arch/x86/kernel/traps.c:751 arch/x86/kernel/traps.c:693) [ 563.371400][ T3272] ? asm_exc_general_protection (./arch/x86/include/asm/idtentry.h:617) [ 563.371551][ T3272] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 563.371816][ T3272] ? neigh_flush_dev.isra.0 (./include/linux/list.h:986 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 563.371968][ T3272] ? neigh_flush_dev.isra.0 (./include/linux/list.h:988 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 563.372104][ T3272] ? neigh_flush_dev.isra.0 (./include/linux/list.h:986 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 563.372252][ T3272] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 563.372479][ T3272] __neigh_ifdown.isra.0 (net/core/neighbour.c:826 net/core/neighbour.c:426) [ 563.372628][ T3272] ? blocking_notifier_call_chain (kernel/notifier.c:388 kernel/notifier.c:376) [ 563.372823][ T3272] neigh_ifdown (net/core/neighbour.c:445) [ 563.372947][ T3272] fib_inetaddr_event (net/ipv4/fib_frontend.c:1431 net/ipv4/fib_frontend.c:1455) [ 563.373086][ T3272] notifier_call_chain (kernel/notifier.c:93 (discriminator 2)) [ 563.373224][ T3272] blocking_notifier_call_chain (kernel/notifier.c:389 kernel/notifier.c:376) [ 563.373373][ T3272] __inet_del_ifa (net/ipv4/devinet.c:488) [ 563.373514][ T3272] inet_rtm_deladdr (net/ipv4/devinet.c:706) [ 563.373761][ T3272] ? __pfx_inet_rtm_deladdr (net/ipv4/devinet.c:665) [ 563.373984][ T3272] rtnetlink_rcv_msg (net/core/rtnetlink.c:6721) [ 563.374180][ T3272] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 563.374337][ T3272] ? hlock_class (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 kernel/locking/lockdep.c:228) [ 563.374477][ T3272] ? mark_lock (kernel/locking/lockdep.c:4703 (discriminator 3)) [ 563.374657][ T3272] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 563.374817][ T3272] netlink_rcv_skb (net/netlink/af_netlink.c:2551) [ 563.374956][ T3272] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 563.375100][ T3272] ? __pfx_netlink_rcv_skb (net/netlink/af_netlink.c:2528) [ 563.375331][ T3272] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 net/netlink/af_netlink.c:340) [ 563.375484][ T3272] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 ./include/net/netns/generic.h:48 net/netlink/af_netlink.c:333) [ 563.375621][ T3272] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 563.375767][ T3272] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 563.375925][ T3272] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 563.376064][ T3272] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 563.376201][ T3272] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 563.376363][ T3272] ? __might_fault (mm/memory.c:6700 mm/memory.c:6693) [ 563.376504][ T3272] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 563.376738][ T3272] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 563.376897][ T3272] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 563.377044][ T3272] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 563.377218][ T3272] ___sys_sendmsg (net/socket.c:2663) [ 563.377451][ T3272] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 563.377590][ T3272] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 563.377750][ T3272] ? __pfx_validate_chain (kernel/locking/lockdep.c:3860) [ 563.377899][ T3272] ? __pfx_slab_free_after_rcu_debug (mm/slub.c:4609) [ 563.378161][ T3272] ? kasan_save_stack (mm/kasan/common.c:49) [ 563.378299][ T3272] ? kasan_save_stack (mm/kasan/common.c:48) [ 563.378435][ T3272] ? __kasan_record_aux_stack (mm/kasan/generic.c:541) [ 563.378586][ T3272] ? __call_rcu_common.constprop.0 (./arch/x86/include/asm/irqflags.h:26 ./arch/x86/include/asm/irqflags.h:87 ./arch/x86/include/asm/irqflags.h:123 kernel/rcu/tree.c:3087) [ 563.378841][ T3272] ? __x64_sys_close (fs/open.c:1568 fs/open.c:1550 fs/open.c:1550) [ 563.378994][ T3272] ? do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 563.379141][ T3272] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 563.379311][ T3272] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 563.379527][ T3272] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 563.379669][ T3272] ? __lock_release (kernel/locking/lockdep.c:5501) [ 563.379819][ T3272] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 563.379927][ T3272] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 563.380145][ T3272] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 563.380289][ T3272] ? __virt_addr_valid (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:962 ./include/linux/mmzone.h:2053 arch/x86/mm/physaddr.c:65) [ 563.380439][ T3272] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 563.380589][ T3272] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 563.380860][ T3272] RIP: 0033:0x7fc05d56e7b7 [ 563.381029][ T3272] Code: 0a 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 89 54 24 1c 48 89 74 24 10 All code ======== 0: 0a 00 or (%rax),%al 2: f7 d8 neg %eax 4: 64 89 02 mov %eax,%fs:(%rdx) 7: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax e: eb b9 jmp 0xffffffffffffffc9 10: 0f 1f 00 nopl (%rax) 13: f3 0f 1e fa endbr64 17: 64 8b 04 25 18 00 00 mov %fs:0x18,%eax 1e: 00 1f: 85 c0 test %eax,%eax 21: 75 10 jne 0x33 23: b8 2e 00 00 00 mov $0x2e,%eax 28: 0f 05 syscall 2a:* 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax <-- trapping instruction 30: 77 51 ja 0x83 32: c3 ret 33: 48 83 ec 28 sub $0x28,%rsp 37: 89 54 24 1c mov %edx,0x1c(%rsp) 3b: 48 89 74 24 10 mov %rsi,0x10(%rsp) Code starting with the faulting instruction =========================================== 0: 48 3d 00 f0 ff ff cmp $0xfffffffffffff000,%rax 6: 77 51 ja 0x59 8: c3 ret 9: 48 83 ec 28 sub $0x28,%rsp d: 89 54 24 1c mov %edx,0x1c(%rsp) 11: 48 89 74 24 10 mov %rsi,0x10(%rsp) [ 563.381618][ T3272] RSP: 002b:00007ffc6417aab8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 563.381912][ T3272] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fc05d56e7b7 [ 563.382123][ T3272] RDX: 0000000000000000 RSI: 00007ffc6417ab20 RDI: 0000000000000005 [ 563.382426][ T3272] RBP: 0000000000000000 R08: 0000000000000003 R09: 0000000000000078 [ 563.382632][ T3272] R10: 00007fc05d42cef8 R11: 0000000000000246 R12: 00007ffc6417b270 Finger prints: neigh_ifdown:fib_inetaddr_event:notifier_call_chain:blocking_notifier_call_chain:__inet_del_ifa print_report:kasan_report:neigh_ifdown:fib_inetaddr_event:notifier_call_chain