From: Gatien CHEVALLIER <gatien.chevallier@foss.st.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: <Oleksii_Moisieiev@epam.com>, <herbert@gondor.apana.org.au>,
<davem@davemloft.net>, <robh+dt@kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>,
<alexandre.torgue@foss.st.com>, <vkoul@kernel.org>,
<jic23@kernel.org>, <olivier.moysan@foss.st.com>,
<arnaud.pouliquen@foss.st.com>, <mchehab@kernel.org>,
<fabrice.gasnier@foss.st.com>, <andi.shyti@kernel.org>,
<ulf.hansson@linaro.org>, <edumazet@google.com>,
<kuba@kernel.org>, <pabeni@redhat.com>,
<hugues.fruchet@foss.st.com>, <lee@kernel.org>, <will@kernel.org>,
<catalin.marinas@arm.com>, <arnd@kernel.org>,
<richardcochran@gmail.com>, <linux-crypto@vger.kernel.org>,
<devicetree@vger.kernel.org>,
<linux-stm32@st-md-mailman.stormreply.com>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <dmaengine@vger.kernel.org>,
<linux-i2c@vger.kernel.org>, <linux-iio@vger.kernel.org>,
<alsa-devel@alsa-project.org>, <linux-media@vger.kernel.org>,
<linux-mmc@vger.kernel.org>, <netdev@vger.kernel.org>,
<linux-phy@lists.infradead.org>, <linux-serial@vger.kernel.org>,
<linux-spi@vger.kernel.org>, <linux-usb@vger.kernel.org>
Subject: Re: [PATCH 05/10] firewall: introduce stm32_firewall framework
Date: Fri, 7 Jul 2023 16:00:23 +0200 [thread overview]
Message-ID: <febd65e1-68c7-f9d8-c8a4-3c3e88f15f3e@foss.st.com> (raw)
In-Reply-To: <2023070748-false-enroll-e5dc@gregkh>
Hello Greg,
On 7/7/23 12:37, Greg KH wrote:
> On Wed, Jul 05, 2023 at 07:27:54PM +0200, Gatien Chevallier wrote:
>> Introduce a firewall framework that offers to firewall consumers different
>> firewall services such as the ability to check their access rights against
>> their firewall controller(s).
>>
>> The firewall framework offers a generic API that is defined in firewall
>> controllers drivers to best fit the specificity of each firewall.
>
> But you aren't defining a "generic" api here, you are defining a
> specific one for your specific hardware.
>
> Or am I missing something?
>
This framework is indeed ST-oriented, I should have specified :
"...offers a generic API for STM32 firewall controllers that is defined
in their drivers...". Will change in V2
>>
>> There are various types of firewalls:
>> -Peripheral firewalls that filter accesses to peripherals
>> -Memory firewalls that filter accesses to memories or memory regions
>> -Resource firewalls that filter accesses to internal resources such as
>> reset and clock controllers
>>
>> A firewall controller must be probed at arch_initcall level and register
>> to the framework so that consumers can use their services.
>
> Why must it happen at arch_initcall? So it can never be a module? That
> feels wrong.
>
Rob asked the same question.
I responded under his comment, I'm not quite sure how to handle it with
fw_devlink for dependencies with drivers that are probed at early init
levels.
>>
>> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
>> ---
>> MAINTAINERS | 5 +
>> arch/arm64/Kconfig.platforms | 1 +
>> drivers/bus/Kconfig | 10 +
>> drivers/bus/Makefile | 1 +
>> drivers/bus/stm32_firewall.c | 252 ++++++++++++++++++++++
>> drivers/bus/stm32_firewall.h | 83 +++++++
>> include/linux/bus/stm32_firewall_device.h | 134 ++++++++++++
>> 7 files changed, 486 insertions(+)
>> create mode 100644 drivers/bus/stm32_firewall.c
>> create mode 100644 drivers/bus/stm32_firewall.h
>> create mode 100644 include/linux/bus/stm32_firewall_device.h
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 41385f01fa98..fabf95ba9b86 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -20123,6 +20123,11 @@ T: git git://linuxtv.org/media_tree.git
>> F: Documentation/devicetree/bindings/media/i2c/st,st-mipid02.yaml
>> F: drivers/media/i2c/st-mipid02.c
>>
>> +ST STM32 FIREWALL
>> +M: Gatien Chevallier <gatien.chevallier@foss.st.com>
>> +S: Maintained
>> +F: drivers/bus/stm32_firewall.c
>> +
>> ST STM32 I2C/SMBUS DRIVER
>> M: Pierre-Yves MORDRET <pierre-yves.mordret@foss.st.com>
>> M: Alain Volmat <alain.volmat@foss.st.com>
>> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
>> index 6069120199bb..5a46e90f1e4e 100644
>> --- a/arch/arm64/Kconfig.platforms
>> +++ b/arch/arm64/Kconfig.platforms
>> @@ -293,6 +293,7 @@ config ARCH_STM32
>> select ARM_SMC_MBOX
>> select ARM_SCMI_PROTOCOL
>> select COMMON_CLK_SCMI
>> + select STM32_FIREWALL
>> help
>> This enables support for ARMv8 based STMicroelectronics
>> STM32 family, including:
>> diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig
>> index fcfa280df98a..4d54a7ea52b2 100644
>> --- a/drivers/bus/Kconfig
>> +++ b/drivers/bus/Kconfig
>> @@ -163,6 +163,16 @@ config QCOM_SSC_BLOCK_BUS
>> i2c/spi/uart controllers, a hexagon core, and a clock controller
>> which provides clocks for the above.
>>
>> +config STM32_FIREWALL
>> + bool "STM32 Firewall framework"
>> + depends on ARCH_STM32
>
> Why this dependency?
>
>> + default MACH_STM32MP157 || MACH_STM32MP13 || MACH_STM32MP25
>> + help
>> + Say y to enable firewall framework and its services. Firewall
>> + controllers will be able to register to the framework. Firewall
>> + controllers must be initialized and register to the firewall framework
>> + at arch_initcall level.
>
> This needs better wording saying it is only for stm32 devices.
>
Ack, will change in V2.
>> +
>> config SUN50I_DE2_BUS
>> bool "Allwinner A64 DE2 Bus Driver"
>> default ARM64
>> diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile
>> index d90eed189a65..fc0511450ec2 100644
>> --- a/drivers/bus/Makefile
>> +++ b/drivers/bus/Makefile
>> @@ -26,6 +26,7 @@ obj-$(CONFIG_OMAP_INTERCONNECT) += omap_l3_smx.o omap_l3_noc.o
>> obj-$(CONFIG_OMAP_OCP2SCP) += omap-ocp2scp.o
>> obj-$(CONFIG_QCOM_EBI2) += qcom-ebi2.o
>> obj-$(CONFIG_QCOM_SSC_BLOCK_BUS) += qcom-ssc-block-bus.o
>> +obj-$(CONFIG_STM32_FIREWALL) += stm32_firewall.o
>> obj-$(CONFIG_SUN50I_DE2_BUS) += sun50i-de2.o
>> obj-$(CONFIG_SUNXI_RSB) += sunxi-rsb.o
>> obj-$(CONFIG_OF) += simple-pm-bus.o
>> diff --git a/drivers/bus/stm32_firewall.c b/drivers/bus/stm32_firewall.c
>> new file mode 100644
>> index 000000000000..510db5bc6eaf
>> --- /dev/null
>> +++ b/drivers/bus/stm32_firewall.c
>> @@ -0,0 +1,252 @@
>> +// SPDX-License-Identifier: GPL-2.0-or-later
>
> Are you _SURE_ this needs to be "or later"? Sorry, I have to ask.
>
> thanks,
>
> greg k-h
I'll change to (GPL-2.0-only OR BSD-3-Clause) :)
Best regards,
Gatien
next prev parent reply other threads:[~2023-07-07 14:01 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-05 17:27 [PATCH 00/10] Introduce STM32 Firewall framework Gatien Chevallier
2023-07-05 17:27 ` [IGNORE][PATCH 01/10] dt-bindings: Document common device controller bindings Gatien Chevallier
2023-07-05 19:39 ` Rob Herring
2023-07-05 17:27 ` [PATCH 02/10] dt-bindings: bus: add device tree bindings for RIFSC Gatien Chevallier
2023-07-05 19:39 ` Rob Herring
2023-07-06 6:28 ` Krzysztof Kozlowski
2023-07-06 9:29 ` Gatien CHEVALLIER
2023-07-20 14:58 ` Gatien CHEVALLIER
2023-07-05 17:27 ` [PATCH 03/10] dt-bindings: bus: add device tree bindings for ETZPC Gatien Chevallier
2023-07-05 19:39 ` Rob Herring
2023-07-05 17:27 ` [PATCH 04/10] dt-bindings: treewide: add feature-domains description in binding files Gatien Chevallier
2023-07-06 14:51 ` Rob Herring
2023-07-07 12:28 ` Gatien CHEVALLIER
2023-07-07 15:20 ` Rob Herring
2023-07-10 8:22 ` Gatien CHEVALLIER
2023-07-10 14:42 ` Rob Herring
2023-07-07 14:07 ` Oleksii Moisieiev
2023-07-07 15:26 ` Gatien CHEVALLIER
2023-07-07 15:27 ` Rob Herring
2023-07-07 16:10 ` Oleksii Moisieiev
2023-07-07 20:33 ` Rob Herring
2023-07-10 6:27 ` Oleksii Moisieiev
2023-07-05 17:27 ` [PATCH 05/10] firewall: introduce stm32_firewall framework Gatien Chevallier
2023-07-06 15:09 ` Rob Herring
2023-07-07 13:43 ` Gatien CHEVALLIER
2023-07-07 15:07 ` Rob Herring
2023-07-13 13:58 ` Gatien CHEVALLIER
2023-07-13 14:13 ` Oleksii Moisieiev
2023-07-07 10:37 ` Greg KH
2023-07-07 14:00 ` Gatien CHEVALLIER [this message]
2023-07-07 15:10 ` Greg KH
2023-07-07 15:44 ` Gatien CHEVALLIER
2023-07-07 13:50 ` Oleksii Moisieiev
2023-07-07 15:01 ` Gatien CHEVALLIER
2023-07-07 16:01 ` Oleksii Moisieiev
2023-07-05 17:27 ` [PATCH 06/10] bus: rifsc: introduce RIFSC firewall controller driver Gatien Chevallier
2023-07-05 17:27 ` [PATCH 07/10] arm64: dts: st: add RIFSC as a domain controller for STM32MP25x boards Gatien Chevallier
2023-07-06 9:25 ` Alexandre TORGUE
2023-07-06 9:30 ` Gatien CHEVALLIER
2023-07-25 14:07 ` Gatien CHEVALLIER
2023-07-05 17:27 ` [PATCH 08/10] bus: etzpc: introduce ETZPC firewall controller driver Gatien Chevallier
2023-07-05 17:27 ` [PATCH 09/10] ARM: dts: stm32: add ETZPC as a system bus for STM32MP15x boards Gatien Chevallier
2023-07-05 17:27 ` [PATCH 10/10] ARM: dts: stm32: add ETZPC as a system bus for STM32MP13x boards Gatien Chevallier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=febd65e1-68c7-f9d8-c8a4-3c3e88f15f3e@foss.st.com \
--to=gatien.chevallier@foss.st.com \
--cc=Oleksii_Moisieiev@epam.com \
--cc=alexandre.torgue@foss.st.com \
--cc=alsa-devel@alsa-project.org \
--cc=andi.shyti@kernel.org \
--cc=arnaud.pouliquen@foss.st.com \
--cc=arnd@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=edumazet@google.com \
--cc=fabrice.gasnier@foss.st.com \
--cc=gregkh@linuxfoundation.org \
--cc=herbert@gondor.apana.org.au \
--cc=hugues.fruchet@foss.st.com \
--cc=jic23@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=linux-usb@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olivier.moysan@foss.st.com \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=robh+dt@kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=vkoul@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).