Hi, folks.

Found some issues while running tests for the hashing optimization
yesterday with UBsan enabled:

lib/dpif-netdev-avx512.c:186:41: runtime error: left shift of 1 by 31 places 
cannot be represented in type 'int'
    #0 0x20cbf5b in dp_netdev_input_outer_avx512 lib/dpif-netdev-avx512.c:186:41
    #1 0x1914ada in dp_netdev_process_rxq_port lib/dpif-netdev.c:5335:19
    #2 0x1909c11 in pmd_thread_main lib/dpif-netdev.c:6944:17
    #3 0x1c471fa in ovsthread_wrapper lib/ovs-thread.c:422:12
    #4 0x7f6fa48c8179 in start_thread pthread_create.c
    #5 0x7f6fa30b1df2 in clone (/lib64/libc.so.6+0xfcdf2)

lib/dpif-netdev-avx512.c:230:44: runtime error: left shift of 1 by 31 places 
cannot be represented in type 'int'
    #0 0x20cc728 in dp_netdev_input_outer_avx512 lib/dpif-netdev-avx512.c:230:44
    #1 0x1914ada in dp_netdev_process_rxq_port lib/dpif-netdev.c:5335:19
    #2 0x1909c11 in pmd_thread_main lib/dpif-netdev.c:6944:17
    #3 0x1c471fa in ovsthread_wrapper lib/ovs-thread.c:422:12
    #4 0x7f6fa48c8179 in start_thread pthread_create.c
    #5 0x7f6fa30b1df2 in clone (/lib64/libc.so.6+0xfcdf2)

lib/dpif-netdev-extract-avx512.c:691:22: runtime error: left shift of 1 by 31 
places cannot be represented in type 'int'
    #0 0x20bb767 in mfex_avx512_process lib/dpif-netdev-extract-avx512.c:691:22
    #1 0x20bb767 in mfex_avx512_vbmi_ip_udp 
lib/dpif-netdev-extract-avx512.c:727:1
    #2 0x203defc in mfex_study_traffic lib/dpif-netdev-extract-study.c:92:19
    #3 0x20ca804 in dp_netdev_input_outer_avx512 lib/dpif-netdev-avx512.c:159:19
    #4 0x1914ada in dp_netdev_process_rxq_port lib/dpif-netdev.c:5335:19
    #5 0x1909c11 in pmd_thread_main lib/dpif-netdev.c:6944:17
    #6 0x1c471fa in ovsthread_wrapper lib/ovs-thread.c:422:12
    #7 0x7f6fa48c8179 in start_thread pthread_create.c
    #8 0x7f6fa30b1df2 in clone (/lib64/libc.so.6+0xfcdf2)

Line numbers may not exactly match the current master code, since I had
hash optimizations with some tweaks applied, but these are (1 << i) shifts
where 'i' is the packet index in the batch, and 1 << 31 is an overflow of
the signed '1'.

Would be great if someone from the Intel side can fix those, as I don't
have that setup anymore to verify the changes.
Thanks!

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to