1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 23:22:37 +02:00

dediprog: Bail out on unsupported, long transfers

Change-Id: I7b16701597909c015f98199e73ebb7d923f2b072
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/33614
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Reviewed-by: Ryan O'Leary
Reviewed-by: ron minnich <rminnich@gmail.com>
This commit is contained in:
Nico Huber 2019-06-18 23:56:01 +02:00
parent d8b2e808cd
commit 477e1693c8

View File

@ -362,7 +362,15 @@ static int dediprog_set_spi_speed(unsigned int spispeed_idx)
static int prepare_rw_cmd( static int prepare_rw_cmd(
struct flashctx *const flash, uint8_t *data_packet, unsigned int count, struct flashctx *const flash, uint8_t *data_packet, unsigned int count,
uint8_t dedi_spi_cmd, unsigned int *value, unsigned int *idx, unsigned int start, int is_read) { uint8_t dedi_spi_cmd, unsigned int *value, unsigned int *idx, unsigned int start, int is_read)
{
if (count >= 1 << 16) {
msg_perr("%s: Unsupported transfer length of %u blocks! "
"Please report a bug at flashrom@flashrom.org\n",
__func__, count);
return 1;
}
/* First 5 bytes are common in both generations. */ /* First 5 bytes are common in both generations. */
data_packet[0] = count & 0xff; data_packet[0] = count & 0xff;
data_packet[1] = (count >> 8) & 0xff; data_packet[1] = (count >> 8) & 0xff;