mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 05:44:45 +01:00
spi: spi-imx: Add check for spi_imx_setupxfer()
Add check for the return value of spi_imx_setupxfer(). spi_imx->rx and spi_imx->tx function pointer can be NULL when spi_imx_setupxfer() return error, and make NULL pointer dereference. Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 Call trace: 0x0 spi_imx_pio_transfer+0x50/0xd8 spi_imx_transfer_one+0x18c/0x858 spi_transfer_one_message+0x43c/0x790 __spi_pump_transfer_message+0x238/0x5d4 __spi_sync+0x2b0/0x454 spi_write_then_read+0x11c/0x200 Signed-off-by: Tamura Dai <kirinode0@gmail.com> Reviewed-by: Carlos Song <carlos.song@nxp.com> Link: https://patch.msgid.link/20250417011700.14436-1-kirinode0@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
21f4314e66
commit
951a04ab3a
1 changed files with 4 additions and 1 deletions
|
|
@ -1695,9 +1695,12 @@ static int spi_imx_transfer_one(struct spi_controller *controller,
|
|||
struct spi_device *spi,
|
||||
struct spi_transfer *transfer)
|
||||
{
|
||||
int ret;
|
||||
struct spi_imx_data *spi_imx = spi_controller_get_devdata(spi->controller);
|
||||
|
||||
spi_imx_setupxfer(spi, transfer);
|
||||
ret = spi_imx_setupxfer(spi, transfer);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
transfer->effective_speed_hz = spi_imx->spi_bus_clk;
|
||||
|
||||
/* flush rxfifo before transfer */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue