Re: [PATCH] iio: test : check null return of kunit_kmalloc in iio_rescale_test_scale

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2024/11/2 01:29, Jonathan Cameron Wrote:
On Wed, 30 Oct 2024 11:48:54 +0800
Pei Xiao <xiaopei01@xxxxxxxxxx> wrote:

kunit_kmalloc may fail, return value might be NULL and will cause
NULL pointer dereference.Add KUNIT_ASSERT_NOT_ERR_OR_NULL fix it.
Can it be an error?  If not why not use KUNIT_ASSERT_NOT_NULL?
As you thought, initially I felt that we should use KUNIT_ASSERT_NOT_NULL. However, when I used grep KUNIT_ASSERT_NOT_ERR_OR_NULL -nr drivers/iio/test/, I found that the drivers/iio/test/ directory exclusively uses KUNIT_ASSERT_NOT_ERR_OR_NULL instead of KUNIT_ASSERT_NOT_NULL. To maintain consistency, I have changed it to KUNIT_ASSERT_NOT_ERR_OR_NULL.

drivers/iio/test/iio-test-format.c:22: KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf); drivers/iio/test/iio-test-format.c:52: KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf); drivers/iio/test/iio-test-format.c:113: KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf); drivers/iio/test/iio-test-format.c:153: KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf); drivers/iio/test/iio-test-format.c:193: KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf); drivers/iio/test/iio-test-format.c:208: KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf);

Signed-off-by: Pei Xiao <xiaopei01@xxxxxxxxxx>
Fixes: 8e74a48d17d5 ("iio: test: add basic tests for the iio-rescale driver")
---
  drivers/iio/test/iio-test-rescale.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/drivers/iio/test/iio-test-rescale.c b/drivers/iio/test/iio-test-rescale.c
index 31ee55a6faed..11bfff6636a3 100644
--- a/drivers/iio/test/iio-test-rescale.c
+++ b/drivers/iio/test/iio-test-rescale.c
@@ -652,6 +652,8 @@ static void iio_rescale_test_scale(struct kunit *test)
  	int rel_ppm;
  	int ret;
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buff);
+
  	rescale.numerator = t->numerator;
  	rescale.denominator = t->denominator;
  	rescale.offset = t->offset;
@@ -681,6 +683,8 @@ static void iio_rescale_test_offset(struct kunit *test)
  	int values[2];
  	int ret;
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buff_off);
+
  	rescale.numerator = t->numerator;
  	rescale.denominator = t->denominator;
  	rescale.offset = t->offset;





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux