From: Arvind Yadav Date: Tue, 20 Jun 2017 09:30:53 +0000 (+0530) Subject: spi: loopback-test: Fix kfree() NULL pointer error. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=704c3098e4c55a409eaf5ec89cee1bccc8d44f4c;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git spi: loopback-test: Fix kfree() NULL pointer error. Here, rx/tx allocation can fail. So avoid kvfree call with NULL pointer. Signed-off-by: Arvind Yadav Signed-off-by: Mark Brown --- diff --git a/drivers/spi/spi-loopback-test.c b/drivers/spi/spi-loopback-test.c index 514997a143dc..3459965004f8 100644 --- a/drivers/spi/spi-loopback-test.c +++ b/drivers/spi/spi-loopback-test.c @@ -1021,10 +1021,9 @@ int spi_test_run_tests(struct spi_device *spi, rx = vmalloc(SPI_TEST_MAX_SIZE_PLUS); else rx = kzalloc(SPI_TEST_MAX_SIZE_PLUS, GFP_KERNEL); - if (!rx) { - ret = -ENOMEM; - goto out; - } + if (!rx) + return -ENOMEM; + if (use_vmalloc) tx = vmalloc(SPI_TEST_MAX_SIZE_PLUS); @@ -1032,7 +1031,7 @@ int spi_test_run_tests(struct spi_device *spi, tx = kzalloc(SPI_TEST_MAX_SIZE_PLUS, GFP_KERNEL); if (!tx) { ret = -ENOMEM; - goto out; + goto err_tx; } /* now run the individual tests in the table */ @@ -1057,8 +1056,9 @@ int spi_test_run_tests(struct spi_device *spi, } out: - kvfree(rx); kvfree(tx); +err_tx: + kvfree(rx); return ret; } EXPORT_SYMBOL_GPL(spi_test_run_tests);