mincore: check [start..start+len) is in user region
This commit is contained in:
@@ -3231,6 +3231,13 @@ SYSCALL_DECLARE(mincore)
|
|||||||
dkprintf("mincore(0x%lx,0x%lx,%p): EINVAL\n", start, len, vec);
|
dkprintf("mincore(0x%lx,0x%lx,%p): EINVAL\n", start, len, vec);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
if ((start < vm->region.user_start)
|
||||||
|
|| (vm->region.user_end <= start)
|
||||||
|
|| ((vm->region.user_end - start) < len))
|
||||||
|
{
|
||||||
|
dkprintf("mincore(0x%lx,0x%lx,%p): EINVAL\n", start, len, vec);
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
range = NULL;
|
range = NULL;
|
||||||
up = vec;
|
up = vec;
|
||||||
|
|||||||
Reference in New Issue
Block a user