drivers/gpu/drm/tests/drm_format_helper_test.c:757:36: sparse: sparse: incorrect type in argument 2 (different base types)

From: kernel test robot
Date: Wed Aug 23 2023 - 03:46:02 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 89bf6209cad66214d3774dac86b6bbf2aec6a30d
commit: c37ea39c1fa880da0d7fd2c719e5c96be19f0fc5 Merge tag 'drm-misc-next-2023-01-12' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
date: 7 months ago
config: i386-randconfig-061-20230823 (https://download.01.org/0day-ci/archive/20230823/202308231534.WcBFVCgH-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230823/202308231534.WcBFVCgH-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308231534.WcBFVCgH-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/tests/drm_format_helper_test.c:757:36: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __le32 const [usertype] *buf @@ got unsigned int [usertype] *[assigned] buf @@
drivers/gpu/drm/tests/drm_format_helper_test.c:757:36: sparse: expected restricted __le32 const [usertype] *buf
drivers/gpu/drm/tests/drm_format_helper_test.c:757:36: sparse: got unsigned int [usertype] *[assigned] buf

vim +757 drivers/gpu/drm/tests/drm_format_helper_test.c

175073d694cd9d Thomas Zimmermann 2023-01-02 729
453114319699b6 José Expósito 2022-09-26 730 static void drm_test_fb_xrgb8888_to_xrgb2101010(struct kunit *test)
453114319699b6 José Expósito 2022-09-26 731 {
453114319699b6 José Expósito 2022-09-26 732 const struct convert_xrgb8888_case *params = test->param_value;
453114319699b6 José Expósito 2022-09-26 733 const struct convert_to_xrgb2101010_result *result = &params->xrgb2101010_result;
453114319699b6 José Expósito 2022-09-26 734 size_t dst_size;
4db88a9026c220 Thomas Zimmermann 2023-01-02 735 u32 *buf = NULL;
58f5d9830da0d4 Thomas Zimmermann 2023-01-02 736 __le32 *xrgb8888 = NULL;
453114319699b6 José Expósito 2022-09-26 737 struct iosys_map dst, src;
453114319699b6 José Expósito 2022-09-26 738
453114319699b6 José Expósito 2022-09-26 739 struct drm_framebuffer fb = {
453114319699b6 José Expósito 2022-09-26 740 .format = drm_format_info(DRM_FORMAT_XRGB8888),
453114319699b6 José Expósito 2022-09-26 741 .pitches = { params->pitch, 0, 0 },
453114319699b6 José Expósito 2022-09-26 742 };
453114319699b6 José Expósito 2022-09-26 743
453114319699b6 José Expósito 2022-09-26 744 dst_size = conversion_buf_size(DRM_FORMAT_XRGB2101010,
453114319699b6 José Expósito 2022-09-26 745 result->dst_pitch, &params->clip);
453114319699b6 José Expósito 2022-09-26 746 KUNIT_ASSERT_GT(test, dst_size, 0);
453114319699b6 José Expósito 2022-09-26 747
453114319699b6 José Expósito 2022-09-26 748 buf = kunit_kzalloc(test, dst_size, GFP_KERNEL);
453114319699b6 José Expósito 2022-09-26 749 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf);
453114319699b6 José Expósito 2022-09-26 750 iosys_map_set_vaddr(&dst, buf);
453114319699b6 José Expósito 2022-09-26 751
58f5d9830da0d4 Thomas Zimmermann 2023-01-02 752 xrgb8888 = cpubuf_to_le32(test, params->xrgb8888, TEST_BUF_SIZE);
453114319699b6 José Expósito 2022-09-26 753 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, xrgb8888);
453114319699b6 José Expósito 2022-09-26 754 iosys_map_set_vaddr(&src, xrgb8888);
453114319699b6 José Expósito 2022-09-26 755
453114319699b6 José Expósito 2022-09-26 756 drm_fb_xrgb8888_to_xrgb2101010(&dst, &result->dst_pitch, &src, &fb, &params->clip);
7089003304c676 David Gow 2022-10-19 @757 buf = le32buf_to_cpu(test, buf, dst_size / sizeof(u32));
a52a5451f43bb7 Maíra Canal 2022-10-25 758 KUNIT_EXPECT_MEMEQ(test, buf, result->expected, dst_size);
453114319699b6 José Expósito 2022-09-26 759 }
453114319699b6 José Expósito 2022-09-26 760

:::::: The code at line 757 was first introduced by commit
:::::: 7089003304c67658caead22f841840fc4a26b198 drm: tests: Fix a buffer overflow in format_helper_test

:::::: TO: David Gow <davidgow@xxxxxxxxxx>
:::::: CC: Javier Martinez Canillas <javierm@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki