Re: [RFC PATCH 04/15] libfdt: fdt_rw: Introduce fdt_downgrade_version()

David Gibson <[email protected]> Tue, 24 Feb 2026 17:09:33 +1100
Newsgroups org.kernel.vger.devicetree-spec,org.kernel.vger.devicetree-compiler,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <aZ1AnegwzQgc6jrS@zatzit>
--+aZuU0lW6KaY+/DK
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Feb 10, 2026 at 06:33:32PM +0100, Herve Codina wrote:
> Current code perform a version downgrade at one place only, the end of
> fdt_rw_probe_().
>=20
> In order to offer a finer grain and choose to downgrade or not depending
> on the exact writes done, introduce fdt_downgrade_version() to perform
> the downgrade operation.
>=20
> The modification doesn't introduce any functional changes.
>=20
> Signed-off-by: Herve Codina <[email protected]>

Applied, thanks.

> ---
>  libfdt/fdt_rw.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>=20
> diff --git a/libfdt/fdt_rw.c b/libfdt/fdt_rw.c
> index 7475caf..90ea14e 100644
> --- a/libfdt/fdt_rw.c
> +++ b/libfdt/fdt_rw.c
> @@ -22,6 +22,12 @@ static int fdt_blocks_misordered_(const void *fdt,
>  		    (fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt)));
>  }
> =20
> +static void fdt_downgrade_version(void *fdt)
> +{
> +	if (!can_assume(LATEST) && fdt_version(fdt) > FDT_LAST_SUPPORTED_VERSIO=
N)
> +		fdt_set_version(fdt, FDT_LAST_SUPPORTED_VERSION);
> +}
> +
>  static int fdt_rw_probe_(void *fdt)
>  {
>  	if (can_assume(VALID_DTB))
> @@ -33,9 +39,8 @@ static int fdt_rw_probe_(void *fdt)
>  	if (fdt_blocks_misordered_(fdt, sizeof(struct fdt_reserve_entry),
>  				   fdt_size_dt_struct(fdt)))
>  		return -FDT_ERR_BADLAYOUT;
> -	if (!can_assume(LATEST) && fdt_version(fdt) > 17)
> -		fdt_set_version(fdt, 17);
> =20
> +	fdt_downgrade_version(fdt);
>  	return 0;
>  }
> =20
> --=20
> 2.52.0
>=20
>=20

--=20
David Gibson (he or they)	| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you, not the other way
				| around.
http://www.ozlabs.org/~dgibson

--+aZuU0lW6KaY+/DK
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEO+dNsU4E3yXUXRK2zQJF27ox2GcFAmmdQJcACgkQzQJF27ox
2Ge1kBAAoY71JJX2y6MHlw5qrt1xYB00QiIkTsfRr5JNZlxpb1gkoCcI+0eWfiuT
wzqF2fcqcctRiEXZrWv+Y1GhAGiDNIeCO1rM6eY9RtvyDxOnI4Yh5PaSwrBUpuPN
ITNnIhCcKdl/OUFCKtIRIgIFKqP6jnk+4jKFWVBvLbRN9fb4kVQY9yELYQ3t/Sjr
hg7IZZE2lGyWKgIW+CHENyoZnhVKTo/uL8L0rf1YIuWhp6x0Erhe7AyTsZiefHgd
Wbbq6JaPng3Snqh3atLjhvLPMwXpI9XSQcIGfzWGQlV0ilLKCAOW41jqWk5aLIqV
h/qhg8hAMGORPo99wIhWD+3n7BL9QPcQSAzRx1mWaZgQy3/LXseN588pIROJYkT0
tOQjBfD08ALrP+EbKT0Z3XZLGHdSY2HevjhT5f0FK6RCypurWZMqMZmYnXQFiLo3
34CqSa7P1K/5CNgIliTOrcKVzTUpkq07z58F26YfqY9II76Z7DTl4kJ6haI6AhjB
nd+BQSUc3Xu753gYUGgK7ap26WbIrdb+qj/FUVkhqzIwFwAtrejfeW/buAJxRP5G
7FKaCfdv5evEaU8U1WZaJBVHG2mh2txKv81qaJe5AYkMacVju8qiravZQgLmnZso
3lATXyxkEaG/bKjHjnr8jZ3dsJUK5J4CxIAhWRIBdDoXCwZfquQ=
=ALya
-----END PGP SIGNATURE-----

--+aZuU0lW6KaY+/DK--