====================================== | [ 127.771523][ T998] ================================================================== | [ 127.771804][ T998] BUG: KASAN: slab-use-after-free in ___neigh_create (./include/linux/rculist.h:598 net/core/neighbour.c:688) | [ 127.772002][ T998] Write of size 8 at addr ffff8880091c3418 by task ip/998 | [ 127.772160][ T998] [ 127.772419][ T998] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 127.772701][ T998] Call Trace: [ 127.772805][ T998] [ 127.772875][ T998] dump_stack_lvl (lib/dump_stack.c:123) [ 127.773010][ T998] print_address_description.constprop.0 (mm/kasan/report.c:378) [ 127.773177][ T998] ? ___neigh_create (./include/linux/rculist.h:598 net/core/neighbour.c:688) [ 127.773311][ T998] print_report (mm/kasan/report.c:489) [ 127.773444][ T998] ? kasan_addr_to_slab (./include/linux/mm.h:1282 mm/kasan/../slab.h:206 mm/kasan/common.c:38) [ 127.773572][ T998] kasan_report (mm/kasan/report.c:603) [ 127.773670][ T998] ? ___neigh_create (./include/linux/rculist.h:598 net/core/neighbour.c:688) [ 127.773799][ T998] ___neigh_create (./include/linux/rculist.h:598 net/core/neighbour.c:688) [ 127.773927][ T998] neigh_add (net/core/neighbour.c:1935) [ 127.774027][ T998] ? __pfx_neigh_add (net/core/neighbour.c:1934) [ 127.774155][ T998] ? __mutex_lock (./arch/x86/include/asm/preempt.h:94 kernel/locking/mutex.c:618 kernel/locking/mutex.c:752) [ 127.774291][ T998] rtnetlink_rcv_msg (net/core/rtnetlink.c:6721) [ 127.774421][ T998] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 127.774551][ T998] ? 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) [ 127.774684][ T998] ? mark_lock (kernel/locking/lockdep.c:4703 (discriminator 3)) [ 127.774785][ T998] ? __lock_acquire (kernel/locking/lockdep.c:5202) [ 127.774911][ T998] netlink_rcv_skb (net/netlink/af_netlink.c:2551) [ 127.775041][ T998] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 127.775169][ T998] ? __pfx_netlink_rcv_skb (net/netlink/af_netlink.c:2528) [ 127.775300][ T998] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 net/netlink/af_netlink.c:340) [ 127.775426][ T998] ? 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) [ 127.775557][ T998] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 127.775686][ T998] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 127.775813][ T998] ? find_held_lock (kernel/locking/lockdep.c:5315) [ 127.775941][ T998] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 127.776069][ T998] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 127.776197][ T998] ? __might_fault (mm/memory.c:6700 mm/memory.c:6693) [ 127.776327][ T998] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 127.776459][ T998] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 127.776591][ T998] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 127.776717][ T998] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 127.776880][ T998] ___sys_sendmsg (net/socket.c:2663) [ 127.777006][ T998] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 127.777136][ T998] ? ___sys_recvmsg (net/socket.c:2858) [ 127.777262][ T998] ? __pfx____sys_recvmsg (net/socket.c:2858) [ 127.777403][ T998] ? reacquire_held_locks (kernel/locking/lockdep.c:5350) [ 127.777529][ T998] ? do_user_addr_fault (./include/linux/rcupdate.h:337 ./include/linux/rcupdate.h:849 ./include/linux/mm.h:727 arch/x86/mm/fault.c:1340) [ 127.777663][ T998] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 127.777763][ T998] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 127.777892][ T998] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 127.778017][ T998] ? __pfx___up_read (kernel/locking/rwsem.c:1337) [ 127.778149][ T998] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 127.778278][ T998] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 127.778437][ T998] RIP: 0033:0x7ffb910617b7 [ 127.778569][ T998] 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) [ 127.779021][ T998] RSP: 002b:00007ffc37af54b8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 127.779234][ T998] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007ffb910617b7 [ 127.779424][ T998] RDX: 0000000000000000 RSI: 00007ffc37af5520 RDI: 0000000000000005 [ 127.779620][ T998] RBP: 0000000000000001 R08: 0000000000000014 R09: 0000000000000000 [ 127.779809][ T998] R10: 00007ffb90f1a708 R11: 0000000000000246 R12: 00007ffc37af6d40 [ 127.780020][ T998] R13: 00000000671676ef R14: 0000000000496600 R15: 00007ffc37af5a60 | [ 130.878498][ T11] br1: port 1(vx10) entered disabled state | [ 133.327733][ T1057] Oops: general protection fault, probably for non-canonical address 0xfbd59c0000000024: 0000 [#1] PREEMPT SMP KASAN NOPTI | [ 133.328105][ T1057] KASAN: maybe wild-memory-access in range [0xdead000000000120-0xdead000000000127] | [ 133.328589][ T1057] Tainted: [B]=BAD_PAGE [ 133.328696][ T1057] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 133.329005][ T1057] RIP: 0010:neigh_flush_dev.isra.0 (./include/linux/list.h:988 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 133.329191][ T1057] 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 [ 133.329689][ T1057] RSP: 0018:ffffc9000160ef10 EFLAGS: 00010a06 [ 133.329868][ T1057] RAX: 1bd5a00000000024 RBX: 0000000000000000 RCX: 1ffffffff16ee62b [ 133.330078][ T1057] RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff8880090a4c08 [ 133.330285][ T1057] RBP: dead000000000122 R08: 0000000000000000 R09: 0000000000000000 [ 133.330496][ T1057] R10: ffffffff8b771f0f R11: ffffc9000160eb21 R12: ffff8880090a4d3c [ 133.330726][ T1057] R13: dffffc0000000000 R14: ffff8880091e1000 R15: ffff8880090a4c00 [ 133.330935][ T1057] FS: 00007f8a11d71800(0000) GS:ffff88802f780000(0000) knlGS:0000000000000000 [ 133.331176][ T1057] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 133.331354][ T1057] CR2: 00000000004e28e0 CR3: 000000000a1a0004 CR4: 0000000000772ef0 [ 133.331569][ T1057] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 133.331778][ T1057] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 133.331985][ T1057] PKRU: 55555554 [ 133.332089][ T1057] Call Trace: [ 133.332201][ T1057] [ 133.332275][ T1057] ? die_addr (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:460) [ 133.332390][ T1057] ? exc_general_protection (arch/x86/kernel/traps.c:751 arch/x86/kernel/traps.c:693) [ 133.332536][ T1057] ? asm_exc_general_protection (./arch/x86/include/asm/idtentry.h:617) [ 133.332680][ T1057] ? neigh_flush_dev.isra.0 (./include/linux/list.h:988 ./include/linux/rculist.h:516 net/core/neighbour.c:384) [ 133.332819][ T1057] ? lock_acquire (kernel/locking/lockdep.c:5798) [ 133.332960][ T1057] __neigh_ifdown.isra.0 (net/core/neighbour.c:826 net/core/neighbour.c:426) [ 133.333102][ T1057] ? fib_flush (net/ipv4/fib_frontend.c:195 (discriminator 11)) [ 133.333210][ T1057] neigh_ifdown (net/core/neighbour.c:445) [ 133.333315][ T1057] fib_netdev_event (net/ipv4/fib_frontend.c:1521) [ 133.333473][ T1057] notifier_call_chain (kernel/notifier.c:93 (discriminator 2)) [ 133.333617][ T1057] dev_close_many (net/core/dev.c:1590) [ 133.333759][ T1057] ? trace_lock_release (./include/trace/events/lock.h:69 (discriminator 52)) [ 133.333902][ T1057] ? __pfx_dev_close_many (net/core/dev.c:1577) [ 133.334041][ T1057] ? __debug_check_no_obj_freed (lib/debugobjects.c:1000) [ 133.334219][ T1057] unregister_netdevice_many_notify (net/core/dev.c:11503) [ 133.334392][ T1057] ? __pfx___debug_check_no_obj_freed (lib/debugobjects.c:960) [ 133.334562][ T1057] ? __pfx_free_object_rcu (mm/kmemleak.c:514) [ 133.334702][ T1057] ? trace_rcu_segcb_stats (./arch/x86/include/asm/bitops.h:227 ./arch/x86/include/asm/bitops.h:239 ./include/asm-generic/bitops/instrumented-non-atomic.h:142 ./include/linux/cpumask.h:570 ./include/linux/cpumask.h:1117 ./include/trace/events/rcu.h:537) [ 133.334849][ T1057] ? __pfx_unregister_netdevice_many_notify (net/core/dev.c:11470) [ 133.335024][ T1057] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40) [ 133.335205][ T1057] ? kfree (mm/slub.c:4579 mm/slub.c:4727) [ 133.335310][ T1057] ? netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 133.335447][ T1057] ? vlan_vid_del (net/8021q/vlan_core.c:368 net/8021q/vlan_core.c:387) [ 133.335588][ T1057] ? vlan_vid_del (net/8021q/vlan_core.c:368 net/8021q/vlan_core.c:387) [ 133.335727][ T1057] rtnl_dellink (net/core/rtnetlink.c:3329 net/core/rtnetlink.c:3379) [ 133.335875][ T1057] ? rtnl_getlink (./include/net/netlink.h:1159 net/core/rtnetlink.c:819 net/core/rtnetlink.c:3937) [ 133.336013][ T1057] ? __pfx_rtnl_dellink (net/core/rtnetlink.c:3335) [ 133.336171][ T1057] ? trace_contention_end (./include/trace/events/lock.h:122 (discriminator 52)) [ 133.336317][ T1057] ? __mutex_lock (./arch/x86/include/asm/preempt.h:94 kernel/locking/mutex.c:618 kernel/locking/mutex.c:752) [ 133.336456][ T1057] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 133.336597][ T1057] ? rtnetlink_rcv_msg (net/core/rtnetlink.c:6719) [ 133.336736][ T1057] ? __pfx___mutex_lock (kernel/locking/mutex.c:751) [ 133.336874][ T1057] ? trace_lock_release (./include/trace/events/lock.h:69 (discriminator 52)) [ 133.337012][ T1057] ? trace_lock_acquire (./include/trace/events/lock.h:24 (discriminator 52)) [ 133.337151][ T1057] rtnetlink_rcv_msg (net/core/rtnetlink.c:6721) [ 133.337293][ T1057] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 133.337445][ T1057] ? stack_trace_save (kernel/stacktrace.c:123) [ 133.337588][ T1057] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 133.337729][ T1057] netlink_rcv_skb (net/netlink/af_netlink.c:2551) [ 133.337868][ T1057] ? __pfx_rtnetlink_rcv_msg (net/core/rtnetlink.c:6615) [ 133.338008][ T1057] ? __pfx_netlink_rcv_skb (net/netlink/af_netlink.c:2528) [ 133.338148][ T1057] ? trace_lock_release (./include/trace/events/lock.h:69 (discriminator 52)) [ 133.338289][ T1057] ? 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) [ 133.338427][ T1057] ? netlink_deliver_tap (./include/linux/rcupdate.h:347 ./include/linux/rcupdate.h:880 net/netlink/af_netlink.c:340) [ 133.338567][ T1057] ? lock_release (kernel/locking/lockdep.c:116 kernel/locking/lockdep.c:5838) [ 133.338706][ T1057] ? 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) [ 133.338843][ T1057] netlink_unicast (net/netlink/af_netlink.c:1331 net/netlink/af_netlink.c:1357) [ 133.338991][ T1057] ? __pfx_netlink_unicast (net/netlink/af_netlink.c:1342) [ 133.339134][ T1057] netlink_sendmsg (net/netlink/af_netlink.c:1901) [ 133.339274][ T1057] ? __pfx_netlink_sendmsg (net/netlink/af_netlink.c:1820) [ 133.339415][ T1057] ? __might_fault (mm/memory.c:6700 mm/memory.c:6693) [ 133.339554][ T1057] ? __import_iovec (lib/iov_iter.c:1433 lib/iov_iter.c:1449) [ 133.339693][ T1057] ? lock_release (kernel/locking/lockdep.c:116 kernel/locking/lockdep.c:5838) [ 133.339839][ T1057] ____sys_sendmsg (net/socket.c:729 net/socket.c:744 net/socket.c:2607) [ 133.339977][ T1057] ? __pfx_____sys_sendmsg (net/socket.c:2553) [ 133.340115][ T1057] ? __pfx_copy_msghdr_from_user (net/socket.c:2533) [ 133.340291][ T1057] ___sys_sendmsg (net/socket.c:2663) [ 133.340430][ T1057] ? __pfx_stack_trace_save (kernel/stacktrace.c:114) [ 133.340579][ T1057] ? __pfx____sys_sendmsg (net/socket.c:2650) [ 133.340719][ T1057] ? __pfx_slab_free_after_rcu_debug (mm/slub.c:4609) [ 133.340891][ T1057] ? kasan_save_stack (mm/kasan/common.c:49) [ 133.341031][ T1057] ? kasan_save_stack (mm/kasan/common.c:48) [ 133.341170][ T1057] ? __kasan_record_aux_stack (mm/kasan/generic.c:541) [ 133.341310][ T1057] ? __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) [ 133.341491][ T1057] ? __x64_sys_close (fs/open.c:1568 fs/open.c:1550 fs/open.c:1550) [ 133.341641][ T1057] ? do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 133.341785][ T1057] ? entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 133.341958][ T1057] ? __pfx_do_raw_spin_lock (kernel/locking/spinlock_debug.c:114) [ 133.342098][ T1057] ? trace_lock_release (./include/trace/events/lock.h:69 (discriminator 52)) [ 133.342239][ T1057] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40) [ 133.342413][ T1057] ? fdget (./include/linux/atomic/atomic-arch-fallback.h:479 ./include/linux/atomic/atomic-instrumented.h:50 fs/file.c:1114 fs/file.c:1128) [ 133.342520][ T1057] __sys_sendmsg (./include/linux/file.h:35 net/socket.c:2692) [ 133.342657][ T1057] ? __pfx___sys_sendmsg (net/socket.c:2678) [ 133.342797][ T1057] ? trace_lock_release (./include/trace/events/lock.h:69 (discriminator 52)) [ 133.342941][ T1057] ? trace_irq_enable.constprop.0 (./include/trace/events/preemptirq.h:40) [ 133.343121][ T1057] do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) [ 133.343260][ T1057] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) [ 133.343431][ T1057] RIP: 0033:0x7f8a11f7d7b7 [ 133.343578][ T1057] 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) [ 133.344077][ T1057] RSP: 002b:00007fff46ac15d8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 133.344289][ T1057] RAX: ffffffffffffffda RBX: 00007fff46ac1d00 RCX: 00007f8a11f7d7b7 [ 133.344496][ T1057] RDX: 0000000000000000 RSI: 00007fff46ac1640 RDI: 0000000000000005 [ 133.344707][ T1057] RBP: 0000000000000002 R08: 0000000000000003 R09: 0000000000000078 [ 133.344916][ T1057] R10: 00007f8a11e3bef8 R11: 0000000000000246 R12: 0000000000000002 Finger prints: neigh_ifdown:fib_netdev_event:notifier_call_chain:dev_close_many:unregister_netdevice_many_notify print_report:kasan_report:___neigh_create:neigh_add:rtnetlink_rcv_msg