x86/boot: Fix -Wint-to-pointer-cast build warning
authorVamshi K Sthambamkadi <vamshi.k.sthambamkadi@gmail.com>
Thu, 23 Apr 2020 12:39:48 +0000 (18:09 +0530)
committerBorislav Petkov <bp@suse.de>
Mon, 4 May 2020 13:22:16 +0000 (15:22 +0200)
Fix this warning when building 32-bit with

CONFIG_RANDOMIZE_BASE=y
CONFIG_MEMORY_HOTREMOVE=y

  arch/x86/boot/compressed/acpi.c:316:9: warning: \
    cast to pointer from integer of different size [-Wint-to-pointer-cast]

Have get_cmdline_acpi_rsdp() return unsigned long which is the proper
type to convert to a pointer of the respective width.

 [ bp: Rewrite commit message, touch ups. ]

Signed-off-by: Vamshi K Sthambamkadi <vamshi.k.sthambamkadi@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/1587645588-7130-3-git-send-email-vamshi.k.sthambamkadi@gmail.com
arch/x86/boot/compressed/acpi.c

index ef2ad72..8bcbcee 100644 (file)
@@ -280,9 +280,9 @@ acpi_physical_address get_rsdp_addr(void)
  */
 #define MAX_ADDR_LEN 19
 
-static acpi_physical_address get_cmdline_acpi_rsdp(void)
+static unsigned long get_cmdline_acpi_rsdp(void)
 {
-       acpi_physical_address addr = 0;
+       unsigned long addr = 0;
 
 #ifdef CONFIG_KEXEC
        char val[MAX_ADDR_LEN] = { };
@@ -292,7 +292,7 @@ static acpi_physical_address get_cmdline_acpi_rsdp(void)
        if (ret < 0)
                return 0;
 
-       if (kstrtoull(val, 16, &addr))
+       if (boot_kstrtoul(val, 16, &addr))
                return 0;
 #endif
        return addr;
@@ -314,7 +314,6 @@ static unsigned long get_acpi_srat_table(void)
         * different ideas about whether to trust a command-line parameter.
         */
        rsdp = (struct acpi_table_rsdp *)get_cmdline_acpi_rsdp();
-
        if (!rsdp)
                rsdp = (struct acpi_table_rsdp *)(long)
                        boot_params->acpi_rsdp_addr;