summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2016-04-26 16:37:45 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-05-26 13:33:17 -0400
commitad24c028dba639cebefc3326f925e62c3724a59e (patch)
tree0e68eee5e5d0e7f7537490befa3f6a659239007f /drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
parent394545acf63319e27d5dea2eeb22fddd26e9416a (diff)
gpu: nvgpu: Validate regops num_ops argument
Check that num_ops is not too big. We have a hard limit of 1 page allocated for the operations. Bug 200192125 Change-Id: I724039c9dd6e0e93d9df0f5b3a797158fdb5e687 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1132965 GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
index 520a2ffd..6b9238e9 100644
--- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
@@ -975,6 +975,9 @@ static int nvgpu_ioctl_channel_reg_ops(struct dbg_session_gk20a *dbg_s,
975 struct channel_gk20a *ch; 975 struct channel_gk20a *ch;
976 u64 ops_size = sizeof(ops[0]) * args->num_ops; 976 u64 ops_size = sizeof(ops[0]) * args->num_ops;
977 977
978 if (args->num_ops > SZ_4K / sizeof(ops[0]))
979 return -EINVAL;
980
978 gk20a_dbg_fn("%d ops, total size %llu", args->num_ops, ops_size); 981 gk20a_dbg_fn("%d ops, total size %llu", args->num_ops, ops_size);
979 982
980 if (!dbg_s->ops) { 983 if (!dbg_s->ops) {