arm/efi: Simplify efi_arch_handle_cmdline()

-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.cooper3@citrix.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Julien Grall <jgrall@amazon.com>
This commit is contained in:
Andrew Cooper committed 2023-11-23 11:20:01 +00:00
1 parent ef2071d45b
commit b1185ce66c
1 file changed
+1 -15
+1 -15
View File
@@ -461,7 +461,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
union string name;
char *buf;
EFI_STATUS status;
int prop_len;
int prop_len = 0;
int chosen;
/* locate chosen node, which is where we add Xen module info. */
@@ -473,20 +473,6 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
if ( EFI_ERROR(status) )
PrintErrMesg(L"Unable to allocate string buffer", status);
if ( image_name )
{
name.w = image_name;
w2s(&name);
}
else
name.s = "xen";
prop_len = 0;
prop_len += snprintf(buf + prop_len,
EFI_PAGE_SIZE - prop_len, "%s", name.s);
if ( prop_len >= EFI_PAGE_SIZE )
blexit(L"FDT string overflow");
if ( cfgfile_options )
{
PrintMessage(L"Using bootargs from Xen configuration file.");
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.