amdkfd: Disable support for 32-bit user processes
Subsystems (3)
PATCH 1/1 amdkfd: Disable support for 32-bit user processes
This patch checks if the process that opens the /dev/kfd device is 32-bit process. If so, it returns -EPERM and prints a warning message in dmesg.
This is done to prevent 32-bit user processes from using amdkfd, and hence, HSA features.
AMD's HSA userspace stack will also support only 64-bit processes on Linux.
--- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +12 -1
@@ -102,15 +102,26 @@ struct device *kfd_chardev(void)static int kfd_open (struct inode *inode,struct file *filep) {struct kfd_process *process; +bool is_32bit_user_mode;if (iminor (inode) !=0 )return -ENODEV ; + is_32bit_user_mode =is_compat_task (); + +if (is_32bit_user_mode == true) { +dev_warn (kfd_device, +"Process %d (32-bit) failed to open /dev/kfd\n" +"32-bit processes are not supported by amdkfd\n" , + current->pid); +return -EPERM ; + } + process =kfd_create_process (current);if (IS_ERR (process))return PTR_ERR (process); - process->is_32bit_user_mode =is_compat_task (); + process->is_32bit_user_mode = is_32bit_user_mode;dev_dbg (kfd_device,"process %d opened, compat mode (32 bit) - %d\n" , process->pasid, process->is_32bit_user_mode);
Signature · 6 lines
2.1.0 _______________________________________________ dri-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/dri-devel
-----Original Message-----
From: dri-devel [mailto:[email protected]] On Behalf Of Gabbay, Oded
Sent: Friday, December 05, 2014 10:48 AM
To: [email protected]; [email protected]
Cc: Deucher, Alexander
Subject: [PATCH] amdkfd: Disable support for 32-bit user processes
This patch checks if the process that opens the /dev/kfd device is 32-bit process. If so, it returns -EPERM and prints a warning message in dmesg.
This is done to prevent 32-bit user processes from using amdkfd, and hence, HSA features.
AMD's HSA userspace stack will also support only 64-bit processes on Linux.
--- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +12 -2
@@ -102,15 +102,26 @@ struct device *kfd_chardev(void) static int kfd_open(struct inode *inode, struct file *filep) {struct kfd_process *process; +bool is_32bit_user_mode;if (iminor (inode) !=0 )return -ENODEV ; + is_32bit_user_mode =is_compat_task (); + +if (is_32bit_user_mode == true) { +dev_warn (kfd_device, +"Process %d (32-bit) failed to open /dev/kfd\n" +"32-bit processes are not supported by amdkfd\n" , + current->pid); +return -EPERM ; + } + process =kfd_create_process (current);if (IS_ERR (process))return PTR_ERR (process); - process->is_32bit_user_mode =is_compat_task (); + process->is_32bit_user_mode = is_32bit_user_mode;dev_dbg (kfd_device,"process %d opened, compat mode (32 bit) - %d\n" , process->pasid, process->is_32bit_user_mode); --
2.1.0
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel