diff options
author | Kyle Evans <kevans@FreeBSD.org> | 2020-12-08 18:47:22 +0000 |
---|---|---|
committer | Kyle Evans <kevans@FreeBSD.org> | 2020-12-08 18:47:22 +0000 |
commit | f1b18a668deb2aab9e2da908a403d58bce029d80 (patch) | |
tree | 3b1ef66f26d69e4cfa5c392a9eb206328ccfda5c /contrib/file | |
parent | b2780e8537daad67ec9b98c5784f73493cb9c7a7 (diff) | |
download | src-f1b18a668deb2aab9e2da908a403d58bce029d80.tar.gz src-f1b18a668deb2aab9e2da908a403d58bce029d80.zip |
cpuset_set{affinity,domain}: do not allow empty masks
cpuset_modify() would not currently catch this, because it only checks that
the new mask is a subset of the root set and circumvents the EDEADLK check
in cpuset_testupdate().
This change both directly validates the mask coming in since we can
trivially detect an empty mask, and it updates cpuset_testupdate to catch
stuff like this going forward by always ensuring we don't end up with an
empty mask.
The check_mask argument has been renamed because the 'check' verbiage does
not imply to me that it's actually doing a different operation. We're either
augmenting the existing mask, or we are replacing it entirely.
Reported by: syzbot+4e3b1009de98d2fabcda@syzkaller.appspotmail.com
Discussed with: andrew
Reviewed by: andrew, markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D27511
Notes
Notes:
svn path=/head/; revision=368462
Diffstat (limited to 'contrib/file')
0 files changed, 0 insertions, 0 deletions