Hi,
Please find the latest report on new defect(s) introduced to ARM-software/arm-trusted-firmware found with Coverity Scan.
** CID 501374: Integer handling issues (INTEGER_OVERFLOW)
/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.c: 308 in mhu_send_signal_poll_loop()
_____________________________________________________________________________________________
*** CID 501374: Integer handling issues (INTEGER_OVERFLOW)
/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.c: 308 in mhu_send_signal_poll_loop()
302 mhu_get_num_mhu_channels(mhu_recv_device, type);
303 uint32_t mhu_err;
304 uint32_t send_signal;
305 uint32_t recv_signal;
306
307 /* Signal using the last channel */
>>> CID 501374: Integer handling issues (INTEGER_OVERFLOW)
>>> Expression "send_num_channels - 1U", where "send_num_channels" is known to be equal to 0, underflows the type of "send_num_channels - 1U", which is type "unsigned int".
308 mhu_err = mhu_channel_send(mhu_send_device, send_num_channels - 1,
309 MHU_NOTIFY_VALUE, type);
310 if (mhu_err != 0) {
311 return mhu_err;
312 }
313
** CID 501373: Integer handling issues (INTEGER_OVERFLOW)
/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.c: 379 in mhu_message_is_available()
_____________________________________________________________________________________________
*** CID 501373: Integer handling issues (INTEGER_OVERFLOW)
/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.c: 379 in mhu_message_is_available()
373 {
374 const uint32_t num_channels =
375 mhu_get_num_mhu_channels(mhu_recv_device, type);
376 uint32_t mhu_err;
377 uint32_t value;
378
>>> CID 501373: Integer handling issues (INTEGER_OVERFLOW)
>>> Expression "num_channels - 1U", where "num_channels" is known to be equal to 0, underflows the type of "num_channels - 1U", which is type "unsigned int".
379 mhu_err = mhu_channel_receive_device_receive(
380 mhu_recv_device, num_channels - 1, &value, type);
381 if (mhu_err != 0) {
382 return mhu_err;
383 }
384
** CID 501372: Integer handling issues (INTEGER_OVERFLOW)
/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.c: 359 in mhu_recv_signal_poll_loop()
_____________________________________________________________________________________________
*** CID 501372: Integer handling issues (INTEGER_OVERFLOW)
/drivers/arm/sfcp/sfcp_core/sfcp_link_hal.c: 359 in mhu_recv_signal_poll_loop()
353 return mhu_err;
354 }
355 }
356
357 /* Wait for next sender transfer */
358 do {
>>> CID 501372: Integer handling issues (INTEGER_OVERFLOW)
>>> Expression "recv_num_channels - 1U", where "recv_num_channels" is known to be equal to 0, underflows the type of "recv_num_channels - 1U", which is type "unsigned int".
359 mhu_err = mhu_channel_receive_device_receive(
360 mhu_recv_device, recv_num_channels - 1, &recv_signal,
361 type);
362 if (mhu_err != 0) {
363 return mhu_err;
364 }
Best regards,
The Coverity Scan Admin Team