summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2026-03-09 17:10:12 +0000
committerArd Biesheuvel <ardb@kernel.org>2026-03-11 19:52:45 +0100
commit56e2ef8f5f9161d08d45656d373da83d4a789be1 (patch)
treef8f2bf7384e31639cff5b784283df8531b34e8f9
parent77dd8adabbc8ff845177b460de48b9d2cd579966 (diff)
downloadlinux-56e2ef8f5f9161d08d45656d373da83d4a789be1.tar.gz
linux-56e2ef8f5f9161d08d45656d373da83d4a789be1.zip
efi: libstub: fix type of fdt 32 and 64bit variables
In update_fdt_memmap() an update_fdt() the fdt values should be of the fd32_t and fdt64_t types. Make the relevant changes to remove the following sparse warnings: drivers/firmware/efi/libstub/fdt.c:97:19: warning: incorrect type in assignment (different base types) drivers/firmware/efi/libstub/fdt.c:97:19: expected unsigned long long [usertype] fdt_val64 drivers/firmware/efi/libstub/fdt.c:97:19: got restricted __be64 [usertype] drivers/firmware/efi/libstub/fdt.c:157:19: warning: incorrect type in assignment (different base types) drivers/firmware/efi/libstub/fdt.c:157:19: expected unsigned long long [usertype] fdt_val64 drivers/firmware/efi/libstub/fdt.c:157:19: got restricted __be64 [usertype] drivers/firmware/efi/libstub/fdt.c:163:19: warning: incorrect type in assignment (different base types) drivers/firmware/efi/libstub/fdt.c:163:19: expected unsigned int [usertype] fdt_val32 drivers/firmware/efi/libstub/fdt.c:163:19: got restricted __be32 [usertype] drivers/firmware/efi/libstub/fdt.c:169:19: warning: incorrect type in assignment (different base types) drivers/firmware/efi/libstub/fdt.c:169:19: expected unsigned int [addressable] [usertype] fdt_val32 drivers/firmware/efi/libstub/fdt.c:169:19: got restricted __be32 [usertype] drivers/firmware/efi/libstub/fdt.c:175:19: warning: incorrect type in assignment (different base types) drivers/firmware/efi/libstub/fdt.c:175:19: expected unsigned int [addressable] [usertype] fdt_val32 drivers/firmware/efi/libstub/fdt.c:175:19: got restricted __be32 [usertype] Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-rw-r--r--drivers/firmware/efi/libstub/fdt.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/firmware/efi/libstub/fdt.c b/drivers/firmware/efi/libstub/fdt.c
index 6a337f1f8787..23b3543d3041 100644
--- a/drivers/firmware/efi/libstub/fdt.c
+++ b/drivers/firmware/efi/libstub/fdt.c
@@ -32,8 +32,8 @@ static efi_status_t update_fdt(void *orig_fdt, unsigned long orig_fdt_size,
{
int node, num_rsv;
int status;
- u32 fdt_val32;
- u64 fdt_val64;
+ fdt32_t fdt_val32;
+ fdt64_t fdt_val64;
/* Do some checks on provided FDT, if it exists: */
if (orig_fdt) {
@@ -100,13 +100,13 @@ static efi_status_t update_fdt(void *orig_fdt, unsigned long orig_fdt_size,
if (status)
goto fdt_set_fail;
- fdt_val64 = U64_MAX; /* placeholder */
+ fdt_val64 = cpu_to_fdt64(U64_MAX); /* placeholder */
status = fdt_setprop_var(fdt, node, "linux,uefi-mmap-start", fdt_val64);
if (status)
goto fdt_set_fail;
- fdt_val32 = U32_MAX; /* placeholder */
+ fdt_val32 = cpu_to_fdt32(U32_MAX); /* placeholder */
status = fdt_setprop_var(fdt, node, "linux,uefi-mmap-size", fdt_val32);
if (status)
@@ -147,8 +147,8 @@ fdt_set_fail:
static efi_status_t update_fdt_memmap(void *fdt, struct efi_boot_memmap *map)
{
int node = fdt_path_offset(fdt, "/chosen");
- u64 fdt_val64;
- u32 fdt_val32;
+ fdt64_t fdt_val64;
+ fdt32_t fdt_val32;
int err;
if (node < 0)