return;\r
\r
down_read(&vdm_rwsem);\r
- {\r
+ do {\r
vdm_link *link = find_used_link(session, index);\r
+ if (NULL == link) {\r
+ pr_err("vpu_mem_cache_opt on non-exsist index %ld\n", index);\r
+ break;\r
+ }\r
start = vpu_mem.vbase + index * VPU_MEM_MIN_ALLOC;\r
end = start + link->pfn * VPU_MEM_MIN_ALLOC;;\r
switch (cmd) {\r
default :\r
break;\r
}\r
- }\r
+ } while (0);\r
up_read(&vdm_rwsem);\r
}\r
\r
{\r
if (copy_from_user(&index, (void __user *)arg, sizeof(index)))\r
return -EFAULT;\r
+ if (index < 0)\r
+ return -EINVAL;\r
vpu_mem_cache_opt(file, index, cmd);\r
break;\r
}\r