the ifa_name is null and ovs-vswitchd crashed.
but i don't know how this happen.

the stack is :
hread 1 (LWP 2275):
(gdb) x/16i $pc
=> 0x7f25f89d235c:      movdqu (%rdi),%xmm1
   0x7f25f89d2360:      movdqu (%rsi),%xmm2
   0x7f25f89d2364:      pxor   %xmm0,%xmm0
   0x7f25f89d2368:      pcmpeqb %xmm1,%xmm0
   0x7f25f89d236c:      pcmpeqb %xmm2,%xmm1
   0x7f25f89d2370:      psubb  %xmm0,%xmm1
   0x7f25f89d2374:      pmovmskb %xmm1,%edx
   0x7f25f89d2378:      sub    $0xffff,%edx
   0x7f25f89d237e:      jne    0x7f25f89d32e0
   0x7f25f89d2384:      sub    $0x10,%r11
   0x7f25f89d2388:      jbe    0x7f25f89d32f4
   0x7f25f89d238e:      add    $0x10,%rsi
   0x7f25f89d2392:      add    $0x10,%rdi
   0x7f25f89d2396:      nopw   %cs:0x0(%rax,%rax,1)
   0x7f25f89d23a0:      and    $0xfffffffffffffff0,%rsi
   0x7f25f89d23a4:      and    $0xfffffffffffffff0,%rdi

(gdb) info registers
rax            0x0      0
rbx            0x2      2
rcx            0x10     16
rdx            0x10     16
rsi            0x7f25e897e450   139800792786000
rdi            0x0      0
rbp            0x7f25e897e450   0x7f25e897e450
rsp            0x7ffcbe33c088   0x7ffcbe33c088
r8             0xffff   65535
r9             0x0      0
r10            0x7f25f89d2ef0   139801061568240
r11            0x10     16
r12            0x7ffcbe33c160   140723499549024
r13            0x7ffcbe33c158   140723499549016
r14            0x7ffcbe33c154   140723499549012
r15            0x7f25e8a0ee80   139800793378432
rip            0x7f25f89d235c   0x7f25f89d235c
eflags         0x13283  [ CF SF IF #12 #13 RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0

Signed-off-by: Haifeng Lin <[email protected]>
---
 lib/netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/netdev.c b/lib/netdev.c
index a7840a8..c0a7eae 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -1942,7 +1942,7 @@ netdev_get_addrs(const char dev[], struct in6_addr 
**paddr,
     }
 
     for (ifa = if_addr_list; ifa; ifa = ifa->ifa_next) {
-        if (ifa->ifa_addr != NULL) {
+        if (ifa->ifa_addr && ifa->ifa_name) {
             int family;
 
             family = ifa->ifa_addr->sa_family;
-- 
1.8.5.2.msysgit.0


_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to