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