Re: [PATCH 0/5] Fixes for HiSilicon LPC driver and logical PIO code

From: John Garry
Date: Thu Jun 20 2019 - 09:02:01 EST


On 20/06/2019 13:42, Olof Johansson wrote:
Hi John,

For patches that go to a soc maintainer for merge, we're asking that
people don't cc arm@xxxxxxxxxx directly.

We prefer to keep that alias mostly for pull requests from other
maintainers and patches we might have a reason to apply directly.
Otherwise we risk essentially getting all of linux-arm-kernel into
this mailbox as well.


Thanks!

-Olof


Hi Olof,

Can do in future.

The specific reason here for me to cc arm@xxxxxxxxxx was that I wanted to at least make the maintainers aware that we intend to send some patches outside the "arm soc" domain through their tree, * below.

Thanks,
John


On Thu, Jun 20, 2019 at 11:33 AM John Garry <john.garry@xxxxxxxxxx> wrote:

As reported in [1], the hisi-lpc driver has certain issues in handling
logical PIO regions, specifically unregistering regions.

This series add a method to unregister a logical PIO region, and fixes up
the driver to use them.

RCU usage in logical PIO code looks to always have been broken, so that
is fixed also. This is not a major fix as the list which RCU protects is
very rarely modified.

There is another patch to simplify logical PIO registration, made possible
by the fixes.

At this point, there are still separate ongoing discussions about how to
stop the logical PIO and PCI host bridge code leaking ranges, as in [2].


*

Hopefully this series can go through the arm soc tree and the maintainers
have no issue with that. I'm talking specifically about the logical PIO
code, which went through PCI tree on only previous upstreaming.

Cc. linux-pci@xxxxxxxxxxxxxxx

[1] https://lore.kernel.org/lkml/1560770148-57960-1-git-send-email-john.garry@xxxxxxxxxx/
[2] https://lore.kernel.org/lkml/4b24fd36-e716-7c5e-31cc-13da727802e7@xxxxxxxxxx/

John Garry (5):
lib: logic_pio: Fix RCU usage
lib: logic_pio: Add logic_pio_unregister_range()
bus: hisi_lpc: Unregister logical PIO range to avoid potential
use-after-free
bus: hisi_lpc: Add .remove method to avoid driver unbind crash
lib: logic_pio: Enforce LOGIC_PIO_INDIRECT region ops are set at
registration

drivers/bus/hisi_lpc.c | 43 ++++++++++++++++++---
include/linux/logic_pio.h | 1 +
lib/logic_pio.c | 78 ++++++++++++++++++++++++++++-----------
3 files changed, 95 insertions(+), 27 deletions(-)

--
2.17.1


.