Commit 8bff946c authored by Tzung-Bi Shih's avatar Tzung-Bi Shih

platform/chrome: cros_ec_i2c: drop BUG_ON() in cros_ec_pkt_xfer_i2c()

It is overkill to crash the kernel if the given message is oversize.

Drop the BUG_ON() and return -EINVAL instead.
Reviewed-by: default avatarGuenter Roeck <groeck@chromium.org>
Signed-off-by: default avatarTzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/20220513044143.1045728-6-tzungbi@kernel.org
parent 20a264c9
...@@ -72,13 +72,19 @@ static int cros_ec_pkt_xfer_i2c(struct cros_ec_device *ec_dev, ...@@ -72,13 +72,19 @@ static int cros_ec_pkt_xfer_i2c(struct cros_ec_device *ec_dev,
i2c_msg[1].flags = I2C_M_RD; i2c_msg[1].flags = I2C_M_RD;
packet_len = msg->insize + response_header_size; packet_len = msg->insize + response_header_size;
BUG_ON(packet_len > ec_dev->din_size); if (packet_len > ec_dev->din_size) {
ret = -EINVAL;
goto done;
}
in_buf = ec_dev->din; in_buf = ec_dev->din;
i2c_msg[1].len = packet_len; i2c_msg[1].len = packet_len;
i2c_msg[1].buf = (char *) in_buf; i2c_msg[1].buf = (char *) in_buf;
packet_len = msg->outsize + request_header_size; packet_len = msg->outsize + request_header_size;
BUG_ON(packet_len > ec_dev->dout_size); if (packet_len > ec_dev->dout_size) {
ret = -EINVAL;
goto done;
}
out_buf = ec_dev->dout; out_buf = ec_dev->dout;
i2c_msg[0].len = packet_len; i2c_msg[0].len = packet_len;
i2c_msg[0].buf = (char *) out_buf; i2c_msg[0].buf = (char *) out_buf;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment