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

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Fri, 30 Sep 2022 12:08:12 UTC
On 9/30/22 12:31, Andriy Gapon wrote:
> 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!
> 

You are welcome!

--HPS