lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <44d30056-612f-4563-ad9f-92696c5a803a@ursulin.net>
Date: Tue, 25 Nov 2025 13:20:06 +0000
From: Tvrtko Ursulin <tursulin@...ulin.net>
To: Philipp Stanner <phasta@...nel.org>,
 Sumit Semwal <sumit.semwal@...aro.org>, Gustavo Padovan
 <gustavo@...ovan.org>, Christian König
 <christian.koenig@....com>, Daniel Almeida <daniel.almeida@...labora.com>
Cc: linux-media@...r.kernel.org, dri-devel@...ts.freedesktop.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] dma-buf/dma-fence: Unify return codes for signalled
 fences


On 25/11/2025 10:44, Philipp Stanner wrote:
> Almost all users of dma_fence_signal() ignore the return code which
> would indicate that the fence was already signaled. The same return code
> by dma_fence_add_callback() cannot be ignored, however, because it's
> needed to detect races.
> 
> For an already signaled fence, dma_fence_signal() returns -EINVAL,
> whereas dma_fence_add_callback() returns -ENOENT.
> 
> Unify the error codes by having dma_fence_signal() return -ENOENT, too.
> 
> Signed-off-by: Philipp Stanner <phasta@...nel.org>
> ---
>   drivers/dma-buf/dma-fence.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c
> index 3a48896ded62..09d97624e647 100644
> --- a/drivers/dma-buf/dma-fence.c
> +++ b/drivers/dma-buf/dma-fence.c
> @@ -373,7 +373,7 @@ int dma_fence_signal_timestamp_locked(struct dma_fence *fence,
>   	lockdep_assert_held(fence->lock);
>   
>   	if (unlikely(__dma_fence_is_signaled(fence)))
> -		return -EINVAL;
> +		return -ENOENT;
>   
>   	/* Stash the cb_list before replacing it with the timestamp */
>   	list_replace(&fence->cb_list, &cb_list);

Story checks out AFAICT - only two callers fetch the error, xe and kfd, 
and neither does anything with it. So I'd say it makes sense to unify 
the errno.

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@...lia.com>

Regards,

Tvrtko

P.S. Just not sure of the 1/2 on which this one ends depending on. I 
*think* I suggested the helper in the context of some discussion long 
long time ago but what it was? And what about all the drivers which look 
at the signaled bit directly?

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