Fwd: New Defects reported by Coverity Scan for Das U-Boot

Tom Rini trini at konsulko.com
Mon Aug 21 23:09:27 CEST 2023


Here's the latest report

---------- Forwarded message ---------
From: <scan-admin at coverity.com>
Date: Mon, Aug 21, 2023 at 4:30 PM
Subject: New Defects reported by Coverity Scan for Das U-Boot
To: <tom.rini at gmail.com>


Hi,

Please find the latest report on new defect(s) introduced to Das
U-Boot found with Coverity Scan.

4 new defect(s) introduced to Das U-Boot found with Coverity Scan.


New defect(s) Reported-by: Coverity Scan
Showing 4 of 4 defect(s)


** CID 464362:  Integer handling issues  (OVERFLOW_BEFORE_WIDEN)
/drivers/video/pwm_backlight.c: 68 in set_pwm()


________________________________________________________________________________________________________
*** CID 464362:  Integer handling issues  (OVERFLOW_BEFORE_WIDEN)
/drivers/video/pwm_backlight.c: 68 in set_pwm()
62     {
63      u64 width;
64      uint duty_cycle;
65      int ret;
66
67      if (priv->period_ns) {
>>>     CID 464362:  Integer handling issues  (OVERFLOW_BEFORE_WIDEN)
>>>     Potentially overflowing expression "priv->period_ns * (priv->cur_level - priv->min_level)" with type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "u64" (64 bits, unsigned).
68              width = priv->period_ns * (priv->cur_level - priv->min_level);
69              duty_cycle = div_u64(width,
70                                   (priv->max_level - priv->min_level));
71              ret = pwm_set_config(priv->pwm, priv->channel, priv->period_ns,
72                                   duty_cycle);
73      } else {

** CID 464361:  Control flow issues  (DEADCODE)
/drivers/firmware/arm-ffa/arm-ffa-uclass.c: 148 in ffa_print_error_log()


________________________________________________________________________________________________________
*** CID 464361:  Control flow issues  (DEADCODE)
/drivers/firmware/arm-ffa/arm-ffa-uclass.c: 148 in ffa_print_error_log()
142
143             if (ffa_id < FFA_FIRST_ID || ffa_id > FFA_LAST_ID)
144                     return -EINVAL;
145
146             abi_idx = FFA_ID_TO_ERRMAP_ID(ffa_id);
147             if (abi_idx < 0 || abi_idx >= FFA_ERRMAP_COUNT)
>>>     CID 464361:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "return -22;".
148                     return -EINVAL;
149
150             if (!err_msg_map[abi_idx].err_str[err_idx])
151                     return -EINVAL;
152
153             log_err("%s\n", err_msg_map[abi_idx].err_str[err_idx]);

** CID 464360:  Control flow issues  (NO_EFFECT)
/drivers/firmware/arm-ffa/arm-ffa-uclass.c: 207 in ffa_get_version_hdlr()


________________________________________________________________________________________________________
*** CID 464360:  Control flow issues  (NO_EFFECT)
/drivers/firmware/arm-ffa/arm-ffa-uclass.c: 207 in ffa_get_version_hdlr()
201             major = GET_FFA_MAJOR_VERSION(res.a0);
202             minor = GET_FFA_MINOR_VERSION(res.a0);
203
204             log_debug("FF-A driver %d.%d\nFF-A framework %d.%d\n",
205                      FFA_MAJOR_VERSION, FFA_MINOR_VERSION, major, minor);
206
>>>     CID 464360:  Control flow issues  (NO_EFFECT)
>>>     This greater-than-or-equal-to-zero comparison of an unsigned value is always true. "minor >= 0".
207             if (major == FFA_MAJOR_VERSION && minor >= FFA_MINOR_VERSION) {
208                     log_debug("FF-A versions are compatible\n");
209
210                     if (dev) {
211                             uc_priv = dev_get_uclass_priv(dev);
212                             if (uc_priv)

** CID 464359:    (PASS_BY_VALUE)
/drivers/firmware/arm-ffa/arm-ffa-uclass.c: 168 in invoke_ffa_fn()
/drivers/firmware/arm-ffa/ffa-emul-uclass.c: 673 in invoke_ffa_fn()


________________________________________________________________________________________________________
*** CID 464359:    (PASS_BY_VALUE)
/drivers/firmware/arm-ffa/arm-ffa-uclass.c: 168 in invoke_ffa_fn()
162      * @args: FF-A ABI arguments to be copied to Xn registers
163      * @res: FF-A ABI return data to be copied from Xn registers
164      *
165      * Calls low level SMC implementation.
166      * This function should be implemented by the user driver.
167      */
>>>     CID 464359:    (PASS_BY_VALUE)
>>>     Passing parameter args of type "ffa_value_t" (size 144 bytes) by value, which exceeds the low threshold of 128 bytes.
168     void __weak invoke_ffa_fn(ffa_value_t args, ffa_value_t *res)
169     {
170     }
171
172     /**
173      * ffa_get_version_hdlr() - FFA_VERSION handler function
/drivers/firmware/arm-ffa/ffa-emul-uclass.c: 673 in invoke_ffa_fn()
667      * invoke_ffa_fn() - SMC wrapper
668      * @args: FF-A ABI arguments to be copied to Xn registers
669      * @res: FF-A ABI return data to be copied from Xn registers
670      *
671      * Calls the emulated SMC call.
672      */
>>>     CID 464359:    (PASS_BY_VALUE)
>>>     Passing parameter args of type "ffa_value_t" (size 144 bytes) by value, which exceeds the low threshold of 128 bytes.
673     void invoke_ffa_fn(ffa_value_t args, ffa_value_t *res)
674     {
675             sandbox_arm_ffa_smccc_smc(&args, res);
676     }
677
678     /**

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230821/1b4d0b19/attachment.sig>


More information about the U-Boot mailing list