lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 11 Mar 2024 19:40:24 +0000
From: Chad Monroe <chad.monroe@...ran.com>
To: Rob Herring <robh@...nel.org>, Daniel Golle <daniel@...rotopia.org>
CC: Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>, Conor Dooley
	<conor+dt@...nel.org>, Ulf Hansson <ulf.hansson@...aro.org>, Jens Axboe
	<axboe@...nel.dk>, Dave Chinner <dchinner@...hat.com>, Jan Kara
	<jack@...e.cz>, Thomas Weißschuh <linux@...ssschuh.net>,
	Christian Brauner <brauner@...nel.org>, Li Lingfeng <lilingfeng3@...wei.com>,
	Damien Le Moal <dlemoal@...nel.org>, Min Li <min15.li@...sung.com>, Adrian
 Hunter <adrian.hunter@...el.com>, Hannes Reinecke <hare@...e.de>, Christian
 Loehle <CLoehle@...erstone.com>, Avri Altman <avri.altman@....com>, Bean Huo
	<beanhuo@...ron.com>, Yeqi Fu <asuk4.q@...il.com>, Victor Shih
	<victor.shih@...esyslogic.com.tw>, Christophe JAILLET
	<christophe.jaillet@...adoo.fr>, "Ricardo B. Marliere"
	<ricardo@...liere.net>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
	"linux-block@...r.kernel.org" <linux-block@...r.kernel.org>, Diping Zhang
	<diping.zhang@...inet.com>, Jianhui Zhao <zhaojh329@...il.com>, Jieying Zeng
	<jieying.zeng@...inet.com>, Adam Fox <adam.fox@...ran.com>, John Crispin
	<john@...ozen.org>
Subject: RE: [EXTERNAL] Re: [RFC PATCH v2 1/8] dt-bindings: block: add basic
 bindings for block devices



