Not a normal case, but noticed that setting some callbacks to NULL in rte_vhost_driver_callback_register() causes a seg fault e.g. [0].
Added missing checks before calling. Alternative fix is to make some callbacks mandatory and check during register - is that an API change? maybe, so took simpler approach. A bit hard to find fixed commit due to the time and amount of development in vhost code. [0] 3302│ if (!(dev->flags & VIRTIO_DEV_RUNNING)) { 3303├> if (dev->notify_ops->new_device(dev->vid) == 0) 3304│ dev->flags |= VIRTIO_DEV_RUNNING; 3305│ } (gdb) frame 1 at ../lib/vhost/vhost_user.c:3303 (gdb) p dev->notify_ops->new_device $3 = (int (*)(int)) 0x0 Kevin Traynor (1): vhost: add NULL callback checks lib/vhost/vduse.c | 3 ++- lib/vhost/vhost.c | 5 +++-- lib/vhost/vhost_user.c | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) -- 2.48.1