| Bug ID | 1215 |
|---|---|
| Summary | Hotplug sigbus handler is using signal unsafe calls |
| Product | DPDK |
| Version | unspecified |
| Hardware | All |
| OS | All |
| Status | UNCONFIRMED |
| Severity | minor |
| Priority | Normal |
| Component | core |
| Assignee | dev@dpdk.org |
| Reporter | stephen@networkplumber.org |
| Target Milestone | --- |
The sigbus_handler() in lib/eal/linux/eal_dev.c is using many direct library calls and DPDK API's that are not safe to be used in a signal handler. Unsafe routines include RTE_LOG() uses sprintf and syslog. etc.. It is also possible that failure_handle_lock could deadlock if called during a change of state by other thread. The safer way would be to use signalfd() and a monitoring thread. Handling signals in Linux and BSD is hard.