mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] nvmem: ocotp: add support to revoke keys
@ 2021-03-11 17:07 Denis Osterland-Heim
  2021-03-12 10:15 ` Rouven Czerwinski
  0 siblings, 1 reply; 6+ messages in thread
From: Denis Osterland-Heim @ 2021-03-11 17:07 UTC (permalink / raw)
  To: barebox

From: Denis Osterland-Heim <Denis.Osterland@diehl.com>

Add device tree property 'barebox,key-revoke' with the syntax:
< key_phandle fuse_offset mask >

An example:
signature {
key1: key-img1 { ... };
key2: key-srk1 { ... };
};
};
&ocotp {
barebox,key-revoke = <
&key1 0x660 1
&key2 0x6f0 1
>;
};

Signed-off-by: Denis Osterland-Heim <Denis.Osterland@diehl.com>
---
 .../bindings/misc/fsl,imx-ocotp.rst           |  4 ++
 drivers/nvmem/ocotp.c                         | 37 ++++++++++++++++++-
 2 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst b/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
index 202bb3aa0..63a6f5331 100644
--- a/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
+++ b/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
@@ -12,6 +12,9 @@ Optional properties:
   can be multiple entries in the form <&phandle regofs> to assign a MAC
   address to an Ethernet device.

+* ``barebox,key-revoke``: Revoke (remove) key if bit is set. This can be multiple
+  entries in the form <&phandle regofs mask> to revoke a key if bit is set.
+
 Example:

 .. code-block:: none
@@ -20,4 +23,5 @@ Example:
   compatible = "fsl,imx6q-ocotp";
   reg = <0x021bc000 0x4000>;
   barebox,provide-mac-address = <&fec 0x620>;
+  barebox,key-revoke = <&/signature/key-img1 0x6f0 1>;
   };
diff --git a/drivers/nvmem/ocotp.c b/drivers/nvmem/ocotp.c
index cee50955e..00ee6cd06 100644
--- a/drivers/nvmem/ocotp.c
+++ b/drivers/nvmem/ocotp.c
@@ -641,7 +641,7 @@ static struct regmap_bus imx_ocotp_regmap_bus = {
 .reg_read = imx_ocotp_reg_read,
 };

-static void imx_ocotp_init_dt(struct ocotp_priv *priv)
+static void imx_ocotp_init_mac_dt(struct ocotp_priv *priv)
 {
 char mac[MAC_BYTES];
 const __be32 *prop;
@@ -673,6 +673,38 @@ static void imx_ocotp_init_dt(struct ocotp_priv *priv)
 }
 }

+static void imx_ocotp_init_key_dt(struct ocotp_priv *priv)
+{
+const __be32 *prop;
+struct device_node *node = priv->dev.parent->device_node;
+int len;
+
+if (!node)
+return;
+
+prop = of_get_property(node, "barebox,key-revoke", &len);
+if (!prop)
+return;
+
+for (; len >= 3; len -= 3) {
+struct device_node *rnode;
+uint32_t phandle, offset, mask;
+unsigned val;
+
+phandle = be32_to_cpup(prop++);
+
+rnode = of_find_node_by_phandle(phandle);
+offset = be32_to_cpup(prop++);
+mask = be32_to_cpup(prop++);
+
+if (imx6_ocotp_read_one_u32(priv, OCOTP_OFFSET_TO_INDEX(offset), &val))
+continue;
+
+if (val & mask)
+of_delete_node(rnode);
+}
+}
+
 static int imx_ocotp_write(struct device_d *dev, const int offset,
     const void *val, int bytes)
 {
@@ -790,7 +822,8 @@ static int imx_ocotp_probe(struct device_d *dev)
 if (IS_ENABLED(CONFIG_MACHINE_ID))
 imx_ocotp_set_unique_machine_id();

-imx_ocotp_init_dt(priv);
+imx_ocotp_init_mac_dt(priv);
+imx_ocotp_init_key_dt(priv);

 dev_add_param_bool(&(priv->dev), "sense_enable", NULL, NULL, &priv->sense_enable, priv);

--
2.30.2

Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315

________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.

- Informationen zum Datenschutz, insbesondere zu Ihren Rechten, erhalten Sie unter:

https://www.diehl.com/group/de/transparenz-und-informationspflichten/

The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.

- For general information on data protection and your respective rights please visit:

https://www.diehl.com/group/en/transparency-and-information-obligations/



_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] nvmem: ocotp: add support to revoke keys
  2021-03-11 17:07 [PATCH] nvmem: ocotp: add support to revoke keys Denis Osterland-Heim
@ 2021-03-12 10:15 ` Rouven Czerwinski
  2021-03-12 14:39   ` Denis Osterland-Heim
  0 siblings, 1 reply; 6+ messages in thread
From: Rouven Czerwinski @ 2021-03-12 10:15 UTC (permalink / raw)
  To: Denis Osterland-Heim, barebox

Hello Denis,

On Thu, 2021-03-11 at 17:07 +0000, Denis Osterland-Heim wrote:
> From: Denis Osterland-Heim <Denis.Osterland@diehl.com>
> 
> Add device tree property 'barebox,key-revoke' with the syntax:
> < key_phandle fuse_offset mask >
> 
> An example:
> signature {
> key1: key-img1 { ... };
> key2: key-srk1 { ... };
> };
> };
> &ocotp {
> barebox,key-revoke = <
> &key1 0x660 1
> &key2 0x6f0 1
> > ;
> };

I think using device tree properties for this is a bad idea. This
should rather be implemented as a revoke argument to the hab command.
Revocation can than be done within a bootup script during barebox
start.

Regards,
Rouven

> Signed-off-by: Denis Osterland-Heim <Denis.Osterland@diehl.com>
> ---
>  .../bindings/misc/fsl,imx-ocotp.rst           |  4 ++
>  drivers/nvmem/ocotp.c                         | 37 ++++++++++++++++++-
>  2 files changed, 39 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst b/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
> index 202bb3aa0..63a6f5331 100644
> --- a/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
> +++ b/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
> @@ -12,6 +12,9 @@ Optional properties:
>    can be multiple entries in the form <&phandle regofs> to assign a MAC
>    address to an Ethernet device.
> 
> +* ``barebox,key-revoke``: Revoke (remove) key if bit is set. This can be multiple
> +  entries in the form <&phandle regofs mask> to revoke a key if bit is set.
> +
>  Example:
> 
>  .. code-block:: none
> @@ -20,4 +23,5 @@ Example:
>    compatible = "fsl,imx6q-ocotp";
>    reg = <0x021bc000 0x4000>;
>    barebox,provide-mac-address = <&fec 0x620>;
> +  barebox,key-revoke = <&/signature/key-img1 0x6f0 1>;
>    };
> diff --git a/drivers/nvmem/ocotp.c b/drivers/nvmem/ocotp.c
> index cee50955e..00ee6cd06 100644
> --- a/drivers/nvmem/ocotp.c
> +++ b/drivers/nvmem/ocotp.c
> @@ -641,7 +641,7 @@ static struct regmap_bus imx_ocotp_regmap_bus = {
>  .reg_read = imx_ocotp_reg_read,
>  };
> 
> -static void imx_ocotp_init_dt(struct ocotp_priv *priv)
> +static void imx_ocotp_init_mac_dt(struct ocotp_priv *priv)
>  {
>  char mac[MAC_BYTES];
>  const __be32 *prop;
> @@ -673,6 +673,38 @@ static void imx_ocotp_init_dt(struct ocotp_priv *priv)
>  }
>  }
> 
> +static void imx_ocotp_init_key_dt(struct ocotp_priv *priv)
> +{
> +const __be32 *prop;
> +struct device_node *node = priv->dev.parent->device_node;
> +int len;
> +
> +if (!node)
> +return;
> +
> +prop = of_get_property(node, "barebox,key-revoke", &len);
> +if (!prop)
> +return;
> +
> +for (; len >= 3; len -= 3) {
> +struct device_node *rnode;
> +uint32_t phandle, offset, mask;
> +unsigned val;
> +
> +phandle = be32_to_cpup(prop++);
> +
> +rnode = of_find_node_by_phandle(phandle);
> +offset = be32_to_cpup(prop++);
> +mask = be32_to_cpup(prop++);
> +
> +if (imx6_ocotp_read_one_u32(priv, OCOTP_OFFSET_TO_INDEX(offset), &val))
> +continue;
> +
> +if (val & mask)
> +of_delete_node(rnode);
> +}
> +}
> +
>  static int imx_ocotp_write(struct device_d *dev, const int offset,
>      const void *val, int bytes)
>  {
> @@ -790,7 +822,8 @@ static int imx_ocotp_probe(struct device_d *dev)
>  if (IS_ENABLED(CONFIG_MACHINE_ID))
>  imx_ocotp_set_unique_machine_id();
> 
> -imx_ocotp_init_dt(priv);
> +imx_ocotp_init_mac_dt(priv);
> +imx_ocotp_init_key_dt(priv);
> 
>  dev_add_param_bool(&(priv->dev), "sense_enable", NULL, NULL, &priv->sense_enable, priv);
> 
> --
> 2.30.2
> 
> Diehl Connectivity Solutions GmbH
> Geschäftsführung: Horst Leonberger
> Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
> Nürnberg: HRB 32315
> 
> ________________________________
> 
> Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
> Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
> Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
> 
> - Informationen zum Datenschutz, insbesondere zu Ihren Rechten, erhalten Sie unter:
> 
> https://www.diehl.com/group/de/transparenz-und-informationspflichten/
> 
> The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
> mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.
> 
> - For general information on data protection and your respective rights please visit:
> 
> https://www.diehl.com/group/en/transparency-and-information-obligations/
> 
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 



_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] nvmem: ocotp: add support to revoke keys
  2021-03-12 10:15 ` Rouven Czerwinski
