loadable_view() can return NULL (distinct from ERR_PTR), which is not
caught by IS_ERR().

efi_load_os() already handles this with the ?: ERR_PTR(-ENODATA) pattern,
so apply the same to efi_load_ramdisk().

Signed-off-by: Ahmad Fatoum <[email protected]>
---
 efi/payload/bootm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/efi/payload/bootm.c b/efi/payload/bootm.c
index 30b6fe8977e0..2f9cc3cbf76b 100644
--- a/efi/payload/bootm.c
+++ b/efi/payload/bootm.c
@@ -86,7 +86,7 @@ static int efi_load_ramdisk(struct image_data *data,
        if (!data->initrd)
                return 0;
 
-       initrd_mem = loadable_view(data->initrd, initrd_size);
+       initrd_mem = loadable_view(data->initrd, initrd_size) ?: 
ERR_PTR(-ENODATA);
        if (IS_ERR(initrd_mem)) {
                pr_err("Cannot open ramdisk image: %pe\n", initrd_mem);
                return PTR_ERR(initrd_mem);
-- 
2.47.3


Reply via email to