When dev_get_priv errors out, the ubifs is not unbounted (if used) Correctly handle this handle condition and while at it also return -EINVAL instead of -ENOMEM as a better error since no memory is allocated but is actually an invalid scenario for fw_get_filesystem_firmware().
Signed-off-by: Christian Marangi <[email protected]> --- drivers/misc/fs_loader.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/misc/fs_loader.c b/drivers/misc/fs_loader.c index 2928cf75f89e..7e432a7ebd62 100644 --- a/drivers/misc/fs_loader.c +++ b/drivers/misc/fs_loader.c @@ -178,8 +178,10 @@ static int fw_get_filesystem_firmware(struct udevice *dev) struct firmware *firmwarep = dev_get_priv(dev); - if (!firmwarep) - return -ENOMEM; + if (!firmwarep) { + ret = -EINVAL; + goto out; + } ret = fs_read(firmwarep->name, (ulong)map_to_sysmem(firmwarep->data), firmwarep->offset, firmwarep->size, &actread); -- 2.51.0

