Home Embedded Vulns General Vulns

CVE-2022-50058

Our Analysis: General-Purpose

Our model has classified this vulnerability as relevant to General-Purpose Systems, helping your team prioritize efforts effectively.

Published Date June 18, 2025
Last Modified June 18, 2025
CVSS Vector Not Available

Description

In the Linux kernel, the following vulnerability has been resolved:

vdpa_sim_blk: set number of address spaces and virtqueue groups

Commit bda324fd037a ("vdpasim: control virtqueue support") added two
new fields (nas, ngroups) to vdpasim_dev_attr, but we forgot to
initialize them for vdpa_sim_blk.

When creating a new vdpa_sim_blk device this causes the kernel
to panic in this way:
   $ vdpa dev add mgmtdev vdpasim_blk name blk0
   BUG: kernel NULL pointer dereference, address: 0000000000000030
   ...
   RIP: 0010:vhost_iotlb_add_range_ctx+0x41/0x220 [vhost_iotlb]
   ...
   Call Trace:
    <TASK>
    vhost_iotlb_add_range+0x11/0x800 [vhost_iotlb]
    vdpasim_map_range+0x91/0xd0 [vdpa_sim]
    vdpasim_alloc_coherent+0x56/0x90 [vdpa_sim]
    ...

This happens because vdpasim->iommu[0] is not initialized when
dev_attr.nas is 0.

Let's fix this issue by initializing both (nas, ngroups) to 1 for
vdpa_sim_blk.