xen/events: don't use chip_data for legacy IRQs
authorJuergen Gross <jgross@suse.com>
Wed, 30 Sep 2020 09:16:14 +0000 (11:16 +0200)
committerJuergen Gross <jgross@suse.com>
Thu, 1 Oct 2020 12:45:26 +0000 (14:45 +0200)
commit0891fb39ba67bd7ae023ea0d367297ffff010781
tree3889b42752fa0564f42a3d1c3ac98071485a9765
parenta1b8638ba1320e6684aa98233c15255eb803fac7
xen/events: don't use chip_data for legacy IRQs

Since commit c330fb1ddc0a ("XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.")
Xen is using the chip_data pointer for storing IRQ specific data. When
running as a HVM domain this can result in problems for legacy IRQs, as
those might use chip_data for their own purposes.

Use a local array for this purpose in case of legacy IRQs, avoiding the
double use.

Cc: stable@vger.kernel.org
Fixes: c330fb1ddc0a ("XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.")
Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Stefan Bader <stefan.bader@canonical.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://lore.kernel.org/r/20200930091614.13660-1-jgross@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
drivers/xen/events/events_base.c