Re: [PATCH v4 0/5] gpio: Add GPIO Aggregator

From: Eugeniu Rosca
Date: Mon Jan 20 2020 - 08:26:17 EST


Hi Geert,

On Wed, Jan 15, 2020 at 07:15:18PM +0100, Geert Uytterhoeven wrote:
> Hi all,
>
> GPIO controllers are exported to userspace using /dev/gpiochip*
> character devices. Access control to these devices is provided by
> standard UNIX file system permissions, on an all-or-nothing basis:
> either a GPIO controller is accessible for a user, or it is not.
> Currently no mechanism exists to control access to individual GPIOs.
>
> Hence this adds a GPIO driver to aggregate existing GPIOs, and expose
> them as a new gpiochip. This is useful for implementing access control,
> and assigning a set of GPIOs to a specific user. Furthermore, this
> simplifies and hardens exporting GPIOs to a virtual machine, as the VM
> can just grab the full GPIO controller, and no longer needs to care
> about which GPIOs to grab and which not, reducing the attack surface.
>
> Recently, other use cases have been discovered[1]:
> - Describing simple GPIO-operated devices in DT, and using the GPIO
> Aggregator as a generic GPIO driver for userspace, which is useful
> for industrial control.

As per comments and test results in [*] (accidentally attached to v3):

Reviewed-by: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx>
Tested-by: Eugeniu Rosca <erosca@xxxxxxxxxxxxxx>

[*] https://lore.kernel.org/linux-renesas-soc/20200120121439.GA24951@xxxxxxxxxxxxxxxxxxxx/
("Re: [PATCH v3 0/7] gpio: Add GPIO Aggregator/Repeater")

--
Best Regards,
Eugeniu Rosca