On 22/11/2023 1:31 am, Henry Wang wrote: > Hi Both, > >> On Nov 22, 2023, at 04:41, Andrew Cooper <andrew.coop...@citrix.com> wrote: >> >> On 21/11/2023 8:33 pm, Luca Fancellu wrote: >>> + CC henry >>> >>>> On 21 Nov 2023, at 20:15, Andrew Cooper <andrew.coop...@citrix.com> wrote: >>>> >>>> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but >>>> this >>>> logic looks incorrect. It was inherited from the x86 side, where the logic >>>> was redundant and has now been removed. >>>> >>>> In the ARM case it inserts the image name into "xen,xen-bootargs" and >>>> there is >>>> no logic at all to strip this before parsing it as the command line. >>>> >>>> The absence of any logic to strip an image name suggests that it shouldn't >>>> exist there, or having a Xen image named e.g. "hmp-unsafe" in the >>>> filesystem >>>> is going to lead to some unexpected behaviour on boot. >>>> >>>> No functional change. >>>> >>>> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> >>>> --- >>>> CC: Jan Beulich <jbeul...@suse.com> >>>> CC: Roger Pau Monné <roger....@citrix.com> >>>> CC: Wei Liu <w...@xen.org> >>>> CC: Stefano Stabellini <sstabell...@kernel.org> >>>> CC: Julien Grall <jul...@xen.org> >>>> CC: Volodymyr Babchuk <volodymyr_babc...@epam.com> >>>> CC: Bertrand Marquis <bertrand.marq...@arm.com> >>>> CC: Roberto Bagnara <roberto.bagn...@bugseng.com> >>>> CC: Nicola Vetrini <nicola.vetr...@bugseng.com> >>>> >>>> v2: >>>> * New. >>>> >>>> I'm afraid that all of this reasoning is based on reading the source code. >>>> I >>>> don't have any way to try this out in a real ARM UEFI environment. >>> I will test this one tomorrow on an arm board >> Thanks. I have a sneaking suspicion that: >> >> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c >> index 9b9018574919..8bca5b9a1523 100644 >> --- a/xen/arch/arm/setup.c >> +++ b/xen/arch/arm/setup.c >> @@ -46,6 +46,12 @@ >> #include <xsm/xsm.h> >> #include <asm/acpi.h> >> >> +static int __init parse_ucode(const char *s) >> +{ >> + panic("Xen image name interpreted as a cmdline parameter\n"); >> +} >> +custom_param("xen.efi", parse_xen); >> + >> struct bootinfo __initdata bootinfo; >> >> /* >> >> will trigger. > I saw I am CCed for this patch, so I think I am now going to throw this series > to our CI and see if it explodes. Do you want me to also include above hunk?
Depends - up to you. It needs tailoring for the name of the Xen binary used, if it doesn't end up as a plain "xen.efi". And to be more specific, it ought to trigger before this patch but cease triggering after it. It's probably better suited to a manual dev test in a real ARM UEFI environment. ~Andrew