Messages in this thread Patch in this message | | | From | Frank Li <> | Subject | [PATCH 1/1] i3c: master: svc: return error when read length bigger than 255 | Date | Wed, 10 Jan 2024 17:25:03 -0500 |
| |
RDTERM in MCTRL is 8 bits. Add a length check to prevent silent data errors when the read length exceeds 255 bytes during each i3c_priv_xfer operation.
Signed-off-by: Frank Li <Frank.Li@nxp.com> --- drivers/i3c/master/svc-i3c-master.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c index bd10bb698da0f..181b56953fb28 100644 --- a/drivers/i3c/master/svc-i3c-master.c +++ b/drivers/i3c/master/svc-i3c-master.c @@ -1375,6 +1375,11 @@ static int svc_i3c_master_priv_xfers(struct i3c_dev_desc *dev, cmd->len = xfers[i].len; cmd->actual_len = xfers[i].rnw ? xfers[i].len : 0; cmd->continued = (i + 1) < nxfers; + + if (cmd->rnw && cmd->len > 255) { + dev_err(master->dev, "only support read less than 255 each xfer\n"); + return -EINVAL; + } } mutex_lock(&master->lock); -- 2.34.1
| |