All of lore.kernel.org
 help / color / mirror / Atom feed
From: "AKASHI, Takahiro" <takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
Cc: Jeffrey Hugo <jhugo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Sameer Goel <sgoel-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	"linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	Ard Biesheuvel
	<ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH] efi/libstub/arm*: Set default address and size cells values for an empty dtb
Date: Wed, 8 Feb 2017 16:43:04 +0900	[thread overview]
Message-ID: <20170208074301.GB18445@linaro.org> (raw)
In-Reply-To: <20170207195558.GK26173@leverpostej>

Hi Mark,

Thank you for this heads-up.

On Tue, Feb 07, 2017 at 07:55:59PM +0000, Mark Rutland wrote:
> On Tue, Feb 07, 2017 at 12:29:38PM -0700, Jeffrey Hugo wrote:
> > On 2/7/2017 12:13 PM, Mark Rutland wrote:
> > >On Tue, Feb 07, 2017 at 12:07:56PM -0700, Jeffrey Hugo wrote:
> > >>On 2/7/2017 12:01 PM, Mark Rutland wrote:
> > >>>I take it this is specific to the kdump properties?
> > >>>
> > >>>I can't immediately see what would matter for the !kdump case.
> > >>>properties inserted under /chosen are not truncated?
> > >>
> > >>The kexec/kdump properties are added under /chosen, therefore yes,
> > >>properties added under /chosen are truncated, per our observations.
> > >
> > >Sorry for the dodgy (and confusing) reply above.
> > >
> > >What I was trying to ask was does this *only* affect kdump properties?
> > >I note that kdump is not yet upstream for arm64.
> > >
> > >Or are there regular kexec properties that this affects?
> > >
> > >Or !kdump && !kexec properties?
> > >
> > >Can you please enumerate the set of properties for which this matters?
> > 
> > "linux,elfcorehdr" and "linux,usable-memory-range"
> > 
> > We are not aware of !kdump && !kexec properties where this is an issue.
> 
> Ok, I understand the problem now. Thanks for clarifying the !kdump
> situation.
> 
> As per my reply to Timur, given this only affects kdump, this is all
> happening in code that is not upstream, and therefore this is not
> *currently* an issue.
> 
> In future, please report this kind of issue in reply to relevant
> postings (e.g. [1]). At the very least, refer to these, with relevant
> people Cc'd (e.g. Takahiro-san in this case).
> 
> I think there are three things which should happen:
> 
> (a) The userspace kexec-tools kdump code should take /#address-cells and
>     /#size-cells into account when inserting the linux,elfcorehdr and
>     linux,usable-memory-range properties. There can be DTs for 64 bit
>     platforms where these are not 2.
>     
>     Takahiro-san, from looking at your kexec-tools repo, this is not
>     currently the case. Could you address that?

Yup, I will, but if this is the case,
we might need to think about another case where /#address-cells and /#size-cells
are <1> but the range of crash dump kernel can be still 64-bit wide since
the system memory information comes from ACPI table (not DT).

Therefore, the properties in this case should look like:
/ {
    #address-cells = <1>;
    #size-cells = <1>;
    chosen {
         ...
         linux,usable-memory-range {
             #address-cells = <2>;
             #size-cells = <2>; may be omitted if possible
             reg = < ... >;
         }
         linux,elfcorehdr {
             #address-cells = <2>;
             #size-cells = <2>; may be omitted if possible
             reg = < ... >;
         }
         ...
    }
}

Is this what you meant?
(Obviously, I will have to modify the kernel patches as well.)

Thanks,
-Takahiro AKASHI


> (b) The kdump documentation should updated to explicitly state that
>     these properties are #address-cells + #size-cells tuples, since this
>     is clearly going to be confusing either way. I'll try to come up
>     with wording for that, and I'll reply on the current [1] kdump
>     thread.
> 
> (c) Regardless, when creating the empty DT the EFI stub should insert
>     /#address-cells = <2> and /#size-cells = <2>. That better aligns
>     with the usual requirements for an otherwise empty DTB, and avoids a
>     tonne of fragility when the DTB is passed on or altered by other
>     agents.
> 
> So, please respin this patch, stating explicitly what this matters for.
> 
> Thanks,
> Mark.
> 
> [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2017-February/486234.html 

WARNING: multiple messages have this Message-ID (diff)
From: takahiro.akashi@linaro.org (AKASHI, Takahiro)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] efi/libstub/arm*: Set default address and size cells values for an empty dtb
Date: Wed, 8 Feb 2017 16:43:04 +0900	[thread overview]
Message-ID: <20170208074301.GB18445@linaro.org> (raw)
In-Reply-To: <20170207195558.GK26173@leverpostej>

Hi Mark,

Thank you for this heads-up.

