BUG REPORT: vfio_pci driver

From: Russ Weight
Date: Fri Aug 13 2021 - 14:38:53 EST


Bug Description:

A bug in the vfio_pci driver was reported in junction with work on FPGA
cards. We were able to reproduce and root-cause the bug using system-tap.
The original bug description is below. An understanding of the referenced
dfl and opae tools is not required - it is the sequence of IOCTL calls and
IRQ vectors that matters:

> I’m trying to get an example AFU working that uses 2 IRQs, active at the same
> time. I’m hitting what looks to be a dfl_pci driver bug.
>
> The code tries to allocate two IRQ vectors: 0 and 1. I see opaevfio.c doing the
> right thing, picking the MSIX index. Allocating either IRQ 0 or IRQ 1 works fine
> and I confirm that the VFIO_DEVICE_SET_IRQS looks reasonable, choosing MSIX and
> either start of 0 or 1 and count 1.
>
> Note that opaevfio.c always passes count 1, so it will make separate calls for
> each IRQ vector.
>
> When I try to allocate both, I see the following:
>
> * If the VFIO_DEVICE_SET_IRQS ioctl is called first with start 0 and then
> start 1 (always count 1), the start 1 (second) ioctl trap returns EINVAL.
> * If I set up the vectors in decreasing order, so start 1 followed by start 0,
> the program works!
> * I ruled out OPAE SDK user space problems by setting up my program to
> allocate in increasing order, which would normally fail. I changed only the
> ioctl call in user space opaevfio.c, inverting bit 0 of start so that the
> driver is called in decreasing index order. Of course this binds the wrong
> vectors to the fds, but I don’t care about that for now. This works! From
> this, I conclude that it can’t be a user space problem since the difference
> between working and failing is solely the order in which IRQ vectors are
> bound in ioctl calls.

The EINVAL is coming from vfio_msi_set_block() here:
https://github.com/torvalds/linux/blob/master/drivers/vfio/pci/vfio_pci_intrs.c#L373

vfio_msi_set_block() is being called from vfio_pci_set_msi_trigger() here on
the second IRQ request:
https://github.com/torvalds/linux/blob/master/drivers/vfio/pci/vfio_pci_intrs.c#L530

We believe the bug is in vfio_pci_set_msi_trigger(), in the 2nd parameter to the call
to vfio_msi_enable() here:
https://github.com/torvalds/linux/blob/master/drivers/vfio/pci/vfio_pci_intrs.c#L533

In both the passing and failing cases, the first IRQ request results in a call
to vfio_msi_enable() at line 533 and the second IRQ request results in the
call to vfio_msi_set_block() at line 530. It is during the first IRQ request
that vfio_msi_enable() sets vdev->num_ctx based on the 2nd parameter (nvec).
vdev->num_ctx is part of the conditional that results in the EINVAL for the
failing case.

In the passing case, vdev->num_ctx is 2. In the failing case, it is 1.

I am attaching two text files containing trace information from systemtap: one for
the failing case and one for the passing case. They contain a lot more information
than is needed, but if you search for vfio_pci_set_msi_trigger and vfio_msi_set_block,
you will see values for some of the call parameters.

- Russ

