Re: [PATCH] drm: tests: Fix a buffer overflow in format_helper_test

From: Javier Martinez Canillas
Date: Wed Oct 19 2022 - 12:15:12 EST


On 10/19/22 13:36, Maíra Canal wrote:
> [cc Javier]
>
> Hi David,
>
> On 10/19/22 04:32, David Gow wrote:
>> The xrgb2101010 format conversion test (unlike for other formats) does
>> an endianness conversion on the results. However, it always converts
>> TEST_BUF_SIZE 32-bit integers, which results in reading from (and
>> writing to) more memory than in present in the result buffer. Instead,
>> use the buffer size, divided by sizeof(u32).
>>
>> The issue could be reproduced with KASAN:
>> ./tools/testing/kunit/kunit.py run --kunitconfig drivers/gpu/drm/tests \
>> --kconfig_add CONFIG_KASAN=y --kconfig_add CONFIG_KASAN_VMALLOC=y \
>> --kconfig_add CONFIG_KASAN_KUNIT_TEST=y \
>> drm_format_helper_test.*xrgb2101010
>>
>> Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
>> Fixes: 453114319699 ("drm/format-helper: Add KUnit tests for drm_fb_xrgb8888_to_xrgb2101010()")
>> Signed-off-by: David Gow <davidgow@xxxxxxxxxx>
>
> Reviewed-by: Maíra Canal <mairacanal@xxxxxxxxxx>
>

The fix makes sense to me as well,

Reviewed-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>

>> ---
>>
>> This is a fix for the issue reported here:
>> https://lore.kernel.org/dri-devel/CA+G9fYsuc9G+RO81E=vHMqxYStsmLURLdOB0NF26kJ1=K8pRZA@xxxxxxxxxxxxxx/
>>
>> Note that it may conflict with the KUNIT_EXPECT_MEMEQ() series here:
>> https://lore.kernel.org/linux-kselftest/20221018190541.189780-1-mairacanal@xxxxxxxxxx/
>
> I believe this patch will go to the drm-misc-fixes tree, so I can rebase
> the series (and address the format issues) as this patch hits mainline.
>

Awesome. I assume you are pushing to drm-misc-fixes then?

Thanks a lot David and Maíra for taking care of this!

--
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat