[PATCH v2 1/1] drm/amdkfd: return -ENOTTY for unsupported IOCTLs

Christian König christian.koenig at amd.com
Tue Jul 8 07:01:06 UTC 2025


On 08.07.25 06:22, Geoffrey McRae wrote:
> Some kfd ioctls may not be available depending on the kernel version the
> user is running, as such we need to report -ENOTTY so userland can
> determine the cause of the ioctl failure.

In general sounds like a good idea, but ENOTTY is potentially a bit misleading.

We usually use EOPNOTSUPP for that even if its not the original meaning of that error code.

Regards,
Christian.

> 
> Signed-off-by: Geoffrey McRae <geoffrey.mcrae at amd.com>
> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> index a2149afa5803..36396b7318e7 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
> @@ -3253,8 +3253,10 @@ static long kfd_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
>  	int retcode = -EINVAL;
>  	bool ptrace_attached = false;
>  
> -	if (nr >= AMDKFD_CORE_IOCTL_COUNT)
> +	if (nr >= AMDKFD_CORE_IOCTL_COUNT) {
> +		retcode = -ENOTTY;
>  		goto err_i1;
> +	}
>  
>  	if ((nr >= AMDKFD_COMMAND_START) && (nr < AMDKFD_COMMAND_END)) {
>  		u32 amdkfd_size;
> @@ -3267,8 +3269,10 @@ static long kfd_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)
>  			asize = amdkfd_size;
>  
>  		cmd = ioctl->cmd;
> -	} else
> +	} else {
> +		retcode = -ENOTTY;
>  		goto err_i1;
> +	}
>  
>  	dev_dbg(kfd_device, "ioctl cmd 0x%x (#0x%x), arg 0x%lx\n", cmd, nr, arg);
>  



More information about the amd-gfx mailing list