misc: sram: fix check of devm_ioremap*() return value
Both devm_ioremap() and devm_ioremap_wc() functions return either a pointer to valid iomem region or NULL, check for IS_ERR() is improper and may result in oops on error path. Now on error -ENOMEM is returned. Fixes: 0ab163ad1ea0 ("misc: sram: switch to ioremap_wc from ioremap") Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
47f55b74cf
commit
d449d69d21
@ -364,8 +364,8 @@ static int sram_probe(struct platform_device *pdev)
|
|||||||
sram->virt_base = devm_ioremap(sram->dev, res->start, size);
|
sram->virt_base = devm_ioremap(sram->dev, res->start, size);
|
||||||
else
|
else
|
||||||
sram->virt_base = devm_ioremap_wc(sram->dev, res->start, size);
|
sram->virt_base = devm_ioremap_wc(sram->dev, res->start, size);
|
||||||
if (IS_ERR(sram->virt_base))
|
if (!sram->virt_base)
|
||||||
return PTR_ERR(sram->virt_base);
|
return -ENOMEM;
|
||||||
|
|
||||||
sram->pool = devm_gen_pool_create(sram->dev, ilog2(SRAM_GRANULARITY),
|
sram->pool = devm_gen_pool_create(sram->dev, ilog2(SRAM_GRANULARITY),
|
||||||
NUMA_NO_NODE, NULL);
|
NUMA_NO_NODE, NULL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user