0 irqtest(103848): -> vfio_pci_match
8 irqtest(103848): -> get_pf_vdev
12 irqtest(103848): <- get_pf_vdev
13 irqtest(103848): <- vfio_pci_match
0 irqtest(103848): -> vfio_pci_open
4 irqtest(103848): -> vfio_pci_set_power_state
7 irqtest(103848): <- vfio_pci_set_power_state
108747 irqtest(103848): -> pci_restore_msi_state
108756 irqtest(103848): <- pci_restore_msi_state
108806 irqtest(103848): -> vfio_config_init
108814 irqtest(103848): -> vfio_fill_vconfig_bytes
108842 irqtest(103848): <- vfio_fill_vconfig_bytes
108853 irqtest(103848): -> vfio_fill_vconfig_bytes
108861 irqtest(103848): <- vfio_fill_vconfig_bytes
108869 irqtest(103848): -> vfio_fill_vconfig_bytes
108891 irqtest(103848): <- vfio_fill_vconfig_bytes
108896 irqtest(103848): -> vfio_fill_vconfig_bytes
108902 irqtest(103848): <- vfio_fill_vconfig_bytes
108906 irqtest(103848): <- vfio_config_init
108914 irqtest(103848): -> vfio_pci_vf_token_user_add
108920 irqtest(103848): -> get_pf_vdev
108925 irqtest(103848): <- get_pf_vdev
108929 irqtest(103848): <- vfio_pci_vf_token_user_add
108934 irqtest(103848): <- vfio_pci_open
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
7 irqtest(103848): <- vfio_pci_ioctl
0 irqtest(103848): -> vfio_pci_read
7 irqtest(103848): -> vfio_pci_rw
13 irqtest(103848): -> vfio_pci_config_rw
21 irqtest(103848): -> vfio_basic_config_read
27 irqtest(103848): -> vfio_default_config_read
34 irqtest(103848): -> vfio_user_config_read
42 irqtest(103848): <- vfio_user_config_read
46 irqtest(103848): <- vfio_default_config_read
51 irqtest(103848): <- vfio_basic_config_read
56 irqtest(103848): <- vfio_pci_config_rw
59 irqtest(103848): <- vfio_pci_rw
63 irqtest(103848): <- vfio_pci_read
0 irqtest(103848): -> vfio_pci_write
18 irqtest(103848): -> vfio_pci_rw
19 irqtest(103848): -> vfio_pci_config_rw
22 irqtest(103848): -> vfio_basic_config_write
27 irqtest(103848): -> vfio_default_config_write
29 irqtest(103848): -> vfio_user_config_read
31 irqtest(103848): <- vfio_user_config_read
33 irqtest(103848): -> vfio_user_config_write
36 irqtest(103848): <- vfio_user_config_write
37 irqtest(103848): <- vfio_default_config_write
39 irqtest(103848): <- vfio_basic_config_write
40 irqtest(103848): <- vfio_pci_config_rw
41 irqtest(103848): <- vfio_pci_rw
43 irqtest(103848): <- vfio_pci_write
vfio_pci_ioctl was called: 15211
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
2 irqtest(103848): <- vfio_pci_ioctl
0 irqtest(103848): -> vfio_pci_mmap
32 irqtest(103848): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
2 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
0 irqtest(103848): -> vfio_pci_mmap
7 irqtest(103848): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
2 irqtest(103848): -> vfio_pci_get_irq_count
4 irqtest(103848): <- vfio_pci_get_irq_count
5 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
2 irqtest(103848): <- vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_get_irq_count
4 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
2 irqtest(103848): <- vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_get_irq_count
4 irqtest(103848): <- vfio_pci_ioctl
0 irqtest(103848): -> vfio_pci_mmap_fault
4 irqtest(103848): -> __vfio_pci_memory_enabled
6 irqtest(103848): <- __vfio_pci_memory_enabled
9 irqtest(103848): <- vfio_pci_mmap_fault
0 irqtest(103848): -> vfio_pci_mmap_fault
1 irqtest(103848): -> __vfio_pci_memory_enabled
2 irqtest(103848): <- __vfio_pci_memory_enabled
4 irqtest(103848): <- vfio_pci_mmap_fault
0 irqtest(103848): -> vfio_pci_mmap_close
2 irqtest(103848): <- vfio_pci_mmap_close
0 irqtest(103848): -> vfio_pci_mmap_close
1 irqtest(103848): <- vfio_pci_mmap_close
0 irqtest(103848): -> vfio_pci_release
2 irqtest(103848): -> vfio_pci_vf_token_user_add
3 irqtest(103848): -> get_pf_vdev
5 irqtest(103848): <- get_pf_vdev
6 irqtest(103848): <- vfio_pci_vf_token_user_add
9 irqtest(103848): -> vfio_pci_set_irqs_ioctl
12 irqtest(103848): <- vfio_pci_set_irqs_ioctl
14 irqtest(103848): -> vfio_config_free
16 irqtest(103848): <- vfio_config_free
103469 irqtest(103848): -> pci_restore_msi_state
103478 irqtest(103848): <- pci_restore_msi_state
103490 irqtest(103848): -> vfio_pci_walk_wrapper
103496 irqtest(103848): -> vfio_pci_count_devs
103502 irqtest(103848): <- vfio_pci_count_devs
103506 irqtest(103848): <- vfio_pci_walk_wrapper
103510 irqtest(103848): -> vfio_pci_walk_wrapper
103515 irqtest(103848): -> vfio_pci_count_devs
103519 irqtest(103848): <- vfio_pci_count_devs
103522 irqtest(103848): <- vfio_pci_walk_wrapper
103526 irqtest(103848): -> vfio_pci_walk_wrapper
103530 irqtest(103848): -> vfio_pci_count_devs
103534 irqtest(103848): <- vfio_pci_count_devs
103538 irqtest(103848): <- vfio_pci_walk_wrapper
103541 irqtest(103848): -> vfio_pci_walk_wrapper
103545 irqtest(103848): -> vfio_pci_count_devs
103549 irqtest(103848): <- vfio_pci_count_devs
103553 irqtest(103848): <- vfio_pci_walk_wrapper
103558 irqtest(103848): -> vfio_pci_walk_wrapper
103563 irqtest(103848): -> vfio_pci_get_unused_devs
103570 irqtest(103848): <- vfio_pci_get_unused_devs
103574 irqtest(103848): <- vfio_pci_walk_wrapper
103579 irqtest(103848): -> vfio_pci_set_power_state
103584 irqtest(103848): <- vfio_pci_set_power_state
103588 irqtest(103848): <- vfio_pci_release
0 irqtest(103848): -> vfio_pci_match
2 irqtest(103848): -> get_pf_vdev
4 irqtest(103848): <- get_pf_vdev
5 irqtest(103848): <- vfio_pci_match
0 irqtest(103848): -> vfio_pci_open
1 irqtest(103848): -> vfio_pci_set_power_state
3 irqtest(103848): <- vfio_pci_set_power_state
103601 irqtest(103848): -> pci_restore_msi_state
103611 irqtest(103848): <- pci_restore_msi_state
103658 irqtest(103848): -> vfio_config_init
103665 irqtest(103848): -> vfio_fill_vconfig_bytes
103693 irqtest(103848): <- vfio_fill_vconfig_bytes
103703 irqtest(103848): -> vfio_fill_vconfig_bytes
103711 irqtest(103848): <- vfio_fill_vconfig_bytes
103719 irqtest(103848): -> vfio_fill_vconfig_bytes
103741 irqtest(103848): <- vfio_fill_vconfig_bytes
103746 irqtest(103848): -> vfio_fill_vconfig_bytes
103752 irqtest(103848): <- vfio_fill_vconfig_bytes
103756 irqtest(103848): <- vfio_config_init
103764 irqtest(103848): -> vfio_pci_vf_token_user_add
103769 irqtest(103848): -> get_pf_vdev
103774 irqtest(103848): <- get_pf_vdev
103778 irqtest(103848): <- vfio_pci_vf_token_user_add
103782 irqtest(103848): <- vfio_pci_open
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
6 irqtest(103848): <- vfio_pci_ioctl
0 irqtest(103848): -> vfio_pci_read
5 irqtest(103848): -> vfio_pci_rw
10 irqtest(103848): -> vfio_pci_config_rw
16 irqtest(103848): -> vfio_basic_config_read
21 irqtest(103848): -> vfio_default_config_read
27 irqtest(103848): -> vfio_user_config_read
33 irqtest(103848): <- vfio_user_config_read
37 irqtest(103848): <- vfio_default_config_read
42 irqtest(103848): <- vfio_basic_config_read
47 irqtest(103848): <- vfio_pci_config_rw
50 irqtest(103848): <- vfio_pci_rw
54 irqtest(103848): <- vfio_pci_read
0 irqtest(103848): -> vfio_pci_write
4 irqtest(103848): -> vfio_pci_rw
8 irqtest(103848): -> vfio_pci_config_rw
13 irqtest(103848): -> vfio_basic_config_write
21 irqtest(103848): -> vfio_default_config_write
26 irqtest(103848): -> vfio_user_config_read
31 irqtest(103848): <- vfio_user_config_read
36 irqtest(103848): -> vfio_user_config_write
42 irqtest(103848): <- vfio_user_config_write
47 irqtest(103848): <- vfio_default_config_write
51 irqtest(103848): <- vfio_basic_config_write
55 irqtest(103848): <- vfio_pci_config_rw
59 irqtest(103848): <- vfio_pci_rw
62 irqtest(103848): <- vfio_pci_write
vfio_pci_ioctl was called: 15211
0 irqtest(103848): -> vfio_pci_ioctl
4 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
4 irqtest(103848): <- vfio_pci_ioctl
0 irqtest(103848): -> vfio_pci_mmap
45 irqtest(103848): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
0 irqtest(103848): -> vfio_pci_mmap
6 irqtest(103848): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_get_irq_count
4 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
2 irqtest(103848): <- vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_get_irq_count
4 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
2 irqtest(103848): <- vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15214
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_get_irq_count
4 irqtest(103848): -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x5 0x2 0x1 0x24
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
10 irqtest(103848): -> vfio_pci_set_msi_trigger
12 irqtest(103848): -> vfio_pci_memory_lock_and_enable
16 irqtest(103848): <- vfio_pci_memory_lock_and_enable
18 irqtest(103848): -> pci_alloc_irq_vectors_affinity
20 irqtest(103848): -> __pci_enable_msix_range
23 irqtest(103848): -> pci_msi_supported
25 irqtest(103848): <- pci_msi_supported
27 irqtest(103848): -> pci_msix_vec_count
30 irqtest(103848): <- pci_msix_vec_count
40 irqtest(103848): -> pci_msix_vec_count
42 irqtest(103848): <- pci_msix_vec_count
47 irqtest(103848): -> pci_msi_setup_msi_irqs
55 irqtest(103848): -> pci_msi_domain_check_cap
57 irqtest(103848): <- pci_msi_domain_check_cap
60 irqtest(103848): -> pci_msi_domain_calc_hwirq
62 irqtest(103848): <- pci_msi_domain_calc_hwirq
139 irqtest(103848): -> pci_msi_domain_calc_hwirq
140 irqtest(103848): <- pci_msi_domain_calc_hwirq
181 irqtest(103848): -> pci_msi_domain_write_msg
183 irqtest(103848): -> __pci_write_msi_msg
185 irqtest(103848): <- __pci_write_msi_msg
187 irqtest(103848): <- pci_msi_domain_write_msg
195 irqtest(103848): -> pci_msi_domain_write_msg
196 irqtest(103848): -> __pci_write_msi_msg
197 irqtest(103848): <- __pci_write_msi_msg
198 irqtest(103848): <- pci_msi_domain_write_msg
204 irqtest(103848): <- pci_msi_setup_msi_irqs
206 irqtest(103848): -> msi_verify_entries
208 irqtest(103848): <- msi_verify_entries
212 irqtest(103848): -> __pci_msix_desc_mask_irq
214 irqtest(103848): <- __pci_msix_desc_mask_irq
216 irqtest(103848): -> __pci_msix_desc_mask_irq
217 irqtest(103848): <- __pci_msix_desc_mask_irq
218 irqtest(103848): -> populate_msi_sysfs
223 irqtest(103848): <- populate_msi_sysfs
228 irqtest(103848): <- __pci_enable_msix_range
229 irqtest(103848): <- pci_alloc_irq_vectors_affinity
231 irqtest(103848): -> vfio_pci_memory_unlock_and_restore
234 irqtest(103848): <- vfio_pci_memory_unlock_and_restore
vfio_msi_set_block: start: count: 0x1, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x2
237 irqtest(103848): -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 1 / 7
241 irqtest(103848): -> vfio_msi_set_vector_signal
244 irqtest(103848): -> pci_irq_vector
246 irqtest(103848): <- pci_irq_vector
248 irqtest(103848): -> vfio_pci_memory_lock_and_enable
251 irqtest(103848): <- vfio_pci_memory_lock_and_enable
256 irqtest(103848): -> pci_write_msi_msg
259 irqtest(103848): -> __pci_write_msi_msg
261 irqtest(103848): <- __pci_write_msi_msg
262 irqtest(103848): <- pci_write_msi_msg
280 irqtest(103848): -> pci_msi_domain_write_msg
281 irqtest(103848): -> __pci_write_msi_msg
282 irqtest(103848): <- __pci_write_msi_msg
283 irqtest(103848): <- pci_msi_domain_write_msg
289 irqtest(103848): -> pci_msi_unmask_irq
292 irqtest(103848): -> msi_set_mask_bit
293 irqtest(103848): -> __pci_msix_desc_mask_irq
295 irqtest(103848): <- __pci_msix_desc_mask_irq
297 irqtest(103848): <- msi_set_mask_bit
298 irqtest(103848): <- pci_msi_unmask_irq
323 irqtest(103848): -> vfio_pci_memory_unlock_and_restore
325 irqtest(103848): <- vfio_pci_memory_unlock_and_restore
327 irqtest(103848): <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
330 irqtest(103848): <- vfio_msi_set_block
331 irqtest(103848): <- vfio_pci_set_msi_trigger
332 irqtest(103848): <- vfio_pci_set_irqs_ioctl
334 irqtest(103848): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15214
0 irqtest(103848): -> vfio_pci_ioctl
1 irqtest(103848): -> vfio_pci_get_irq_count
3 irqtest(103848): <- vfio_pci_get_irq_count
5 irqtest(103848): -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x2 0x2 0x0 0x24
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
7 irqtest(103848): -> vfio_pci_set_msi_trigger
vfio_msi_set_block: start: count: 0x0, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x2
9 irqtest(103848): -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 0 / 8
11 irqtest(103848): -> vfio_msi_set_vector_signal
13 irqtest(103848): -> pci_irq_vector
14 irqtest(103848): <- pci_irq_vector
15 irqtest(103848): -> vfio_pci_memory_lock_and_enable
18 irqtest(103848): <- vfio_pci_memory_lock_and_enable
21 irqtest(103848): -> pci_write_msi_msg
23 irqtest(103848): -> __pci_write_msi_msg
24 irqtest(103848): <- __pci_write_msi_msg
25 irqtest(103848): <- pci_write_msi_msg
34 irqtest(103848): -> pci_msi_domain_write_msg
35 irqtest(103848): -> __pci_write_msi_msg
36 irqtest(103848): <- __pci_write_msi_msg
37 irqtest(103848): <- pci_msi_domain_write_msg
40 irqtest(103848): -> pci_msi_unmask_irq
41 irqtest(103848): -> msi_set_mask_bit
42 irqtest(103848): -> __pci_msix_desc_mask_irq
43 irqtest(103848): <- __pci_msix_desc_mask_irq
45 irqtest(103848): <- msi_set_mask_bit
46 irqtest(103848): <- pci_msi_unmask_irq
62 irqtest(103848): -> vfio_pci_memory_unlock_and_restore
64 irqtest(103848): <- vfio_pci_memory_unlock_and_restore
66 irqtest(103848): <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
67 irqtest(103848): <- vfio_msi_set_block
68 irqtest(103848): <- vfio_pci_set_msi_trigger
69 irqtest(103848): <- vfio_pci_set_irqs_ioctl
70 irqtest(103848): <- vfio_pci_ioctl
0 irqtest(103848): -> vfio_pci_mmap_close
1 irqtest(103848): <- vfio_pci_mmap_close
0 irqtest(103848): -> vfio_pci_mmap_close
1 irqtest(103848): <- vfio_pci_mmap_close
0 irqtest(103848): -> vfio_pci_release
1 irqtest(103848): -> vfio_pci_vf_token_user_add
3 irqtest(103848): -> get_pf_vdev
4 irqtest(103848): <- get_pf_vdev
5 irqtest(103848): <- vfio_pci_vf_token_user_add
8 irqtest(103848): -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x2 0x2 0x0 0x21
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
11 irqtest(103848): -> vfio_pci_set_msi_trigger
14 irqtest(103848): -> vfio_msi_disable
vfio_msi_set_block: start: count: 0x0, 0x2
vfio_msi_set_block: vdev->num_ctx: 0x2
18 irqtest(103848): -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 0 / -1
20 irqtest(103848): -> vfio_msi_set_vector_signal
21 irqtest(103848): -> pci_irq_vector
22 irqtest(103848): <- pci_irq_vector
24 irqtest(103848): -> vfio_pci_memory_lock_and_enable
26 irqtest(103848): <- vfio_pci_memory_lock_and_enable
36 irqtest(103848): -> pci_msi_mask_irq
38 irqtest(103848): -> msi_set_mask_bit
39 irqtest(103848): -> __pci_msix_desc_mask_irq
41 irqtest(103848): <- __pci_msix_desc_mask_irq
43 irqtest(103848): <- msi_set_mask_bit
44 irqtest(103848): <- pci_msi_mask_irq
55 irqtest(103848): -> pci_msi_domain_write_msg
56 irqtest(103848): -> __pci_write_msi_msg
58 irqtest(103848): <- __pci_write_msi_msg
58 irqtest(103848): <- pci_msi_domain_write_msg
68 irqtest(103848): -> vfio_pci_memory_unlock_and_restore
70 irqtest(103848): <- vfio_pci_memory_unlock_and_restore
72 irqtest(103848): <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
vfio_msi_set_vector_signal was called: 1 / -1
74 irqtest(103848): -> vfio_msi_set_vector_signal
75 irqtest(103848): -> pci_irq_vector
76 irqtest(103848): <- pci_irq_vector
77 irqtest(103848): -> vfio_pci_memory_lock_and_enable
80 irqtest(103848): <- vfio_pci_memory_lock_and_enable
84 irqtest(103848): -> pci_msi_mask_irq
85 irqtest(103848): -> msi_set_mask_bit
86 irqtest(103848): -> __pci_msix_desc_mask_irq
87 irqtest(103848): <- __pci_msix_desc_mask_irq
89 irqtest(103848): <- msi_set_mask_bit
90 irqtest(103848): <- pci_msi_mask_irq
94 irqtest(103848): -> pci_msi_domain_write_msg
95 irqtest(103848): -> __pci_write_msi_msg
96 irqtest(103848): <- __pci_write_msi_msg
97 irqtest(103848): <- pci_msi_domain_write_msg
102 irqtest(103848): -> vfio_pci_memory_unlock_and_restore
104 irqtest(103848): <- vfio_pci_memory_unlock_and_restore
105 irqtest(103848): <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
106 irqtest(103848): <- vfio_msi_set_block
107 irqtest(103848): -> vfio_pci_memory_lock_and_enable
110 irqtest(103848): <- vfio_pci_memory_lock_and_enable
112 irqtest(103848): -> pci_free_irq_vectors
114 irqtest(103848): -> pci_disable_msix
119 irqtest(103848): -> free_msi_irqs
123 irqtest(103848): -> default_teardown_msi_irqs
210 irqtest(103848): <- default_teardown_msi_irqs
218 irqtest(103848): <- free_msi_irqs
219 irqtest(103848): <- pci_disable_msix
220 irqtest(103848): -> pci_disable_msi
222 irqtest(103848): <- pci_disable_msi
223 irqtest(103848): <- pci_free_irq_vectors
224 irqtest(103848): -> vfio_pci_memory_unlock_and_restore
226 irqtest(103848): <- vfio_pci_memory_unlock_and_restore
227 irqtest(103848): <- vfio_msi_disable
228 irqtest(103848): <- vfio_pci_set_msi_trigger
229 irqtest(103848): <- vfio_pci_set_irqs_ioctl
231 irqtest(103848): -> vfio_config_free
232 irqtest(103848): <- vfio_config_free
103062 irqtest(103848): -> pci_restore_msi_state
103071 irqtest(103848): <- pci_restore_msi_state
103082 irqtest(103848): -> vfio_pci_walk_wrapper
103087 irqtest(103848): -> vfio_pci_count_devs
103092 irqtest(103848): <- vfio_pci_count_devs
103096 irqtest(103848): <- vfio_pci_walk_wrapper
103100 irqtest(103848): -> vfio_pci_walk_wrapper
103105 irqtest(103848): -> vfio_pci_count_devs
103108 irqtest(103848): <- vfio_pci_count_devs
103112 irqtest(103848): <- vfio_pci_walk_wrapper
103116 irqtest(103848): -> vfio_pci_walk_wrapper
103120 irqtest(103848): -> vfio_pci_count_devs
103124 irqtest(103848): <- vfio_pci_count_devs
103128 irqtest(103848): <- vfio_pci_walk_wrapper
103132 irqtest(103848): -> vfio_pci_walk_wrapper
103136 irqtest(103848): -> vfio_pci_count_devs
103139 irqtest(103848): <- vfio_pci_count_devs
103143 irqtest(103848): <- vfio_pci_walk_wrapper
103147 irqtest(103848): -> vfio_pci_walk_wrapper
103152 irqtest(103848): -> vfio_pci_get_unused_devs
103157 irqtest(103848): <- vfio_pci_get_unused_devs
103161 irqtest(103848): <- vfio_pci_walk_wrapper
103167 irqtest(103848): -> vfio_pci_set_power_state
103171 irqtest(103848): <- vfio_pci_set_power_state
103176 irqtest(103848): <- vfio_pci_release
0 irqtest(103741): -> vfio_pci_match
5 irqtest(103741): -> get_pf_vdev
8 irqtest(103741): <- get_pf_vdev
9 irqtest(103741): <- vfio_pci_match
0 irqtest(103741): -> vfio_pci_open
2 irqtest(103741): -> vfio_pci_set_power_state
4 irqtest(103741): <- vfio_pci_set_power_state
102476 irqtest(103741): -> pci_restore_msi_state
102479 irqtest(103741): <- pci_restore_msi_state
102506 irqtest(103741): -> vfio_config_init
102509 irqtest(103741): -> vfio_fill_vconfig_bytes
102523 irqtest(103741): <- vfio_fill_vconfig_bytes
102528 irqtest(103741): -> vfio_fill_vconfig_bytes
102531 irqtest(103741): <- vfio_fill_vconfig_bytes
102535 irqtest(103741): -> vfio_fill_vconfig_bytes
102546 irqtest(103741): <- vfio_fill_vconfig_bytes
102548 irqtest(103741): -> vfio_fill_vconfig_bytes
102551 irqtest(103741): <- vfio_fill_vconfig_bytes
102552 irqtest(103741): <- vfio_config_init
102555 irqtest(103741): -> vfio_pci_vf_token_user_add
102557 irqtest(103741): -> get_pf_vdev
102559 irqtest(103741): <- get_pf_vdev
102560 irqtest(103741): <- vfio_pci_vf_token_user_add
102561 irqtest(103741): <- vfio_pci_open
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
2 irqtest(103741): <- vfio_pci_ioctl
0 irqtest(103741): -> vfio_pci_read
2 irqtest(103741): -> vfio_pci_rw
4 irqtest(103741): -> vfio_pci_config_rw
7 irqtest(103741): -> vfio_basic_config_read
8 irqtest(103741): -> vfio_default_config_read
11 irqtest(103741): -> vfio_user_config_read
14 irqtest(103741): <- vfio_user_config_read
15 irqtest(103741): <- vfio_default_config_read
16 irqtest(103741): <- vfio_basic_config_read
18 irqtest(103741): <- vfio_pci_config_rw
19 irqtest(103741): <- vfio_pci_rw
20 irqtest(103741): <- vfio_pci_read
0 irqtest(103741): -> vfio_pci_write
2 irqtest(103741): -> vfio_pci_rw
3 irqtest(103741): -> vfio_pci_config_rw
5 irqtest(103741): -> vfio_basic_config_write
8 irqtest(103741): -> vfio_default_config_write
9 irqtest(103741): -> vfio_user_config_read
11 irqtest(103741): <- vfio_user_config_read
13 irqtest(103741): -> vfio_user_config_write
15 irqtest(103741): <- vfio_user_config_write
16 irqtest(103741): <- vfio_default_config_write
18 irqtest(103741): <- vfio_basic_config_write
19 irqtest(103741): <- vfio_pci_config_rw
20 irqtest(103741): <- vfio_pci_rw
21 irqtest(103741): <- vfio_pci_write
vfio_pci_ioctl was called: 15211
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
2 irqtest(103741): <- vfio_pci_ioctl
0 irqtest(103741): -> vfio_pci_mmap
34 irqtest(103741): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
2 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
0 irqtest(103741): -> vfio_pci_mmap
8 irqtest(103741): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_get_irq_count
4 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
2 irqtest(103741): <- vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_get_irq_count
4 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
2 irqtest(103741): <- vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
2 irqtest(103741): <- vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_ioctl
0 irqtest(103741): -> vfio_pci_mmap_fault
3 irqtest(103741): -> __vfio_pci_memory_enabled
4 irqtest(103741): <- __vfio_pci_memory_enabled
7 irqtest(103741): <- vfio_pci_mmap_fault
0 irqtest(103741): -> vfio_pci_mmap_fault
1 irqtest(103741): -> __vfio_pci_memory_enabled
2 irqtest(103741): <- __vfio_pci_memory_enabled
4 irqtest(103741): <- vfio_pci_mmap_fault
0 irqtest(103741): -> vfio_pci_mmap_close
2 irqtest(103741): <- vfio_pci_mmap_close
0 irqtest(103741): -> vfio_pci_mmap_close
1 irqtest(103741): <- vfio_pci_mmap_close
0 irqtest(103741): -> vfio_pci_release
1 irqtest(103741): -> vfio_pci_vf_token_user_add
3 irqtest(103741): -> get_pf_vdev
4 irqtest(103741): <- get_pf_vdev
5 irqtest(103741): <- vfio_pci_vf_token_user_add
8 irqtest(103741): -> vfio_pci_set_irqs_ioctl
10 irqtest(103741): <- vfio_pci_set_irqs_ioctl
12 irqtest(103741): -> vfio_config_free
13 irqtest(103741): <- vfio_config_free
103705 irqtest(103741): -> pci_restore_msi_state
103714 irqtest(103741): <- pci_restore_msi_state
103725 irqtest(103741): -> vfio_pci_walk_wrapper
103731 irqtest(103741): -> vfio_pci_count_devs
103736 irqtest(103741): <- vfio_pci_count_devs
103741 irqtest(103741): <- vfio_pci_walk_wrapper
103758 irqtest(103741): -> vfio_pci_walk_wrapper
103759 irqtest(103741): -> vfio_pci_count_devs
103760 irqtest(103741): <- vfio_pci_count_devs
103761 irqtest(103741): <- vfio_pci_walk_wrapper
103762 irqtest(103741): -> vfio_pci_walk_wrapper
103763 irqtest(103741): -> vfio_pci_count_devs
103765 irqtest(103741): <- vfio_pci_count_devs
103766 irqtest(103741): <- vfio_pci_walk_wrapper
103767 irqtest(103741): -> vfio_pci_walk_wrapper
103768 irqtest(103741): -> vfio_pci_count_devs
103769 irqtest(103741): <- vfio_pci_count_devs
103770 irqtest(103741): <- vfio_pci_walk_wrapper
103771 irqtest(103741): -> vfio_pci_walk_wrapper
103773 irqtest(103741): -> vfio_pci_get_unused_devs
103775 irqtest(103741): <- vfio_pci_get_unused_devs
103776 irqtest(103741): <- vfio_pci_walk_wrapper
103778 irqtest(103741): -> vfio_pci_set_power_state
103779 irqtest(103741): <- vfio_pci_set_power_state
103780 irqtest(103741): <- vfio_pci_release
0 irqtest(103741): -> vfio_pci_match
3 irqtest(103741): -> get_pf_vdev
4 irqtest(103741): <- get_pf_vdev
5 irqtest(103741): <- vfio_pci_match
0 irqtest(103741): -> vfio_pci_open
1 irqtest(103741): -> vfio_pci_set_power_state
3 irqtest(103741): <- vfio_pci_set_power_state
103732 irqtest(103741): -> pci_restore_msi_state
103741 irqtest(103741): <- pci_restore_msi_state
103789 irqtest(103741): -> vfio_config_init
103795 irqtest(103741): -> vfio_fill_vconfig_bytes
103822 irqtest(103741): <- vfio_fill_vconfig_bytes
103832 irqtest(103741): -> vfio_fill_vconfig_bytes
103841 irqtest(103741): <- vfio_fill_vconfig_bytes
103848 irqtest(103741): -> vfio_fill_vconfig_bytes
103870 irqtest(103741): <- vfio_fill_vconfig_bytes
103875 irqtest(103741): -> vfio_fill_vconfig_bytes
103881 irqtest(103741): <- vfio_fill_vconfig_bytes
103885 irqtest(103741): <- vfio_config_init
103892 irqtest(103741): -> vfio_pci_vf_token_user_add
103897 irqtest(103741): -> get_pf_vdev
103903 irqtest(103741): <- get_pf_vdev
103918 irqtest(103741): <- vfio_pci_vf_token_user_add
103919 irqtest(103741): <- vfio_pci_open
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
2 irqtest(103741): <- vfio_pci_ioctl
0 irqtest(103741): -> vfio_pci_read
1 irqtest(103741): -> vfio_pci_rw
3 irqtest(103741): -> vfio_pci_config_rw
5 irqtest(103741): -> vfio_basic_config_read
6 irqtest(103741): -> vfio_default_config_read
8 irqtest(103741): -> vfio_user_config_read
10 irqtest(103741): <- vfio_user_config_read
12 irqtest(103741): <- vfio_default_config_read
13 irqtest(103741): <- vfio_basic_config_read
14 irqtest(103741): <- vfio_pci_config_rw
15 irqtest(103741): <- vfio_pci_rw
16 irqtest(103741): <- vfio_pci_read
0 irqtest(103741): -> vfio_pci_write
1 irqtest(103741): -> vfio_pci_rw
2 irqtest(103741): -> vfio_pci_config_rw
3 irqtest(103741): -> vfio_basic_config_write
6 irqtest(103741): -> vfio_default_config_write
8 irqtest(103741): -> vfio_user_config_read
10 irqtest(103741): <- vfio_user_config_read
11 irqtest(103741): -> vfio_user_config_write
13 irqtest(103741): <- vfio_user_config_write
14 irqtest(103741): <- vfio_default_config_write
16 irqtest(103741): <- vfio_basic_config_write
17 irqtest(103741): <- vfio_pci_config_rw
18 irqtest(103741): <- vfio_pci_rw
19 irqtest(103741): <- vfio_pci_write
vfio_pci_ioctl was called: 15211
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
0 irqtest(103741): -> vfio_pci_mmap
16 irqtest(103741): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
2 irqtest(103741): <- vfio_pci_ioctl
0 irqtest(103741): -> vfio_pci_mmap
8 irqtest(103741): <- vfio_pci_mmap
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15212
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
2 irqtest(103741): -> vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_get_irq_count
4 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
2 irqtest(103741): <- vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_get_irq_count
4 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
2 irqtest(103741): <- vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15213
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
2 irqtest(103741): <- vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15214
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_get_irq_count
5 irqtest(103741): -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x5 0x2 0x0 0x24
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
8 irqtest(103741): -> vfio_pci_set_msi_trigger
10 irqtest(103741): -> vfio_pci_memory_lock_and_enable
13 irqtest(103741): <- vfio_pci_memory_lock_and_enable
15 irqtest(103741): -> pci_alloc_irq_vectors_affinity
16 irqtest(103741): -> __pci_enable_msix_range
18 irqtest(103741): -> pci_msi_supported
20 irqtest(103741): <- pci_msi_supported
21 irqtest(103741): -> pci_msix_vec_count
23 irqtest(103741): <- pci_msix_vec_count
33 irqtest(103741): -> pci_msix_vec_count
35 irqtest(103741): <- pci_msix_vec_count
38 irqtest(103741): -> pci_msi_setup_msi_irqs
43 irqtest(103741): -> pci_msi_domain_check_cap
44 irqtest(103741): <- pci_msi_domain_check_cap
46 irqtest(103741): -> pci_msi_domain_calc_hwirq
48 irqtest(103741): <- pci_msi_domain_calc_hwirq
109 irqtest(103741): -> pci_msi_domain_write_msg
111 irqtest(103741): -> __pci_write_msi_msg
113 irqtest(103741): <- __pci_write_msi_msg
114 irqtest(103741): <- pci_msi_domain_write_msg
118 irqtest(103741): <- pci_msi_setup_msi_irqs
119 irqtest(103741): -> msi_verify_entries
120 irqtest(103741): <- msi_verify_entries
124 irqtest(103741): -> __pci_msix_desc_mask_irq
125 irqtest(103741): <- __pci_msix_desc_mask_irq
127 irqtest(103741): -> populate_msi_sysfs
132 irqtest(103741): <- populate_msi_sysfs
136 irqtest(103741): <- __pci_enable_msix_range
137 irqtest(103741): <- pci_alloc_irq_vectors_affinity
139 irqtest(103741): -> vfio_pci_memory_unlock_and_restore
141 irqtest(103741): <- vfio_pci_memory_unlock_and_restore
vfio_msi_set_block: start: count: 0x0, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x1
144 irqtest(103741): -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 0 / 7
147 irqtest(103741): -> vfio_msi_set_vector_signal
149 irqtest(103741): -> pci_irq_vector
150 irqtest(103741): <- pci_irq_vector
153 irqtest(103741): -> vfio_pci_memory_lock_and_enable
156 irqtest(103741): <- vfio_pci_memory_lock_and_enable
159 irqtest(103741): -> pci_write_msi_msg
162 irqtest(103741): -> __pci_write_msi_msg
163 irqtest(103741): <- __pci_write_msi_msg
164 irqtest(103741): <- pci_write_msi_msg
178 irqtest(103741): -> pci_msi_domain_write_msg
179 irqtest(103741): -> __pci_write_msi_msg
180 irqtest(103741): <- __pci_write_msi_msg
181 irqtest(103741): <- pci_msi_domain_write_msg
186 irqtest(103741): -> pci_msi_unmask_irq
187 irqtest(103741): -> msi_set_mask_bit
188 irqtest(103741): -> __pci_msix_desc_mask_irq
190 irqtest(103741): <- __pci_msix_desc_mask_irq
192 irqtest(103741): <- msi_set_mask_bit
193 irqtest(103741): <- pci_msi_unmask_irq
213 irqtest(103741): -> vfio_pci_memory_unlock_and_restore
216 irqtest(103741): <- vfio_pci_memory_unlock_and_restore
217 irqtest(103741): <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
219 irqtest(103741): <- vfio_msi_set_block
221 irqtest(103741): <- vfio_pci_set_msi_trigger
222 irqtest(103741): <- vfio_pci_set_irqs_ioctl
223 irqtest(103741): <- vfio_pci_ioctl
vfio_pci_ioctl was called: 15214
0 irqtest(103741): -> vfio_pci_ioctl
1 irqtest(103741): -> vfio_pci_get_irq_count
3 irqtest(103741): <- vfio_pci_get_irq_count
5 irqtest(103741): -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x2 0x2 0x1 0x24
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
7 irqtest(103741): -> vfio_pci_set_msi_trigger
vfio_msi_set_block: start: count: 0x1, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x1
9 irqtest(103741): -> vfio_msi_set_block
11 irqtest(103741): <- vfio_msi_set_block
12 irqtest(103741): <- vfio_pci_set_msi_trigger
13 irqtest(103741): <- vfio_pci_set_irqs_ioctl
14 irqtest(103741): <- vfio_pci_ioctl
0 irqtest(103741): -> vfio_pci_mmap_close
2 irqtest(103741): <- vfio_pci_mmap_close
0 irqtest(103741): -> vfio_pci_mmap_close
2 irqtest(103741): <- vfio_pci_mmap_close
0 irqtest(103741): -> vfio_pci_release
2 irqtest(103741): -> vfio_pci_vf_token_user_add
3 irqtest(103741): -> get_pf_vdev
5 irqtest(103741): <- get_pf_vdev
6 irqtest(103741): <- vfio_pci_vf_token_user_add
9 irqtest(103741): -> vfio_pci_set_irqs_ioctl
vfio_pci_set_msi_trigger: irq_type: index: vector: flags: 0x2 0x2 0x0 0x21
vfio_pci_set_msi_trigger: vdev: 0xffff8ea6bc003200
12 irqtest(103741): -> vfio_pci_set_msi_trigger
14 irqtest(103741): -> vfio_msi_disable
vfio_msi_set_block: start: count: 0x0, 0x1
vfio_msi_set_block: vdev->num_ctx: 0x1
20 irqtest(103741): -> vfio_msi_set_block
vfio_msi_set_vector_signal was called: 0 / -1
22 irqtest(103741): -> vfio_msi_set_vector_signal
24 irqtest(103741): -> pci_irq_vector
25 irqtest(103741): <- pci_irq_vector
26 irqtest(103741): -> vfio_pci_memory_lock_and_enable
30 irqtest(103741): <- vfio_pci_memory_lock_and_enable
37 irqtest(103741): -> pci_msi_mask_irq
39 irqtest(103741): -> msi_set_mask_bit
40 irqtest(103741): -> __pci_msix_desc_mask_irq
41 irqtest(103741): <- __pci_msix_desc_mask_irq
43 irqtest(103741): <- msi_set_mask_bit
44 irqtest(103741): <- pci_msi_mask_irq
53 irqtest(103741): -> pci_msi_domain_write_msg
54 irqtest(103741): -> __pci_write_msi_msg
56 irqtest(103741): <- __pci_write_msi_msg
57 irqtest(103741): <- pci_msi_domain_write_msg
65 irqtest(103741): -> vfio_pci_memory_unlock_and_restore
67 irqtest(103741): <- vfio_pci_memory_unlock_and_restore
68 irqtest(103741): <- vfio_msi_set_vector_signal
vfio_msi_set_vector_signal returned with: 0
77 irqtest(103741): <- vfio_msi_set_block
78 irqtest(103741): -> vfio_pci_memory_lock_and_enable
81 irqtest(103741): <- vfio_pci_memory_lock_and_enable
83 irqtest(103741): -> pci_free_irq_vectors
84 irqtest(103741): -> pci_disable_msix
88 irqtest(103741): -> free_msi_irqs
91 irqtest(103741): -> default_teardown_msi_irqs
139 irqtest(103741): <- default_teardown_msi_irqs
145 irqtest(103741): <- free_msi_irqs
146 irqtest(103741): <- pci_disable_msix
148 irqtest(103741): -> pci_disable_msi
149 irqtest(103741): <- pci_disable_msi
150 irqtest(103741): <- pci_free_irq_vectors
151 irqtest(103741): -> vfio_pci_memory_unlock_and_restore
154 irqtest(103741): <- vfio_pci_memory_unlock_and_restore
155 irqtest(103741): <- vfio_msi_disable
156 irqtest(103741): <- vfio_pci_set_msi_trigger
158 irqtest(103741): <- vfio_pci_set_irqs_ioctl
159 irqtest(103741): -> vfio_config_free
160 irqtest(103741): <- vfio_config_free
103190 irqtest(103741): -> pci_restore_msi_state
103199 irqtest(103741): <- pci_restore_msi_state
103210 irqtest(103741): -> vfio_pci_walk_wrapper
103215 irqtest(103741): -> vfio_pci_count_devs
103220 irqtest(103741): <- vfio_pci_count_devs
103224 irqtest(103741): <- vfio_pci_walk_wrapper
103228 irqtest(103741): -> vfio_pci_walk_wrapper
103232 irqtest(103741): -> vfio_pci_count_devs
103236 irqtest(103741): <- vfio_pci_count_devs
103240 irqtest(103741): <- vfio_pci_walk_wrapper
103243 irqtest(103741): -> vfio_pci_walk_wrapper
103247 irqtest(103741): -> vfio_pci_count_devs
103251 irqtest(103741): <- vfio_pci_count_devs
103255 irqtest(103741): <- vfio_pci_walk_wrapper
103258 irqtest(103741): -> vfio_pci_walk_wrapper
103262 irqtest(103741): -> vfio_pci_count_devs
103266 irqtest(103741): <- vfio_pci_count_devs
103269 irqtest(103741): <- vfio_pci_walk_wrapper
103274 irqtest(103741): -> vfio_pci_walk_wrapper
103278 irqtest(103741): -> vfio_pci_get_unused_devs
103284 irqtest(103741): <- vfio_pci_get_unused_devs
103288 irqtest(103741): <- vfio_pci_walk_wrapper
103293 irqtest(103741): -> vfio_pci_set_power_state
103297 irqtest(103741): <- vfio_pci_set_power_state
103302 irqtest(103741): <- vfio_pci_release