Re: [REGRESSION] drm/amd/display: amdgpu_dm_plane_test.ko fails to build due to modpost "too long symbol"
From: Venkat
Date: Fri Jul 10 2026 - 23:44:21 EST
Thank you everyone for the comments. I have sent out a formal patch. Please refer the below link.
https://lore.kernel.org/all/20260711032956.87948-1-venkat88@xxxxxxxxxxxxx/
Regards,
Venkat.
> On 11 Jul 2026, at 2:13 AM, Alex Hung <alex.hung@xxxxxxx> wrote:
>
>
>
> On 7/10/26 02:52, Venkat Rao Bagalkote wrote:
>> On 10/07/26 1:31 pm, Venkat Rao Bagalkote wrote:
>>>
>>> On 10/07/26 10:45 am, Venkat Rao Bagalkote wrote:
>>>>
>>>> On 09/07/26 11:53 pm, Randy Dunlap wrote:
>>>>>
>>>>> On 7/7/26 10:05 PM, Venkat Rao Bagalkote wrote:
>>>>>> Greetings!!!
>>>>>>
>>>>>> linux-next is failing to build for me with:
>>>>>>
>>>>>> ERROR: modpost: too long symbol
>>>>>> "amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers"
>>>>>> [drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/tests/ amdgpu_dm_plane_test.ko]
>>>>>>
>>>>>> make[2]: *** [scripts/Makefile.modpost:147: Module.symvers] Error 1
>>>>>> make[1]: *** [Makefile:2165: modpost] Error 2
>>>>>> make: *** [Makefile:248: __sub-make] Error 2
>>>>>>
>>>>>> The failure occurs during modpost while building:
>>>>>>
>>>>>> drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_plane_test.ko
>>>>>>
>>>>>> This appears to be a regression in the AMD display KUnit test code.
>>>>>>
>>>>>> Could someone please take a look?
>>>>>>
>>>>>>
>>>>>> If you happen to fix this, please add below tag.
>>>>>>
>>>>>> Reported-by: Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx>
>>>>> Hi,
>>>>> I cannot reproduce this when using gcc v15.3.0.
>>>>>
>>>>> Which compiler & version are you using?
>>>>>
>>>> Hello,
>>>>
>>>> I am seeing this across below mentioned gcc version.
>>>>
>>>>
>>>> gcc (GCC) 14.3.1 20251022 (Red Hat 14.3.1-4)
>>>> gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11)
>>>> gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-7)
>>>>
>>>>
>>>> Attched is the .config file.
>>>
>>> Git bisect is pointing to below commit as first bad commit.
>>>
>>>
>>> # git bisect bad
>>> 2b147895be109e0860269a7a72c697cdf049a885 is the first bad commit
>>> commit 2b147895be109e0860269a7a72c697cdf049a885 (HEAD)
>>> Author: Bhawanpreet Lakha <bhawanpreet.lakha@xxxxxxx>
>>> Date: Fri Jun 12 16:12:21 2026 -0400
>>>
>>> drm/amd/display: Add kunit tests for amdgpu_dm_plane
>>>
>>> Add kunit tests for some functions in amdgpu_dm_plane.
>>>
>>> Assisted-by: Copilot:Claude-Opus-4.8
>>> Reviewed-by: Alex Hung <alex.hung@xxxxxxx>
>>> Signed-off-by: Bhawanpreet Lakha <bhawanpreet.lakha@xxxxxxx>
>>> Signed-off-by: George Zhang <george.zhang@xxxxxxx>
>>> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
>>>
>>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 115 ++++ ++-----
>>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.h | 51 +++++
>>> drivers/gpu/drm/amd/display/amdgpu_dm/tests/Makefile | 2 +
>>> drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_plane_test.c | 1204 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++
>>> 4 files changed, 1325 insertions(+), 47 deletions(-)
>>> create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/ amdgpu_dm_plane_test.c
>>>
>> Hi,
>> I bisected this build failure and found that it is caused by the exported
>> KUnit symbols:
>> amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers()
>> amdgpu_dm_plane_fill_gfx12_plane_attributes_from_modifiers()
>> modpost rejects the resulting exported symbol name with:
>> ERROR: modpost: too long symbol
>> "amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers"
>> I tested the following approach locally, which simply shortens the helper
>> names to:
>> amdgpu_dm_plane_fill_gfx9_attrs_from_modifiers()
>> amdgpu_dm_plane_fill_gfx12_attrs_from_modifiers()
>> and updated all corresponding users and KUnit references. This resolves the
>> build issue for me and does not appear to introduce any functional changes.
>> Does this look like an acceptable fix?
>> If so, I'll prepare and send a formal patch with proper changelog.
>
> This looks to me. Thanks for catching this.
>
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c b/ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
>> index 1b564cfe2120..b58225338bc4 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
>> @@ -328,7 +328,7 @@ STATIC_IFN_KUNIT int amdgpu_dm_plane_validate_dcc(struct amdgpu_device *adev,
>> }
>> EXPORT_IF_KUNIT(amdgpu_dm_plane_validate_dcc);
>> -STATIC_IFN_KUNIT int amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers(struct amdgpu_device *adev,
>> +STATIC_IFN_KUNIT int amdgpu_dm_plane_fill_gfx9_attrs_from_modifiers(struct amdgpu_device *adev,
>> const struct amdgpu_framebuffer *afb,
>> const enum surface_pixel_format format,
>> const enum dc_rotation_angle rotation,
>> @@ -378,9 +378,9 @@ STATIC_IFN_KUNIT int amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers(s
>> return ret;
>> }
>> - EXPORT_IF_KUNIT(amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers);
>> +EXPORT_IF_KUNIT(amdgpu_dm_plane_fill_gfx9_attrs_from_modifiers);
>> -STATIC_IFN_KUNIT int amdgpu_dm_plane_fill_gfx12_plane_attributes_from_modifiers(struct amdgpu_device *adev,
>> +STATIC_IFN_KUNIT int amdgpu_dm_plane_fill_gfx12_attrs_from_modifiers(struct amdgpu_device *adev,
>> const struct amdgpu_framebuffer *afb,
>> const enum surface_pixel_format format,
>> const enum dc_rotation_angle rotation,
>> @@ -419,7 +419,7 @@ STATIC_IFN_KUNIT int amdgpu_dm_plane_fill_gfx12_plane_attributes_from_modifiers(
>> return ret;
>> }
>> - EXPORT_IF_KUNIT(amdgpu_dm_plane_fill_gfx12_plane_attributes_from_modifiers);
>> +EXPORT_IF_KUNIT(amdgpu_dm_plane_fill_gfx12_attrs_from_modifiers);
>> static void amdgpu_dm_plane_add_gfx10_1_modifiers(const struct amdgpu_device *adev,
>> uint64_t **mods,
>> @@ -927,14 +927,14 @@ int amdgpu_dm_plane_fill_plane_buffer_attributes(struct amdgpu_device *adev,
>> }
>> if (adev->family == AMDGPU_FAMILY_GC_12_0_0) {
>> - ret = amdgpu_dm_plane_fill_gfx12_plane_attributes_from_modifiers(adev, afb, format,
>> + ret = amdgpu_dm_plane_fill_gfx12_attrs_from_modifiers(adev, afb, format,
>> rotation, plane_size,
>> tiling_info, dcc,
>> address);
>> if (ret)
>> return ret;
>> } else if (adev->family >= AMDGPU_FAMILY_AI) {
>> - ret = amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers(adev, afb, format,
>> + ret = amdgpu_dm_plane_fill_gfx9_attrs_from_modifiers(adev, afb, format,
>> rotation, plane_size,
>> tiling_info, dcc,
>> address);
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.h b/ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.h
>> index 911fb2d73e22..55c33e051aee 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.h
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.h
>> @@ -92,7 +92,7 @@ int amdgpu_dm_plane_get_plane_modifiers(struct amdgpu_device *adev,
>> int amdgpu_dm_plane_get_plane_formats(const struct drm_plane *plane,
>> const struct dc_plane_cap *plane_cap,
>> uint32_t *formats, int max_formats);
>> -int amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers(struct amdgpu_device *adev,
>> +int amdgpu_dm_plane_fill_gfx9_attrs_from_modifiers(struct amdgpu_device *adev,
>> const struct amdgpu_framebuffer *afb,
>> const enum surface_pixel_format format,
>> const enum dc_rotation_angle rotation,
>> @@ -100,7 +100,7 @@ int amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers(struct amdgpu_devi
>> struct dc_tiling_info *tiling_info,
>> struct dc_plane_dcc_param *dcc,
>> struct dc_plane_address *address);
>> -int amdgpu_dm_plane_fill_gfx12_plane_attributes_from_modifiers(struct amdgpu_device *adev,
>> +int amdgpu_dm_plane_fill_gfx12_attrs_from_modifiers(struct amdgpu_device *adev,
>> const struct amdgpu_framebuffer *afb,
>> const enum surface_pixel_format format,
>> const enum dc_rotation_angle rotation,
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/ amdgpu_dm_plane_test.c b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/ amdgpu_dm_plane_test.c
>> index 46c9af432e37..fc84f5a08596 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_plane_test.c
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_plane_test.c
>> @@ -579,7 +579,7 @@ static void dm_test_fill_gfx12_plane_attributes_from_modifiers(struct kunit *tes
>> plane_size.surface_size.height = 1080;
>> KUNIT_EXPECT_EQ(test,
>> - amdgpu_dm_plane_fill_gfx12_plane_attributes_from_modifiers(
>> + amdgpu_dm_plane_fill_gfx12_attrs_from_modifiers(
>> adev, afb, SURFACE_PIXEL_FORMAT_GRPH_ARGB8888,
>> ROTATION_ANGLE_0, &plane_size, &tiling_info, &dcc, &address),
>> 0);
>> @@ -623,7 +623,7 @@ static void dm_test_fill_gfx9_plane_attributes_from_modifiers(struct kunit *test
>> afb->base.modifier = DRM_FORMAT_MOD_LINEAR;
>> KUNIT_EXPECT_EQ(test,
>> - amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers(
>> + amdgpu_dm_plane_fill_gfx9_attrs_from_modifiers(
>> adev, afb, SURFACE_PIXEL_FORMAT_GRPH_ARGB8888,
>> ROTATION_ANGLE_0, &plane_size, &tiling_info, &dcc, &address),
>> 0);
>> @@ -1187,9 +1187,9 @@ static struct kunit_case amdgpu_dm_plane_test_cases[] = {
>> KUNIT_CASE(dm_test_get_cursor_position),
>> /* amdgpu_dm_plane_format_mod_supported() */
>> KUNIT_CASE(dm_test_format_mod_supported),
>> - /* amdgpu_dm_plane_fill_gfx12_plane_attributes_from_modifiers() */
>> + /* amdgpu_dm_plane_fill_gfx12_attrs_from_modifiers() */
>> KUNIT_CASE(dm_test_fill_gfx12_plane_attributes_from_modifiers),
>> - /* amdgpu_dm_plane_fill_gfx9_plane_attributes_from_modifiers() */
>> + /* amdgpu_dm_plane_fill_gfx9_attrs_from_modifiers() */
>> KUNIT_CASE(dm_test_fill_gfx9_plane_attributes_from_modifiers),
>> /* amdgpu_dm_plane_helper_check_state() */
>> KUNIT_CASE(dm_test_helper_check_state_viewport_reject),
>> (END)
>> Regards,
>> Venkat.
>>>
>>> # git bisect log
>>> git bisect start
>>> # status: waiting for both good and bad commits
>>> # bad: [5c73cd9f0819c1c44e373e3dabb68318b1de1a12] Add linux-next specific files for 20260707
>>> git bisect bad 5c73cd9f0819c1c44e373e3dabb68318b1de1a12
>>> # good: [8cdeaa50eae8dad34885515f62559ee83e7e8dda] Linux 7.2-rc2
>>> git bisect good 8cdeaa50eae8dad34885515f62559ee83e7e8dda
>>> # good: [aac7863446a8e0cf380f4a5087bc3cdc9b8c14c0] Merge branch 'master' of https://git.kernel.org/pub/scm/linux/kernel/git/herbert/ cryptodev-2.6.git
>>> git bisect good aac7863446a8e0cf380f4a5087bc3cdc9b8c14c0
>>> # bad: [fe28d02cde5372d7f71cc6132ccdef37a98ac750] Merge branch 'for- linux-next' of https://gitlab.freedesktop.org/drm/i915/kernel.git
>>> git bisect bad fe28d02cde5372d7f71cc6132ccdef37a98ac750
>>> # good: [0639cb26862afe4e35a689a8b5df8b9117c19f52] Merge tag 'drm-xe- next-2026-07-03' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next
>>> git bisect good 0639cb26862afe4e35a689a8b5df8b9117c19f52
>>> # good: [4e9c8a9c322427055c4892183d266ba391af1bc8] drm/amdkfd: drop struct kfd_signal_page wrapper
>>> git bisect good 4e9c8a9c322427055c4892183d266ba391af1bc8
>>> # bad: [ea33aa1545535fdb4c1a208b7bfd63314c3a4aa2] drm/amdgpu: Drop legacy ACA log RAS error data code
>>> git bisect bad ea33aa1545535fdb4c1a208b7bfd63314c3a4aa2
>>> # good: [a17e79d01f22182a9fcbe79fcbe2ad1477d43e0f] drm/amd/pm: Validate pp_table header before reading size
>>> git bisect good a17e79d01f22182a9fcbe79fcbe2ad1477d43e0f
>>> # bad: [7a561c2b1b63abcffb55f625c0d0adb68ab2961a] drm/amd/display: Simplify boolean checks
>>> git bisect bad 7a561c2b1b63abcffb55f625c0d0adb68ab2961a
>>> # good: [53ef33c084c5778cc2dcd1efff25e31b6e231141] drm/amd/pm: Validate Tonga PPTable subtable bounds
>>> git bisect good 53ef33c084c5778cc2dcd1efff25e31b6e231141
>>> # good: [fe5966d4fdcbed91e6b3478ea6c89d9915d6ed4a] drm/amdkfd: move TBA/TMA from system to device memory
>>> git bisect good fe5966d4fdcbed91e6b3478ea6c89d9915d6ed4a
>>> # good: [7a39b1c3b2e6b27f4230a20ccf9ac5a2737fa8b0] drm/amd/display: Replace repeated no-native-i2c checks with force_i2c_over_aux field
>>> git bisect good 7a39b1c3b2e6b27f4230a20ccf9ac5a2737fa8b0
>>> # good: [88ae862060f05cd8279e764832f04eafafa505d8] drm/amd/display: Add more KUnit tests for amdgpu_dm_colorop
>>> git bisect good 88ae862060f05cd8279e764832f04eafafa505d8
>>> # bad: [2b147895be109e0860269a7a72c697cdf049a885] drm/amd/display: Add kunit tests for amdgpu_dm_plane
>>> git bisect bad 2b147895be109e0860269a7a72c697cdf049a885
>>> # first bad commit: [2b147895be109e0860269a7a72c697cdf049a885] drm/ amd/display: Add kunit tests for amdgpu_dm_plane
>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Venkat.