Re: [PATCH] vhost: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))

From: Michael S. Tsirkin
Date: Wed Jul 16 2025 - 04:58:00 EST


On Wed, Jun 04, 2025 at 02:55:48PM +0800, Pei Xiao wrote:
> cocci warning:
> ./kernel/vhost_task.c:148:9-16: WARNING: ERR_CAST can be used with tsk
>
> Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)).
>
> Signed-off-by: Pei Xiao <xiaopei01@xxxxxxxxxx>
> ---
> kernel/vhost_task.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/vhost_task.c b/kernel/vhost_task.c
> index 2f844c279a3e..8c4a82c0bdbe 100644
> --- a/kernel/vhost_task.c
> +++ b/kernel/vhost_task.c
> @@ -111,7 +111,7 @@ EXPORT_SYMBOL_GPL(vhost_task_stop);
> * @arg: data to be passed to fn and handled_kill
> * @name: the thread's name
> *
> - * This returns a specialized task for use by the vhost layer or ERR_PTR() on
> + * This returns a specialized task for use by the vhost layer or ERR_CAST() on

ERR_PTR is the type so it's appropriate here, I think.


> * failure. The returned task is inactive, and the caller must fire it up
> * through vhost_task_start().
> */
> @@ -145,7 +145,7 @@ struct vhost_task *vhost_task_create(bool (*fn)(void *),
> tsk = copy_process(NULL, 0, NUMA_NO_NODE, &args);
> if (IS_ERR(tsk)) {
> kfree(vtsk);
> - return ERR_PTR(PTR_ERR(tsk));
> + return ERR_CAST(tsk);
> }
>
> vtsk->task = tsk;
> --
> 2.25.1