@ 2021-03-12 14:39   ` Denis Osterland-Heim
  2021-03-15  8:04     ` Sascha Hauer
  0 siblings, 1 reply; 6+ messages in thread
From: Denis Osterland-Heim @ 2021-03-12 14:39 UTC (permalink / raw)
  To: r.czerwinski, barebox

Hi,

It would be no problem to do it in a script.
I did it as a fist prove of concept.
My opinion is, that this hard coded implementation give stronger
guarantee that this code is really executed.

I would love to implement the HAB to check FIT signatures,
but with MMU enabled it will not work AFAIK and code requiring MMU disabled is not welcome.

This implementation allows you to utilize any fuse to revoke a key independent from HAB.
The 0x660 from the example is GP1.

Regards, Denis

Am Freitag, den 12.03.2021, 11:15 +0100 schrieb Rouven Czerwinski:
> Hello Denis,
>
> On Thu, 2021-03-11 at 17:07 +0000, Denis Osterland-Heim wrote:
> > From: Denis Osterland-Heim <Denis.Osterland@diehl.com>
> >
> > Add device tree property 'barebox,key-revoke' with the syntax:
> > < key_phandle fuse_offset mask >
> >
> > An example:
> > signature {
> > key1: key-img1 { ... };
> > key2: key-srk1 { ... };
> > };
> > };
> > &ocotp {
> > barebox,key-revoke = <
> > &key1 0x660 1
> > &key2 0x6f0 1
> > > ;
> >
> > };
>
> I think using device tree properties for this is a bad idea. This
> should rather be implemented as a revoke argument to the hab command.
> Revocation can than be done within a bootup script during barebox
> start.
>
> Regards,
> Rouven
>
> > Signed-off-by: Denis Osterland-Heim <Denis.Osterland@diehl.com>
> > ---
> >  .../bindings/misc/fsl,imx-ocotp.rst           |  4 ++
> >  drivers/nvmem/ocotp.c                         | 37 ++++++++++++++++++-
> >  2 files changed, 39 insertions(+), 2 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst b/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
> > index 202bb3aa0..63a6f5331 100644
> > --- a/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
> > +++ b/Documentation/devicetree/bindings/misc/fsl,imx-ocotp.rst
> > @@ -12,6 +12,9 @@ Optional properties:
> >    can be multiple entries in the form <&phandle regofs> to assign a MAC
> >    address to an Ethernet device.
> >
> > +* ``barebox,key-revoke``: Revoke (remove) key if bit is set. This can be multiple
> > +  entries in the form <&phandle regofs mask> to revoke a key if bit is set.
> > +
> >  Example:
> >
> >  .. code-block:: none
> > @@ -20,4 +23,5 @@ Example:
> >    compatible = "fsl,imx6q-ocotp";
> >    reg = <0x021bc000 0x4000>;
> >    barebox,provide-mac-address = <&fec 0x620>;
> > +  barebox,key-revoke = <&/signature/key-img1 0x6f0 1>;
> >    };
> > diff --git a/drivers/nvmem/ocotp.c b/drivers/nvmem/ocotp.c
> > index cee50955e..00ee6cd06 100644
> > --- a/drivers/nvmem/ocotp.c
> > +++ b/drivers/nvmem/ocotp.c
> > @@ -641,7 +641,7 @@ static struct regmap_bus imx_ocotp_regmap_bus = {
> >  .reg_read = imx_ocotp_reg_read,
> >  };
> >
> > -static void imx_ocotp_init_dt(struct ocotp_priv *priv)
> > +static void imx_ocotp_init_mac_dt(struct ocotp_priv *priv)
> >  {
> >  char mac[MAC_BYTES];
> >  const __be32 *prop;
> > @@ -673,6 +673,38 @@ static void imx_ocotp_init_dt(struct ocotp_priv *priv)
> >  }
> >  }
> >
> > +static void imx_ocotp_init_key_dt(struct ocotp_priv *priv)
> > +{
> > +const __be32 *prop;
> > +struct device_node *node = priv->dev.parent->device_node;
> > +int len;
> > +
> > +if (!node)
> > +return;
> > +
> > +prop = of_get_property(node, "barebox,key-revoke", &len);
> > +if (!prop)
> > +return;
> > +
> > +for (; len >= 3; len -= 3) {
> > +struct device_node *rnode;
> > +uint32_t phandle, offset, mask;
> > +unsigned val;
> > +
> > +phandle = be32_to_cpup(prop++);
> > +
> > +rnode = of_find_node_by_phandle(phandle);
> > +offset = be32_to_cpup(prop++);
> > +mask = be32_to_cpup(prop++);
> > +
> > +if (imx6_ocotp_read_one_u32(priv, OCOTP_OFFSET_TO_INDEX(offset), &val))
> > +continue;
> > +
> > +if (val & mask)
> > +of_delete_node(rnode);
> > +}
> > +}
> > +
> >  static int imx_ocotp_write(struct device_d *dev, const int offset,
> >      const void *val, int bytes)
> >  {
> > @@ -790,7 +822,8 @@ static int imx_ocotp_probe(struct device_d *dev)
> >  if (IS_ENABLED(CONFIG_MACHINE_ID))
> >  imx_ocotp_set_unique_machine_id();
> >
> > -imx_ocotp_init_dt(priv);
> > +imx_ocotp_init_mac_dt(priv);
> > +imx_ocotp_init_key_dt(priv);
> >
> >  dev_add_param_bool(&(priv->dev), "sense_enable", NULL, NULL, &priv->sense_enable, priv);
> >
> > --
> > 2.30.2
> >
> > Diehl Connectivity Solutions GmbH
> > Geschäftsführung: Horst Leonberger
> > Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
> > Nürnberg: HRB 32315
> >
> > ________________________________
> >
> > Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
> > Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
> > Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
> >
> > - Informationen zum Datenschutz, insbesondere zu Ihren Rechten, erhalten Sie unter:
> >
> > https://www.diehl.com/group/de/transparenz-und-informationspflichten/
> >
> > The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
> > mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.
> >
> > - For general information on data protection and your respective rights please visit:
> >
> > https://www.diehl.com/group/en/transparency-and-information-obligations/
> >
> >
> >
> > _______________________________________________
> > barebox mailing list
> > barebox@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/barebox
> >
>
>
Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315

________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.

- Informationen zum Datenschutz, insbesondere zu Ihren Rechten, erhalten Sie unter:

https://www.diehl.com/group/de/transparenz-und-informationspflichten/

The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.

- For general information on data protection and your respective rights please visit:

https://www.diehl.com/group/en/transparency-and-information-obligations/


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] nvmem: ocotp: add support to revoke keys
  2021-03-12 14:39   ` Denis Osterland-Heim
@ 2021-03-15  8:04     ` Sascha Hauer
  2021-03-16  8:03       ` Denis Osterland-Heim
  0 siblings, 1 reply; 6+ messages in thread
From: Sascha Hauer @ 2021-03-15  8:04 UTC (permalink / raw)
  To: Denis Osterland-Heim; +Cc: r.czerwinski, barebox

Hi Denis,

On Fri, Mar 12, 2021 at 02:39:40PM +0000, Denis Osterland-Heim wrote:
> Hi,
> 
> It would be no problem to do it in a script.
> I did it as a fist prove of concept.
> My opinion is, that this hard coded implementation give stronger
> guarantee that this code is really executed.

You could also create a C function which you call from your board code.

> 
> I would love to implement the HAB to check FIT signatures,
> but with MMU enabled it will not work AFAIK and code requiring MMU disabled is not welcome.

Are you sure it doesn't work? What I know is that the jump table for the
HAB function is placed in the zero page which is set to faulting
normally when the MMU is enabled. If that's the only problem we could
solve that.

Sascha


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] nvmem: ocotp: add support to revoke keys
  2021-03-15  8:04     ` Sascha Hauer
