diff options
author | anton <anton@cvs.openbsd.org> | 2019-06-03 16:46:50 +0000 |
---|---|---|
committer | anton <anton@cvs.openbsd.org> | 2019-06-03 16:46:50 +0000 |
commit | ee73c36c39e04c3bc247d4507dbe3a1a76211502 (patch) | |
tree | 9a94923b61eefdcfcb8ce93fdbcc4f5826b7765a /usr.sbin | |
parent | a6f27590d5bb953b7bb845c1271625600b3aba00 (diff) |
Prevent corruption of the pckbc command queue. If multiple synchronous
commands are in flight and all corresponding threads are sleeping
waiting for a response, the first command to timeout will clear the
command queue. The remaining threads once awake will then try to remove
a dequeued command from the queue, leading to corruption. Instead,
remove commands from the queue before waking up the sleeping thread.
A quirk is still needed to handle the case where tsleep() returns
successfully during suspend.
ok mpi@ visa@
Reported-by: syzbot+fe74fc50c630bfa26302@syzkaller.appspotmail.com
Diffstat (limited to 'usr.sbin')
0 files changed, 0 insertions, 0 deletions