Unverified Commit ff7b464f authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!12387 spi: nxp-fspi: fix the KASAN report out-of-bounds bug

parents dbece5d2 84c264c1
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -731,14 +731,15 @@ static void nxp_fspi_fill_txfifo(struct nxp_fspi *f,
	if (i < op->data.nbytes) {
		u32 data = 0;
		int j;
		int remaining = op->data.nbytes - i;
		/* Wait for TXFIFO empty */
		ret = fspi_readl_poll_tout(f, f->iobase + FSPI_INTR,
					   FSPI_INTR_IPTXWE, 0,
					   POLL_TOUT, true);
		WARN_ON(ret);

		for (j = 0; j < ALIGN(op->data.nbytes - i, 4); j += 4) {
			memcpy(&data, buf + i + j, 4);
		for (j = 0; j < ALIGN(remaining, 4); j += 4) {
			memcpy(&data, buf + i + j, min_t(int, 4, remaining - j));
			fspi_writel(f, data, base + FSPI_TFDR + j);
		}
		fspi_writel(f, FSPI_INTR_IPTXWE, base + FSPI_INTR);