Re: [PATCH] of/fdt: fix error checking for earlycon address

From: Rob Herring
Date: Tue Oct 27 2015 - 16:47:15 EST


On Fri, Oct 23, 2015 at 8:15 AM, Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> wrote:
> Hi Masahiro,
>
> On 10/23/2015 07:47 AM, Masahiro Yamada wrote:
>> fdt_translate_address() returns OF_BAD_ADDR on error. It is defined as
>> a u64 value, so the variable "addr" should be defined as u64 as well.
>
> Good catch.
>
> I would prefer if fdt_translate_address() returned resource_size_t (which
> is the proper type for handling addresses as integers) and that type
> was propagated through early_init_dt_scan_chosen_serial => of_setup_earlycon.

That can be problematic in the DT code. The size of resource_size_t
can vary on 32-bit as it is based on phys_addr_t which in turn is
based on CONFIG_LPAE setting. However, the address sizes in DT are
fixed and may be 64-bit. So we stick with u64 in the DT code.

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/