[PATCH 0/8] irqdomain/debugfs: Fix uses of irq_domain_alloc_fwnode

From: Marc Zyngier
Date: Tue Aug 06 2019 - 10:57:30 EST


I recently noticed that all irq_domain_alloc_fwnode were passing a VA
to it, which is unfortunate as this is designed to appear in debugfs
(and we don't like to leak VAs). Disaster was avoided thanks to our
____ptrval____ friend, but it remains that the whole thing is pretty
useless if you have more than a single domain (they all have the same
name and creation fails).

In order to sort it out, change all users of irq_domain_alloc_fwnode
to pass the PA of the irqchip the domain will be associated with. One
notable exception is the HyperV PCI controller driver which has no PA
to associate with. This is solved by using a named fwnode instead,
using the device GUID.

Finally, irq_domain_alloc_fwnode() is changed to pa a pionter to a PA,
which can be safely advertised in debugfs.

Marc Zyngier (8):
irqchip/gic-v3: Register the distributor's PA instead of its VA in
fwnode
irqchip/gic-v3-its: Register the ITS' PA instead of its VA in fwnode
irqchip/gic: Register the distributor's PA instead of its VA in fwnode
irqchip/gic-v2m: Register the frame's PA instead of its VA in fwnode
irqchip/ixp4xx: Register the base PA instead of its VA in fwnode
gpio/ixp4xx: Register the base PA instead of its VA in fwnode
PCI: hv: Allocate a named fwnode instead of an address-based one
irqdomain/debugfs: Use PAs to generate fwnode names

drivers/gpio/gpio-ixp4xx.c | 2 +-
drivers/irqchip/irq-gic-v2m.c | 2 +-
drivers/irqchip/irq-gic-v3-its.c | 2 +-
drivers/irqchip/irq-gic-v3.c | 2 +-
drivers/irqchip/irq-gic.c | 2 +-
drivers/irqchip/irq-ixp4xx.c | 2 +-
drivers/pci/controller/pci-hyperv.c | 10 +++++++++-
include/linux/irqdomain.h | 6 +++---
kernel/irq/irqdomain.c | 9 +++++----
9 files changed, 23 insertions(+), 14 deletions(-)

--
2.20.1