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:
ae 2020-10-09 11:24:19 +00:00
parent 9e629129d9
commit 78824aa6c6

View File

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