]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:34:11 +0000 (15:34 -0500)
[ Upstream commit 57af162bfc8c05332a28c4d458d246cc46d2746d ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c

index 67b5f3d7ff8e91ca2a918e598a65a9348b0afbc2..fc473e3ba2d00cef696b3ddd04752194ad32ad01 100644 (file)
@@ -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);