]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amdkfd: return -ENOTTY for unsupported IOCTLs
authorGeoffrey McRae <geoffrey.mcrae@amd.com>
Tue, 8 Jul 2025 03:53:40 +0000 (13:53 +1000)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 12 Aug 2025 18:14:54 +0000 (14:14 -0400)
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.

Signed-off-by: Geoffrey McRae <geoffrey.mcrae@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c

index 828a9ceef1e763018677ef6f01aac62fe0f945fd..79ed3be63d0dd291cf383c62e9ec83c2bf13d767 100644 (file)
@@ -3252,8 +3252,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;
@@ -3266,8 +3268,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);