Re: [PATCH] ARM: OMAP2+: Powerdomain: Fix unchecked dereference of arch_pwrdm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Nishanth Menon <nm@xxxxxx> [131127 17:56]:
> On 11/27/2013 05:57 AM, Rajendra Nayak wrote:
> > Commit 'cd8abed' "ARM: OMAP2+: Powerdomain: Remove the need to
> > always have a voltdm associated to a pwrdm" leads to the following
> > Smatch complaint:
> > 
> > arch/arm/mach-omap2/powerdomain.c:131 _pwrdm_register()
> > 	 error: we previously assumed 'arch_pwrdm' could be null (see line 105)
> > 
> > So, fix the unchecked dereference of arch_pwrdm.
> > 
> > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> > Signed-off-by: Rajendra Nayak <rnayak@xxxxxx>
> > ---
> >  arch/arm/mach-omap2/powerdomain.c |    3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c
> > index e233dfc..93a2a6e 100644
> > --- a/arch/arm/mach-omap2/powerdomain.c
> > +++ b/arch/arm/mach-omap2/powerdomain.c
> > @@ -128,7 +128,8 @@ skip_voltdm:
> >  	for (i = 0; i < pwrdm->banks; i++)
> >  		pwrdm->ret_mem_off_counter[i] = 0;
> >  
> > -	arch_pwrdm->pwrdm_wait_transition(pwrdm);
> > +	if (arch_pwrdm && arch_pwrdm->pwrdm_wait_transition)
> > +		arch_pwrdm->pwrdm_wait_transition(pwrdm);
> >  	pwrdm->state = pwrdm_read_pwrst(pwrdm);
> >  	pwrdm->state_counter[pwrdm->state] = 1;
> >  
> > 
> Acked-by: Nishanth Menon <nm@xxxxxx>

I'll queue this into omap-for-v3.13/fixes-take4.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux