[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <569E3E18.2040003@linaro.org>
Date: Tue, 19 Jan 2016 21:46:00 +0800
From: Shannon Zhao <shannon.zhao@...aro.org>
To: Mark Rutland <mark.rutland@....com>
CC: Stefano Stabellini <stefano.stabellini@...citrix.com>,
Shannon Zhao <zhaoshenglong@...wei.com>,
linux-arm-kernel@...ts.infradead.org, ard.biesheuvel@...aro.org,
stefano.stabellini@...rix.com, david.vrabel@...rix.com,
devicetree@...r.kernel.org, linux-efi@...r.kernel.org,
catalin.marinas@....com, will.deacon@....com,
linux-kernel@...r.kernel.org, xen-devel@...ts.xen.org,
julien.grall@...rix.com, peter.huangpeng@...wei.com,
matt@...eblueprint.co.uk
Subject: Re: [Xen-devel] [PATCH v2 14/16] Xen: EFI: Parse DT parameters for
Xen specific UEFI
On 2016/1/19 21:43, Mark Rutland wrote:
> On Tue, Jan 19, 2016 at 09:19:05PM +0800, Shannon Zhao wrote:
>>
>>
>> On 2016/1/18 23:41, Stefano Stabellini wrote:
>>> CC'ing Matt Fleming
>>>
>>> On Fri, 15 Jan 2016, Shannon Zhao wrote:
>>>> From: Shannon Zhao <shannon.zhao@...aro.org>
>>>> @@ -520,15 +531,28 @@ static int __init fdt_find_uefi_params(unsigned long node, const char *uname,
>>>> int depth, void *data)
>>>> {
>>>> struct param_info *info = data;
>>>> + struct params *dt_params;
>>>> + unsigned int size;
>>>> const void *prop;
>>>> void *dest;
>>>> u64 val;
>>>> int i, len;
>>>>
>>>> - if (depth != 1 || strcmp(uname, "chosen") != 0)
>>>> - return 0;
>>>> + if (efi_enabled(EFI_PARAVIRT)) {
>>>> + if (depth != 2 || strcmp(uname, "uefi") != 0)
>>>
>>> You are already introducing this check in the previous patch when
>>> setting EFI_PARAVIRT, why do this again now? But if we need to do this
>>> check again, then, like Mark suggested, it should be done against the
>>> full path.
>>>
>> This check just wants to confirm that the current node is the "uefi"
>> node and we can parse it with xen_fdt_params now.
>
> There is no single "uefi" node as many nodes can share that name. There
> is at most a single, /hypervisor/uefi node, as that is qualified by a
> full path.
>
Sure, I will check it by full path.
> Checking the leaf node name, as above, is insufficient. For example, the
> below will be accepted:
>
> * /chosen/uefi
> * /foo/uefi
> * /not-a-hypervisor/uefi
>
> Any of these could exist in addition to a /hypervisor/uefi node, and
> could appear ealier or later in the DTB.
>
> There may be reasons to add such nodes in future, and regardless we
> should not read properties from an invalid/wrong node.
>
> Thanks,
> Mark.
>
--
Shannon
Powered by blists - more mailing lists