forked from luck/tmp_suning_uos_patched
sparc: kernel/sbus.c: fix memory leakage
The variable iommu and strbuf are not freed properly if it goes to error. Signed-off-by: Cong Ding <dinggnu@gmail.com> Reviewed-by: Richard Mortimer <richm@oldelvet.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9a9284153d
commit
04cef49e84
|
@ -554,10 +554,8 @@ static void __init sbus_iommu_init(struct platform_device *op)
|
|||
regs = pr->phys_addr;
|
||||
|
||||
iommu = kzalloc(sizeof(*iommu), GFP_ATOMIC);
|
||||
if (!iommu)
|
||||
goto fatal_memory_error;
|
||||
strbuf = kzalloc(sizeof(*strbuf), GFP_ATOMIC);
|
||||
if (!strbuf)
|
||||
if (!iommu || !strbuf)
|
||||
goto fatal_memory_error;
|
||||
|
||||
op->dev.archdata.iommu = iommu;
|
||||
|
@ -656,6 +654,8 @@ static void __init sbus_iommu_init(struct platform_device *op)
|
|||
return;
|
||||
|
||||
fatal_memory_error:
|
||||
kfree(iommu);
|
||||
kfree(strbuf);
|
||||
prom_printf("sbus_iommu_init: Fatal memory allocation error.\n");
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user