serial: sh-sci: Is there a potential buffer underflow in sci_dma_rx_complete()?
From: Tuo Li
Date: Thu Aug 12 2021 - 04:10:35 EST
Hello,
Our static analysis tool reports a possible buffer underflow in sh-sci.c
in Linux 5.14.0-rc3:
The variable active is checked in:
1304: if (active >= 0)
This indicates that it can be negative.
If so, a possible buffer underflow will occur:
1312: desc = dmaengine_prep_slave_sg(s->chan_rx, &s->sg_rx[active],
1, ....);
However, I am not sure whether &s->sg_rx[active] will be used in
dmaengine_prep_slave_sg() if the
function sci_dma_rx_find_active() called at Line 1303 returns a negative
value (-1).
Any feedback would be appreciated, thanks!
Reported-by: TOTE Robot <oslab@xxxxxxxxxxxxxxx>
Best wishes,
Tuo Li