summary refs log tree commit diff
path: root/drivers/xen/xenbus
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-08-25 17:22:58 +0200
committerJuergen Gross <jgross@suse.com>2020-08-27 08:32:36 +0200
commitc330fb1ddc0a922f044989492b7fcca77ee1db46 (patch)
treeb33303b64af0a863bc01bc5ec926c4ddc4638b40 /drivers/xen/xenbus
parentee87e1557c42dc9c2da11c38e11b87c311569853 (diff)
downloadlinux-c330fb1ddc0a922f044989492b7fcca77ee1db46.tar.gz
XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt
XEN data pointer which contains XEN specific information.

handler data is meant for interrupt handlers and not for storing irq chip
specific information as some devices require handler data to store internal
per interrupt information, e.g. pinctrl/GPIO chained interrupt handlers.

This obviously creates a conflict of interests and crashes the machine
because the XEN pointer is overwritten by the driver pointer.

As the XEN data is not handler specific it should be stored in
irqdesc::irq_data::chip_data instead.

A simple sed s/irq_[sg]et_handler_data/irq_[sg]et_chip_data/ cures that.

Cc: stable@vger.kernel.org
Reported-by: Roman Shaposhnik <roman@zededa.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Roman Shaposhnik <roman@zededa.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/87lfi2yckt.fsf@nanos.tec.linutronix.de
Signed-off-by: Juergen Gross <jgross@suse.com>
Diffstat (limited to 'drivers/xen/xenbus')
0 files changed, 0 insertions, 0 deletions