6d890f8ab5
The introduce of virtio 1.0 support brings yet another set of ops, badly, it's not handled correctly, that it breaks the multiple process support. The issue is the data/function pointer may vary from different processes, and the old used to do one time set (for primary process only). That said, the function pointer the secondary process saw is actually from the primary process space. Accessing it could likely result to a crash. Kudos to the last patches, we now be able to maintain those info that may vary among different process locally, meaning every process could have its own copy for each of them, with the correct value set. And this is what this patch does: - remap the PCI (IO port for legacy device and memory map for modern device) - set vtpci_ops correctly After that, multiple process would work like a charm. (At least, it passed my fuzzy test) Fixes: |
||
---|---|---|
.. | ||
af_packet | ||
bnx2x | ||
bnxt | ||
bonding | ||
cxgbe | ||
e1000 | ||
ena | ||
enic | ||
fm10k | ||
i40e | ||
ixgbe | ||
mlx4 | ||
mlx5 | ||
mpipe | ||
nfp | ||
null | ||
pcap | ||
qede | ||
ring | ||
szedata2 | ||
thunderx | ||
vhost | ||
virtio | ||
vmxnet3 | ||
xenvirt | ||
Makefile |