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

2019-08-07 Thread Thomas Gleixner
On Tue, 6 Aug 2019, Marc Zyngier wrote:

> 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.

Acked-by: Thomas Gleixner 


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

2019-08-06 Thread Marc Zyngier
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