If input parameter cpusetsize is zero, give userland size of cpuset mask

kernel is using.
This commit is contained in:
davidxu 2010-10-27 02:32:54 +00:00
parent ba8d5f2b02
commit 29be5dcd22

View File

@ -889,6 +889,10 @@ cpuset_getaffinity(struct thread *td, struct cpuset_getaffinity_args *uap)
int error;
size_t size;
if (uap->cpusetsize == 0) {
td->td_retval[0] = sizeof(cpuset_t);
return (0);
}
if (uap->cpusetsize < sizeof(cpuset_t) ||
uap->cpusetsize > CPU_MAXSIZE / NBBY)
return (ERANGE);