Fix EINVAL message when CPU binding information is requested for IRQ.

`cpuset -g -x N` along with requested information always prints
message `cpuset: getdomain: Invalid argument'. The EINVAL is returned
from kern_cpuset_getdomain(), since it doesn't expect CPU_LEVEL_WHICH
and CPU_WHICH_IRQ parameters.

To fix the error, do not call cpuset_getdomain() when `-x' is specified.

MFC after:	1 week
This commit is contained in:
Andrey V. Elsukov 2020-10-09 11:24:19 +00:00
parent 5432120028
commit 39aff95fe2

View File

@ -253,7 +253,7 @@ printaffinity(void)
printf("%s %jd%s mask: ", whichnames[which], (intmax_t)id,
levelnames[level]);
printset((struct bitset *)&mask, CPU_SETSIZE);
if (dflag)
if (dflag || xflag)
goto out;
if (cpuset_getdomain(level, which, id, sizeof(domain), &domain,
&policy) != 0)