On 21/11/2023 8:33 pm, Luca Fancellu wrote:
> + CC henry
>
>> On 21 Nov 2023, at 20:15, Andrew Cooper <[email protected]> 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 <[email protected]>
>> ---
>> CC: Jan Beulich <[email protected]>
>> CC: Roger Pau Monné <[email protected]>
>> CC: Wei Liu <[email protected]>
>> CC: Stefano Stabellini <[email protected]>
>> CC: Julien Grall <[email protected]>
>> CC: Volodymyr Babchuk <[email protected]>
>> CC: Bertrand Marquis <[email protected]>
>> CC: Roberto Bagnara <[email protected]>
>> CC: Nicola Vetrini <[email protected]>
>>
>> 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.
~Andrew