On Tue, Feb 07, 2017 at 07:55:59PM +0000, Mark Rutland wrote:
> On Tue, Feb 07, 2017 at 12:29:38PM -0700, Jeffrey Hugo wrote:
> > On 2/7/2017 12:13 PM, Mark Rutland wrote:
> > >On Tue, Feb 07, 2017 at 12:07:56PM -0700, Jeffrey Hugo wrote:
> > >>On 2/7/2017 12:01 PM, Mark Rutland wrote:
> > >>>I take it this is specific to the kdump properties?
> > >>>
> > >>>I can't immediately see what would matter for the !kdump case.
> > >>>properties inserted under /chosen are not truncated?
> > >>
> > >>The kexec/kdump properties are added under /chosen, therefore yes,
> > >>properties added under /chosen are truncated, per our observations.
> > >
> > >Sorry for the dodgy (and confusing) reply above.
> > >
> > >What I was trying to ask was does this *only* affect kdump properties?
> > >I note that kdump is not yet upstream for arm64.
> > >
> > >Or are there regular kexec properties that this affects?
> > >
> > >Or !kdump && !kexec properties?
> > >
> > >Can you please enumerate the set of properties for which this matters?
> > 
> > "linux,elfcorehdr" and "linux,usable-memory-range"
> > 
> > We are not aware of !kdump && !kexec properties where this is an issue.
> 
> Ok, I understand the problem now. Thanks for clarifying the !kdump
> situation.
> 
> As per my reply to Timur, given this only affects kdump, this is all
> happening in code that is not upstream, and therefore this is not
> *currently* an issue.
> 
> In future, please report this kind of issue in reply to relevant
> postings (e.g. [1]). At the very least, refer to these, with relevant
> people Cc'd (e.g. Takahiro-san in this case).
> 
> I think there are three things which should happen:
> 
> (a) The userspace kexec-tools kdump code should take /#address-cells and
>     /#size-cells into account when inserting the linux,elfcorehdr and
>     linux,usable-memory-range properties. There can be DTs for 64 bit
>     platforms where these are not 2.
>     
>     Takahiro-san, from looking at your kexec-tools repo, this is not
>     currently the case. Could you address that?

Yup, I will, but if this is the case,
we might need to think about another case where /#address-cells and /#size-cells
are <1> but the range of crash dump kernel can be still 64-bit wide since
the system memory information comes from ACPI table (not DT).

Therefore, the properties in this case should look like:
/ {
    #address-cells = <1>;
    #size-cells = <1>;
    chosen {
         ...
         linux,usable-memory-range {
             #address-cells = <2>;
             #size-cells = <2>; may be omitted if possible
             reg = < ... >;
         }
         linux,elfcorehdr {
             #address-cells = <2>;
             #size-cells = <2>; may be omitted if possible
             reg = < ... >;
         }
         ...
    }
}

Is this what you meant?
(Obviously, I will have to modify the kernel patches as well.)

Thanks,
-Takahiro AKASHI


> (b) The kdump documentation should updated to explicitly state that
>     these properties are #address-cells + #size-cells tuples, since this
>     is clearly going to be confusing either way. I'll try to come up
>     with wording for that, and I'll reply on the current [1] kdump
>     thread.
> 
> (c) Regardless, when creating the empty DT the EFI stub should insert
>     /#address-cells = <2> and /#size-cells = <2>. That better aligns
>     with the usual requirements for an otherwise empty DTB, and avoids a
>     tonne of fragility when the DTB is passed on or altered by other
>     agents.
> 
> So, please respin this patch, stating explicitly what this matters for.
> 
> Thanks,
> Mark.
> 
> [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2017-February/486234.html 

  reply	other threads:[~2017-02-08  7:43 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-07 17:59 [PATCH] efi/libstub/arm*: Set default address and size cells values for an empty dtb Jeffrey Hugo
2017-02-07 17:59 ` Jeffrey Hugo
     [not found] ` <1486490390-25251-1-git-send-email-jhugo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-02-07 18:12   ` Ard Biesheuvel
2017-02-07 18:12     ` Ard Biesheuvel
2017-02-07 18:54     ` Jeffrey Hugo
2017-02-07 18:54       ` Jeffrey Hugo
     [not found]       ` <1f47fcdd-c5d8-4082-70a3-ca9b1746d7ca-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-02-07 19:01         ` Mark Rutland
2017-02-07 19:01           ` Mark Rutland
2017-02-07 19:06           ` Mark Rutland
2017-02-07 19:06             ` Mark Rutland
2017-02-07 19:07           ` Jeffrey Hugo
2017-02-07 19:07             ` Jeffrey Hugo
     [not found]             ` <c49cc64e-4ca1-8d82-5faf-74c0355c35ef-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-02-07 19:12               ` Ard Biesheuvel
2017-02-07 19:12                 ` Ard Biesheuvel
2017-02-07 19:13               ` Mark Rutland
2017-02-07 19:13                 ` Mark Rutland
2017-02-07 19:29                 ` Jeffrey Hugo
2017-02-07 19:29                   ` Jeffrey Hugo
2017-02-07 19:55                   ` Mark Rutland
2017-02-07 19:55                     ` Mark Rutland
2017-02-08  7:43                     ` AKASHI, Takahiro [this message]
2017-02-08  7:43                       ` AKASHI, Takahiro
     [not found]                       ` <20170208074301.GB18445-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-02-08 10:40                         ` Ard Biesheuvel
2017-02-08 10:40                           ` Ard Biesheuvel
2017-02-09  8:27                           ` AKASHI, Takahiro
2017-02-09  8:27                             ` AKASHI, Takahiro
     [not found]                             ` <20170209082702.GC18445-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-02-13 20:55                               ` Timur Tabi
2017-02-13 20:55                                 ` Timur Tabi
     [not found]                           ` <CAKv+Gu8OXn20JvtFkE_bS=cbWV3XZ5b7a+XaG7tvea+4BqrHfw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-02-13 20:51                             ` Timur Tabi
2017-02-13 20:51                               ` Timur Tabi
2017-02-08 11:35                         ` Mark Rutland
2017-02-08 11:35                           ` Mark Rutland
2017-02-07 18:15   ` Mark Rutland
2017-02-07 18:15     ` Mark Rutland
2017-02-07 18:41     ` Jeffrey Hugo
2017-02-07 18:41       ` Jeffrey Hugo
2017-02-07 19:24     ` Timur Tabi
2017-02-07 19:24       ` Timur Tabi
2017-02-07 19:37       ` Mark Rutland
2017-02-07 19:37         ` Mark Rutland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170208074301.GB18445@linaro.org \
    --to=takahiro.akashi-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=jhugo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=sgoel-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.