svn commit: r214409 - head/sys/kern

Garrett Cooper gcooper at FreeBSD.org
Wed Oct 27 02:43:06 UTC 2010


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


More information about the svn-src-head mailing list