Re: usbhid panic when switching vt-s (invariants+witness enabled)

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Fri, 30 Sep 2022 10:31:10 UTC
On 26/09/2022 18:13, Hans Petter Selasky wrote:
> On 9/23/22 23:43, Hans Petter Selasky wrote:
>> vpanic() at 0xffffffff808f4c84 = vpanic+0x184/frame 0xfffffe003590e900
>> panic() at 0xffffffff808f4a33 = panic+0x43/frame 0xfffffe003590e960
>> sleepq_add() at 0xffffffff809521ab = sleepq_add+0x37b/frame 0xfffffe003590e9b0
>> _sleep() at 0xffffffff80902118 = _sleep+0x238/frame 0xfffffe003590ea40
>> usbhid_sync_xfer() at 0xffffffff8532e071 = usbhid_sync_xfer+0x171/frame 
>> 0xfffffe003590eaa0
>> usbhid_set_report() at 0xffffffff8532db26 = usbhid_set_report+0x96/frame 
>> 0xfffffe003590eae0
>> hid_set_report() at 0xffffffff80686caa = hid_set_report+0x6a/frame 
>> 0xfffffe003590eb20
>> hidbus_write() at 0xffffffff85335a7c = hidbus_write+0x5c/frame 0xfffffe003590eb50
>> hid_write() at 0xffffffff80686b98 = hid_write+0x58/frame 0xfffffe003590eb80
>> hkbd_set_leds() at 0xffffffff85c1cfe6 = hkbd_set_leds+0x206/frame 
>> 0xfffffe003590ebc0
>> hkbd_ioctl_locked() at 0xffffffff85c1cd6b = hkbd_ioctl_locked+0x33b/frame 
>> 0xfffffe003590ec20
>> hkbd_ioctl_locked() at 0xffffffff85c1caff = hkbd_ioctl_locked+0xcf/frame 
>> 0xfffffe003590ec80
>> hkbd_ioctl() at 0xffffffff85c1ba5a = hkbd_ioctl+0xba/frame 0xfffffe003590ecc0
>> kbdmux_ioctl() at 0xffffffff80695d3b = kbdmux_ioctl+0x12b/frame 
>> 0xfffffe003590ed00
>> vt_window_switch() at 0xffffffff8079d969 = vt_window_switch+0x229/frame 
>> 0xfffffe003590ed40
>> vt_switch_timer() at 0xffffffff807a15a1 = vt_switch_timer+0x21/frame 
>> 0xfffffe003590ed60
> 
> Can you test this patch:
> https://reviews.freebsd.org/D36715

Sorry that it took a while.
I cannot reproduce the problem after applying the patch.
I see that you already committed the change, but I thought that I'd let you know.
Thank you very much!

-- 
Andriy Gapon