svn commit: r214409 - head/sys/kern

David Xu davidxu at freebsd.org
Wed Oct 27 02:49:13 UTC 2010


Garrett Cooper wrote:
> On Tue, Oct 26, 2010 at 7:32 PM, David Xu <davidxu at freebsd.org> wrote:
>> Author: davidxu
>> Date: Wed Oct 27 02:32:54 2010
>> New Revision: 214409
>> URL: http://svn.freebsd.org/changeset/base/214409
>>
>> Log:
>>  If input parameter cpusetsize is zero, give userland size of cpuset mask
>>  kernel is using.
>>
>> Modified:
>>  head/sys/kern/kern_cpuset.c
>>
>> Modified: head/sys/kern/kern_cpuset.c
>> ==============================================================================
>> --- head/sys/kern/kern_cpuset.c Wed Oct 27 02:07:25 2010        (r214408)
>> +++ head/sys/kern/kern_cpuset.c Wed Oct 27 02:32:54 2010        (r214409)
>> @@ -889,6 +889,10 @@ cpuset_getaffinity(struct thread *td, st
>>        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);
> 
>     Isn't this requirement partly broken now?
> 
>      [ERANGE]           The cpusetsize was either preposterously large or
>                         smaller than the kernel set size.
> 
>     Why should cpuset(2) be broken in favor of people not passing valid values?
> Thanks,
> -Garrett
> 

I really hate to see such a problem that userland can not figure out
what kernel is using, I try hardly to guess, but still can not find
what it is using. yes, I think the doc may need to be fixed or
another syscall is needed.



More information about the svn-src-all mailing list