summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRolf Eike Beer <eb@emlix.com>2018-11-20 12:51:04 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2018-11-29 10:49:15 +0100
commite05c4f3f2fea7b75bb6998ca8f80a8b96ad681dc (patch)
tree8742cab48509722248e056c41a22c3529e2e795d
parent9e41c92361a1155ebdb7e43493283e374e44b889 (diff)
gk20a: do not BUG if the ioctl size does not match
Signed-off-by: Rolf Eike Beer <eb@emlix.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c
index 9128959f60a7..3a8c3ff4c645 100644
--- a/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c
@@ -96,11 +96,10 @@ long gk20a_ctrl_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg
if ((_IOC_TYPE(cmd) != NVHOST_GPU_IOCTL_MAGIC) ||
(_IOC_NR(cmd) == 0) ||
- (_IOC_NR(cmd) > NVHOST_GPU_IOCTL_LAST))
+ (_IOC_NR(cmd) > NVHOST_GPU_IOCTL_LAST) ||
+ (_IOC_SIZE(cmd) > NVHOST_GPU_IOCTL_MAX_ARG_SIZE))
return -EFAULT;
- BUG_ON(_IOC_SIZE(cmd) > NVHOST_GPU_IOCTL_MAX_ARG_SIZE);
-
if (_IOC_DIR(cmd) & _IOC_WRITE) {
if (copy_from_user(buf, (void __user *)arg, _IOC_SIZE(cmd)))
return -EFAULT;