Go to file
Hongbo Zheng a3bc973a04 net/hns3: fix crash when closing port
Currently there is a certain probability of segment error in concurrent
reset when the port is closing.
The calltrace info:

This GDB was configured as "aarch64-redhat-linux-gnu".
Reading symbols from /usr/app/testpmd...(no debugging symbols found)...
 done.
[New LWP 98204]
[New LWP 98203]
[New LWP 98206]
[New LWP 98205]
[New LWP 98207]
[New LWP 98208]
Missing separate debuginfo for /root/lib/libnuma.so.1
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/app/testpmd --log-level=6 --socket-mem 16'.
Program terminated with signal 11, Segmentation fault.
Missing separate debuginfos, use:
 debuginfo-install glibc-2.17-260.el7.aarch64
(gdb) bt
in hns3vf_service_handler ()
1  0x00000000006988b8 in eal_alarm_callback ()
2  0x00000000006969b4 in eal_intr_thread_main ()
3  0x0000ffffb08d6c48 in start_thread () from /lib64/libpthread.so.0
4  0x0000ffffb0828600 in thread_start () from /lib64/libc.so.6
(gdb)

Reset process may turn on the cancelled link state timer whether the
current port status is on or off, in order to solve this problem, this
patch add judge the current network port state before starting the
timer, only the port in the running state can start the link state
timer, so as to solve the problem that the link state timer accesses the
null pointer and causes the segment error.

Fixes: 2790c64647 ("net/hns3: support device reset")
Cc: stable@dpdk.org

Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
2020-01-17 19:46:26 +01:00
.ci ci: add travis ci support for native aarch64 2020-01-14 09:45:23 +01:00
app ethdev: add L2TPv3 over IP header to flow API 2020-01-17 19:46:26 +01:00
buildtools doc: rebuild with meson whenever a file changes 2020-01-15 08:50:28 +01:00
config eal: add wait until equal API 2020-01-17 12:02:21 +01:00
devtools devtools: add path to additional shared object files 2020-01-14 09:45:23 +01:00
doc net/hns3: support setting VF MAC address by PF driver 2020-01-17 19:46:26 +01:00
drivers net/hns3: fix crash when closing port 2020-01-17 19:46:26 +01:00
examples examples/vhost_blk: check unused value on init 2020-01-17 19:46:01 +01:00
kernel kni: fix meson warning about console keyword 2020-01-14 15:05:38 +01:00
lib ethdev: add L2TPv3 over IP header to flow API 2020-01-17 19:46:26 +01:00
license remove blank lines at end of file 2019-11-26 00:12:08 +01:00
mk net/iavf/base: move to drivers common directory 2020-01-17 19:46:02 +01:00
usertools usertools: fix typo in SPDX tag of telemetry script 2019-11-28 03:12:55 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add vDPA features table 2020-01-14 00:09:33 +01:00
.travis.yml ci: switch to Ubuntu 18.04 in Travis 2020-01-19 19:22:41 +01:00
ABI_VERSION build: fix soname info for 19.11 compatibility 2019-12-19 16:18:21 +01:00
GNUmakefile test: move to app directory 2019-02-26 15:29:27 +01:00
MAINTAINERS net/iavf/base: move to drivers common directory 2020-01-17 19:46:02 +01:00
Makefile remove blank lines at end of file 2019-11-26 00:12:08 +01:00
meson_options.txt build: change ABI versioning to global 2019-11-20 23:05:39 +01:00
meson.build build: fix Windows build 2019-11-25 15:07:02 +01:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 20.02-rc0 2019-12-02 17:59:49 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org