powerpc: handle error case in cpm_muram_alloc()
rh_alloc() returns (unsigned long)-ERRxx on error, which may result in overwriting memory outside the MURAM AREA. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Scott Wood <scottwood@freescale.com>
This commit is contained in:
parent
9100d20c5b
commit
9d28cc811b
1 changed files with 2 additions and 1 deletions
|
@ -147,7 +147,8 @@ unsigned long cpm_muram_alloc(unsigned long size, unsigned long align)
|
||||||
spin_lock_irqsave(&cpm_muram_lock, flags);
|
spin_lock_irqsave(&cpm_muram_lock, flags);
|
||||||
cpm_muram_info.alignment = align;
|
cpm_muram_info.alignment = align;
|
||||||
start = rh_alloc(&cpm_muram_info, size, "commproc");
|
start = rh_alloc(&cpm_muram_info, size, "commproc");
|
||||||
memset_io(cpm_muram_addr(start), 0, size);
|
if (!IS_ERR_VALUE(start))
|
||||||
|
memset_io(cpm_muram_addr(start), 0, size);
|
||||||
spin_unlock_irqrestore(&cpm_muram_lock, flags);
|
spin_unlock_irqrestore(&cpm_muram_lock, flags);
|
||||||
|
|
||||||
return start;
|
return start;
|
||||||
|
|
Loading…
Add table
Reference in a new issue