Hi,

Please find the latest report on new defect(s) introduced to ARM-software/arm-trusted-firmware found with Coverity Scan.

Defect Details

** 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     		}

  

View Defects in Coverity Scan

Best regards,

The Coverity Scan Admin Team