@ 2021-03-16  8:03       ` Denis Osterland-Heim
  2021-03-16  8:11         ` sha
  0 siblings, 1 reply; 6+ messages in thread
From: Denis Osterland-Heim @ 2021-03-16  8:03 UTC (permalink / raw)
  To: sha; +Cc: r.czerwinski, barebox

Hi Sascha,

Am Montag, den 15.03.2021, 09:04 +0100 schrieb Sascha Hauer:
> Hi Denis,
>
> On Fri, Mar 12, 2021 at 02:39:40PM +0000, Denis Osterland-Heim wrote:
> > Hi,
> >
> > It would be no problem to do it in a script.
> > I did it as a fist prove of concept.
> > My opinion is, that this hard coded implementation give stronger
> > guarantee that this code is really executed.
>
> You could also create a C function which you call from your board code.
good Idea

>
> >
> > I would love to implement the HAB to check FIT signatures,
> > but with MMU enabled it will not work AFAIK and code requiring MMU disabled is not welcome.
>
> Are you sure it doesn't work? What I know is that the jump table for the
> HAB function is placed in the zero page which is set to faulting
> normally when the MMU is enabled. If that's the only problem we could
> solve that.
I would like to give it a try.

enable CONFIG_ARCH_HAS_ZERO_PAGE

