* [PATCH next] drm/amdgpu: Initialize UALink handle uniqueness state
@ 2026-09-14 5:46 Karl Mehltretter
2026-09-16 17:41 ` Felix Kuehling
0 siblings, 1 reply; 2+ messages in thread
From: Karl Mehltretter @ 2026-09-14 5:46 UTC (permalink / raw)
To: Mukul Joshi, Alex Deucher
Cc: Karl Mehltretter, Felix Kuehling, Christian König,
David Airlie, Simona Vetter, amd-gfx, dri-devel, linux-kernel
amdgpu_generate_ualink_handle() continues when handle_lo is zero. For
accelerator ID 0, the random value can become zero after the low 10 bits
are cleared. This path reaches while (!unique) without assigning unique.
Clang's -Wconditional-uninitialized reports the read. A reduced
MemorySanitizer test reports use-of-uninitialized-value at the loop
condition.
If the uninitialized value ends the loop, handle 0 is inserted into
exp_xa while robj->ualink_handle_lo still says that the BO has no handle.
A later export can create another entry for the same BO.
Initialize unique to false so the zero-handle path repeats the loop.
Fixes: c67cb19811ec ("drm/amdgpu: Implement UALink handle export")
Assisted-by: LLM
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
index ab56420..c6b7122 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
@@ -1819,7 +1819,7 @@ static void amdgpu_ualink_npa_mm_fini(struct amdgpu_device *adev)
static void amdgpu_generate_ualink_handle(struct amdgpu_device *adev,
struct amdgpu_ualink_handle *handle)
{
- bool unique;
+ bool unique = false;
do {
handle->handle_lo = get_random_u64();
base-commit: 68142f986ff04b2b70b31db00f719bf690f64a9a
--
2.53.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH next] drm/amdgpu: Initialize UALink handle uniqueness state
2026-09-14 5:46 [PATCH next] drm/amdgpu: Initialize UALink handle uniqueness state Karl Mehltretter
@ 2026-09-16 17:41 ` Felix Kuehling
0 siblings, 0 replies; 2+ messages in thread
From: Felix Kuehling @ 2026-09-16 17:41 UTC (permalink / raw)
To: Karl Mehltretter, Mukul Joshi, Alex Deucher
Cc: Christian König, David Airlie, Simona Vetter, amd-gfx,
dri-devel, linux-kernel
On 2026-09-14 01:46, Karl Mehltretter wrote:
> amdgpu_generate_ualink_handle() continues when handle_lo is zero. For
> accelerator ID 0, the random value can become zero after the low 10 bits
> are cleared. This path reaches while (!unique) without assigning unique.
>
> Clang's -Wconditional-uninitialized reports the read. A reduced
> MemorySanitizer test reports use-of-uninitialized-value at the loop
> condition.
>
> If the uninitialized value ends the loop, handle 0 is inserted into
> exp_xa while robj->ualink_handle_lo still says that the BO has no handle.
> A later export can create another entry for the same BO.
>
> Initialize unique to false so the zero-handle path repeats the loop.
>
> Fixes: c67cb19811ec ("drm/amdgpu: Implement UALink handle export")
> Assisted-by: LLM
> Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Thanks for the catch. I'm applying the patch to amd-staging-drm-next.
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Mukul is looking into the other pre-existing issues pointed out by Sashiko.
Regards,
Felix
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
> index ab56420..c6b7122 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ualink.c
> @@ -1819,7 +1819,7 @@ static void amdgpu_ualink_npa_mm_fini(struct amdgpu_device *adev)
> static void amdgpu_generate_ualink_handle(struct amdgpu_device *adev,
> struct amdgpu_ualink_handle *handle)
> {
> - bool unique;
> + bool unique = false;
>
> do {
> handle->handle_lo = get_random_u64();
> base-commit: 68142f986ff04b2b70b31db00f719bf690f64a9a
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-16 17:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-14 5:46 [PATCH next] drm/amdgpu: Initialize UALink handle uniqueness state Karl Mehltretter
2026-09-16 17:41 ` Felix Kuehling
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®