On Mon, 2024-09-16 at 14:32 -0400, Michael S. Tsirkin wrote: > This fixes the following issue discovered by code review: > > after vqs have been created, a buggy device can send an interrupt. > > A control vq callback will then try to schedule control_work which > has > not been initialized yet. Similarly for config interrupt. Further, > in > and out vq callbacks invoke find_port_by_vq which attempts to take > ports_lock which also has not been initialized. > > To fix, init all locks and work before creating vqs. > > Fixes: 17634ba25544 ("virtio: console: Add a new MULTIPORT feature, > support for generic ports") > Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Amit Shah <amit@xxxxxxxxxx>