zero_page_access();
pvt->some_function();
zero_page_faulting();

right?

Regards, Denis

>
> Sascha
>
>
Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315

________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.

- Informationen zum Datenschutz, insbesondere zu Ihren Rechten, erhalten Sie unter:

https://www.diehl.com/group/de/transparenz-und-informationspflichten/

The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.

- For general information on data protection and your respective rights please visit:

https://www.diehl.com/group/en/transparency-and-information-obligations/


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] nvmem: ocotp: add support to revoke keys
  2021-03-16  8:03       ` Denis Osterland-Heim
@ 2021-03-16  8:11         ` sha
  0 siblings, 0 replies; 6+ messages in thread
From: sha @ 2021-03-16  8:11 UTC (permalink / raw)
  To: Denis Osterland-Heim; +Cc: r.czerwinski, barebox

On Tue, Mar 16, 2021 at 08:03:01AM +0000, Denis Osterland-Heim wrote:
> Hi Sascha,
> 
> Am Montag, den 15.03.2021, 09:04 +0100 schrieb Sascha Hauer:
> > Hi Denis,
> >
> > On Fri, Mar 12, 2021 at 02:39:40PM +0000, Denis Osterland-Heim wrote:
> > > Hi,
> > >
> > > It would be no problem to do it in a script.
> > > I did it as a fist prove of concept.
> > > My opinion is, that this hard coded implementation give stronger
> > > guarantee that this code is really executed.
> >
> > You could also create a C function which you call from your board code.
> good Idea
> 
> >
> > >
> > > I would love to implement the HAB to check FIT signatures,
> > > but with MMU enabled it will not work AFAIK and code requiring MMU disabled is not welcome.
> >
> > Are you sure it doesn't work? What I know is that the jump table for the
> > HAB function is placed in the zero page which is set to faulting
> > normally when the MMU is enabled. If that's the only problem we could
> > solve that.
> I would like to give it a try.
> 
> enable CONFIG_ARCH_HAS_ZERO_PAGE
> 
> zero_page_access();
> pvt->some_function();
> zero_page_faulting();
> 
> right?

Yes, right.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-03-16  8:13 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-11 17:07 [PATCH] nvmem: ocotp: add support to revoke keys Denis Osterland-Heim
2021-03-12 10:15 ` Rouven Czerwinski
2021-03-12 14:39   ` Denis Osterland-Heim
2021-03-15  8:04     ` Sascha Hauer
2021-03-16  8:03       ` Denis Osterland-Heim
2021-03-16  8:11         ` sha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox