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]
Message-ID: <d504a4df-b1f7-b7c9-e62a-599d114d8a18@gmail.com>
Date:   Tue, 2 Mar 2021 17:53:54 +0100
From:   Rafał Miłecki <zajec5@...il.com>
To:     Ansuel Smith <ansuelsmth@...il.com>,
        Richard Weinberger <richard@....at>
Cc:     devicetree@...r.kernel.org, Vignesh Raghavendra <vigneshr@...com>,
        Boris Brezillon <bbrezillon@...nel.org>,
        linux-kernel@...r.kernel.org, Rob Herring <robh+dt@...nel.org>,
        linux-mtd@...ts.infradead.org,
        Miquel Raynal <miquel.raynal@...tlin.com>
Subject: Re: [PATCH v2 1/3] mtd: partitions: ofpart: skip subnodes parse with
 compatible

On 16.02.2021 22:26, Ansuel Smith wrote:
> If a partitions structure is not used, parse direct subnodes as
> fixed-partitions only if a compatible is not found or is of type
> fixed-partition. A parser can be used directly on the subnode and
> subnodes should not be parsed as fixed-partitions by default.
> 
> Signed-off-by: Ansuel Smith <ansuelsmth@...il.com>
> ---
>   drivers/mtd/parsers/ofpart.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/mtd/parsers/ofpart.c b/drivers/mtd/parsers/ofpart.c
> index daf507c123e6..4b363dd0311c 100644
> --- a/drivers/mtd/parsers/ofpart.c
> +++ b/drivers/mtd/parsers/ofpart.c
> @@ -50,6 +50,11 @@ static int parse_fixed_partitions(struct mtd_info *master,
>   			 master->name, mtd_node);
>   		ofpart_node = mtd_node;
>   		dedicated = false;
> +
> +		/* Skip parsing direct subnodes if a compatible is found and is not fixed-partitions */
> +		if (node_has_compatible(ofpart_node) &&
> +		    !of_device_is_compatible(ofpart_node, "fixed-partitions"))
> +			return 0;
>   	} else if (!of_device_is_compatible(ofpart_node, "fixed-partitions")) {
>   		/* The 'partitions' subnode might be used by another parser */
>   		return 0;

I admit I'm not familiar with the old binding, so let me know if my
understanding is incorrect.

It seems to me however that your change will break parsing in cases
like:

spi-flash@0 {
	compatible = "jedec,spi-nor";
	reg = <0x0>;

	partition@0 {
		label = "bootloader";
		reg = <0x0 0x100000>;
	};
};

nandcs@0 {
	compatible = "brcm,nandcs";
	reg = <0>;

	partition@0 {
		label = "bootloader";
		reg = <0x0000000 0x10000>;
	};
};

Did we ever use "fixed-partitions" without partitions { } subnode?

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