net: qrtr: haven: Add bounds check in rx path

Validate the values read from shared memory in the receive path.
In the case where a VM is misbehaving, the qrtr haven transport
should return immediately and print a warning.

Change-Id: Ieccd3f99ec0cf321f136600760e7f66e125f765a
Signed-off-by: Sarannya S <quic_sarannya@quicinc.com>
This commit is contained in:
Sarannya S 2022-12-28 17:33:28 +05:30 • committed by Gerrit - the friendly Code Review server
commit a97331a732

View file

@ -148,6 +148,9 @@ static void haven_rx_peak(struct haven_pipe *pipe, void *data,
if (tail >= pipe->length)
tail -= pipe->length;
if (WARN_ON_ONCE(tail > pipe->length))
return;
len = min_t(size_t, count, pipe->length - tail);
if (len)
memcpy_fromio(data, pipe->fifo + tail, len);