[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <242c0c30-87db-468e-a3e0-c211a93ae8a3@canonical.com>
Date: Tue, 2 Jul 2024 22:31:21 +0200
From: Heinrich Schuchardt <heinrich.schuchardt@...onical.com>
To: Rob Herring <robh@...nel.org>
Cc: Saravana Kannan <saravanak@...gle.com>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] libfdt: check return value of fdt_num_mem_rsv() in
fdt_pack()
On 7/2/24 19:31, Rob Herring wrote:
> On Mon, Jul 1, 2024 at 3:55 PM Heinrich Schuchardt
> <heinrich.schuchardt@...onical.com> wrote:
>>
>> fdt_num_mem_rsv() may return -FDT_ERR_TRUNCATED.
>> In this case fdt_pack() should propagate the error code.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@...onical.com>
>> ---
>> libfdt/fdt_rw.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> This needs to be sent to David G and devicetree-compiler list to be applied.
Thanks Rob.
I should not have looked in Linux' MAINTAINERS file but into dtc's
README.md.
Best regards
Heinrich
>
>>
>> diff --git a/libfdt/fdt_rw.c b/libfdt/fdt_rw.c
>> index 3621d36..a307701 100644
>> --- a/libfdt/fdt_rw.c
>> +++ b/libfdt/fdt_rw.c
>> @@ -490,8 +490,11 @@ int fdt_pack(void *fdt)
>>
>> FDT_RW_PROBE(fdt);
>>
>> - mem_rsv_size = (fdt_num_mem_rsv(fdt)+1)
>> - * sizeof(struct fdt_reserve_entry);
>> + mem_rsv_size = fdt_num_mem_rsv(fdt);
>> + if (mem_rsv_size < 0)
>> + return mem_rsv_size;
>> +
>> + mem_rsv_size = (mem_rsv_size + 1) * sizeof(struct fdt_reserve_entry);
>> fdt_packblocks_(fdt, fdt, mem_rsv_size, fdt_size_dt_struct(fdt),
>> fdt_size_dt_strings(fdt));
>> fdt_set_totalsize(fdt, fdt_data_size_(fdt));
>> --
>> 2.45.2
>>
>>
Powered by blists - more mailing lists