> -----Original Message-----
> From: Rob Herring <robh@...nel.org>
> Sent: Thursday, March 7, 2024 6:51 AM
> To: Daniel Golle <daniel@...rotopia.org>
> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>; Conor Dooley
> <conor+dt@...nel.org>; Ulf Hansson <ulf.hansson@...aro.org>; Jens Axboe
> <axboe@...nel.dk>; Dave Chinner <dchinner@...hat.com>; Jan Kara
> <jack@...e.cz>; Thomas Weißschuh <linux@...ssschuh.net>; Christian Brauner
> <brauner@...nel.org>; Li Lingfeng <lilingfeng3@...wei.com>; Damien Le Moal
> <dlemoal@...nel.org>; Min Li <min15.li@...sung.com>; Adrian Hunter
> <adrian.hunter@...el.com>; Hannes Reinecke <hare@...e.de>; Christian Loehle
> <CLoehle@...erstone.com>; Avri Altman <avri.altman@....com>; Bean Huo
> <beanhuo@...ron.com>; Yeqi Fu <asuk4.q@...il.com>; Victor Shih
> <victor.shih@...esyslogic.com.tw>; Christophe JAILLET
> <christophe.jaillet@...adoo.fr>; Ricardo B. Marliere <ricardo@...liere.net>;
> Greg Kroah-Hartman <gregkh@...uxfoundation.org>; devicetree@...r.kernel.org;
> linux-kernel@...r.kernel.org; linux-mmc@...r.kernel.org; linux-
> block@...r.kernel.org; Diping Zhang <diping.zhang@...inet.com>; Jianhui Zhao
> <zhaojh329@...il.com>; Jieying Zeng <jieying.zeng@...inet.com>; Chad Monroe
> <chad.monroe@...ran.com>; Adam Fox <adam.fox@...ran.com>; John Crispin
> <john@...ozen.org>
> Subject: [EXTERNAL] Re: [RFC PATCH v2 1/8] dt-bindings: block: add basic bindings
> for block devices
> 
> On Tue, Mar 05, 2024 at 08:23:20PM +0000, Daniel Golle wrote:
> > Add bindings for block devices which are used to allow referencing
> > nvmem bits on them.
> >
> > Signed-off-by: Daniel Golle <daniel@...rotopia.org>
> > ---
> > .../bindings/block/block-device.yaml | 22 ++++++++
> > .../devicetree/bindings/block/partition.yaml | 51 +++++++++++++++++++
> > .../devicetree/bindings/block/partitions.yaml | 20 ++++++++
> > 3 files changed, 93 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/block/block-
> device.yaml
> > create mode 100644 Documentation/devicetree/bindings/block/partition.yaml
> > create mode 100644 Documentation/devicetree/bindings/block/partitions.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/block/block-device.yaml
> b/Documentation/devicetree/bindings/block/block-device.yaml
> > new file mode 100644
> > index 0000000000000..c83ea525650ba
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/block/block-device.yaml
> > @@ -0,0 +1,22 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/block/block-device.yaml# <https://protect-
> de.mimecast.com/s/gI6FCDqGk9uBM0gMFZVG39?domain=devicetree.org>
> > +$schema: http://devicetree.org/meta-schemas/core.yaml# <https://protect-
> de.mimecast.com/s/rGEGCEqJR9uWnMRnHZK6FQ?domain=devicetree.org>
> > +
> > +title: block storage device
> > +
> > +description: |
> > + This binding is generic and describes a block-oriented storage device.
> > +
> > +maintainers:
> > + - Daniel Golle <daniel@...rotopia.org>
> > +
> > +properties:
> > + partitions:
> > + $ref: /schemas/block/partitions.yaml
> > +
> > + nvmem-layout:
> > + $ref: /schemas/nvmem/layouts/nvmem-layout.yaml#
> > +
> > +unevaluatedProperties: false
> > diff --git a/Documentation/devicetree/bindings/block/partition.yaml
> b/Documentation/devicetree/bindings/block/partition.yaml
> > new file mode 100644
> > index 0000000000000..df561dd33cbc9
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/block/partition.yaml
> > @@ -0,0 +1,51 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/block/partition.yaml# <https://protect-
> de.mimecast.com/s/8Tf9CGRL65UJqGjqu07YGR?domain=devicetree.org>
> > +$schema: http://devicetree.org/meta-schemas/core.yaml# <https://protect-
> de.mimecast.com/s/rGEGCEqJR9uWnMRnHZK6FQ?domain=devicetree.org>
> > +
> > +title: Partition on a block device
> > +
> > +description: |
> > + This binding describes a partition on a block storage device.
> > + Partitions may be matched by a combination of partition number, name,
> > + and UUID.
> > +
> > +maintainers:
> > + - Daniel Golle <daniel@...rotopia.org>
> > +
> > +properties:
> > + $nodename:
> > + pattern: '^block-partition-.+$'
> > +
> > + partnum:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + description:
> > + Matches partition by number if present.
> > +
> > + partname:
> > + $ref: /schemas/types.yaml#/definitions/string
> > + description:
> > + Matches partition by PARTNAME if present.
> 
> Why do we need something new here? The existing fixed-partitions can
> already define block device partitions. It just matches by
> address/offset which works whether its MBR or GPT. Also, in DT we always
> have an address when there is an address.
> 
> I'm sure you want to statically define this and have it work even if the
> partitions move, but sorry...

The partitions which hold this data are typically defined as a MBR or GPT
partition and referenced by PARTNAME, PARTUUID or PARTNO. The data is
referenced as an offset within that partition. It's possible for the offset
of the RF/calibration partition to change if the size of eMMC chip changes
between builds of the same device for example. Within the RF partition the
data is always available at the same offsets.

Based on this, we don't always know the offset of the RF partition and
simply want to use the partition table to point us at the right location.

> 
> > +
> > + uuid:
> > + $ref: /schemas/types.yaml#/definitions/string
> > + description:
> > + Matches partition by PARTUUID if present.
> 
> If this remains it will need some work in the dtschema tools. The reason
> is json-schema already has support for UUIDs as a defined 'format' key
> value and we should use that.
> 
> > +
> > + nvmem-layout:
> > + $ref: /schemas/nvmem/layouts/nvmem-layout.yaml#
> > + description:
> > + This container may reference an NVMEM layout parser.
> > +
> > +anyOf:
> > + - required:
> > + - partnum
> > +
> > + - required:
> > + - partname
> > +
> > + - required:
> > + - uuid
> > +
> > +unevaluatedProperties: false


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