summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorYehyeong Lee <yhlee@isslab.korea.ac.kr>2026-10-06 11:34:43 +0900
committerJuergen Gross <jgross@suse.com>2026-10-09 10:34:03 +0200
commit3b4854b69ee70fffb2fa7acac09e715a7efcbae1 (patch)
treeb8462b2095c17dd2de0e3113da2fcb1f224cd5a8 /tools/perf/scripts/python/stackcollapse.py
parent6f165abe2b40ede71c98956cd74cd17c18505e75 (diff)
downloadlinux-3b4854b69ee70fffb2fa7acac09e715a7efcbae1.tar.gz
linux-3b4854b69ee70fffb2fa7acac09e715a7efcbae1.zip
xen/pcifront: check that an AER callback exists before calling it
pcifront_common_process() handles an AER request from the backend by dispatching on aer_op.cmd to the bound driver's PCI error handler. It only checks that err_handler and err_handler->error_detected are present, then for the mmio_enabled, slot_reset and resume commands it calls the corresponding callback unconditionally. Those three callbacks are optional -- the PCI core NULL-checks each of them individually before use -- and many drivers (for example igb, igc, ice and ixgbevf) install error_detected without all of them. aer_op.cmd comes from the shared ring, so a malicious or buggy backend can send XEN_PCI_OP_aer_mmio (or _slotreset/_resume) for a device whose driver leaves that callback NULL and make the frontend call through a NULL pointer, crashing the guest. Check each callback before calling it. When mmio_enabled or slot_reset is absent, return PCI_ERS_RESULT_RECOVERED so recovery proceeds, as the PCI core does for a missing callback; returning PCI_ERS_RESULT_NONE would instead make xen-pciback tear the guest domain down. Fixes: 956a9202cd12 ("xen-pcifront: Xen PCI frontend driver.") Cc: stable@vger.kernel.org Signed-off-by: Yehyeong Lee <yhlee@isslab.korea.ac.kr> Reviewed-by: Juergen Gross <jgross@suse.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Juergen Gross <jgross@suse.com> Message-ID: <20261006023443.338194-1-yhlee@isslab.korea.ac.kr>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions