diff mbox series

iio: test : check null return of kunit_kmalloc in iio_rescale_test_scale

Message ID ecd56a85e54a96c2f0313c114075a21a76071ea2.1730259869.git.xiaopei01@kylinos.cn (mailing list archive)
State Changes Requested
Headers show
Series iio: test : check null return of kunit_kmalloc in iio_rescale_test_scale | expand

Commit Message

Pei Xiao Oct. 30, 2024, 3:48 a.m. UTC
kunit_kmalloc may fail, return value might be NULL and will cause
NULL pointer dereference.Add KUNIT_ASSERT_NOT_ERR_OR_NULL fix it.

Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
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(+)

Comments

Jonathan Cameron Nov. 1, 2024, 5:29 p.m. UTC | #1
On Wed, 30 Oct 2024 11:48:54 +0800
Pei Xiao <xiaopei01@kylinos.cn> 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?
> 
> Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
> 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;
Pei Xiao Nov. 4, 2024, 1:14 a.m. UTC | #2
On 2024/11/2 01:29, Jonathan Cameron Wrote:
> On Wed, 30 Oct 2024 11:48:54 +0800
> Pei Xiao <xiaopei01@kylinos.cn> 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@kylinos.cn>
>> 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;
>
diff mbox series

Patch

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;