summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_cpuset.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2010-10-27 02:32:54 +0000
committerdavidxu <davidxu@FreeBSD.org>2010-10-27 02:32:54 +0000
commit29be5dcd229fd8e554eb507fe7c8c400842967af (patch)
tree3f6254f435d5ab406ba4e76390c045cc74b68c19 /sys/kern/kern_cpuset.c
parentba8d5f2b02e0cfbe215b81ae6b8c8ff2cdd8f201 (diff)
downloadFreeBSD-src-29be5dcd229fd8e554eb507fe7c8c400842967af.zip
FreeBSD-src-29be5dcd229fd8e554eb507fe7c8c400842967af.tar.gz
If input parameter cpusetsize is zero, give userland size of cpuset mask
kernel is using.
Diffstat (limited to 'sys/kern/kern_cpuset.c')
-rw-r--r--sys/kern/kern_cpuset.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_cpuset.c b/sys/kern/kern_cpuset.c
index 23aa9df..b4601f1 100644
--- a/sys/kern/kern_cpuset.c
+++ b/sys/kern/kern_cpuset.c
@@ -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);
OpenPOWER on IntegriCloud