Smatch report for Cadence PWM

Andrew Goodbody andrew.goodbody at linaro.org
Mon Sep 1 18:58:45 CEST 2025


On 19/08/2025 09:57, Michal Simek wrote:
> Hi Andrew,
> 
> On 8/8/25 11:16, Andrew Goodbody wrote:
>> I have the following Smatch report.
>>
>> drivers/pwm/pwm-cadence-ttc.c:73 cadence_ttc_pwm_set_invert() error: 
>> buffer overflow 'priv->invert' 2 <= 2
>> drivers/pwm/pwm-cadence-ttc.c:138 cadence_ttc_pwm_set_config() error: 
>> buffer overflow 'priv->invert' 2 <= 2
>>
>> Indeed yes, the code allows a maximum index of 2 into an array with 2 
>> elements, so that is out of bounds. My question is which is wrong? 
>> Should the array have 3 elements or should the index be limited to 1, 
>> or is the value being checked 1 based?
> 
> There are maximum 3 PWMs.
> 
> I think the best way to fix would be to create macro with number 3 and 
> use it in array and in boundary check too.
> 
> Thanks,
> Michal
> 

Thanks. Patch on its way.

Andrew


More information about the U-Boot mailing list