Re: kqueue for usb_dev
Hi HPS,
Your patch did not resolve the kernel panic.
I think, we should check knlist_clear() before knlist_destroy().
When a device is lost suddenly, usb_dev notify to a process in
usb_fifo_close() and then calls knlist_destroy(). knlist_destroy()
clears knlist->kn_lock and knlist->kn_unlock.
But, the process that is notified will start over kqueue_scan() after
knlist_destroy(). And, in KN_LIST_LOCK(kn), the context will call NULL
function (kn->knlist->kn_lock).
Regards,
Kohji Okuno
> On 02/27/14 11:39, Kohji Okuno wrote:
>> Hi HPS and John-Mark,
>>
>> After I changed as the following, the kernel panic does not happen.
>> What do you think about this change?
>>
>> + knlist_clear(&f->selinfo.si_note, 0);
>> knlist_destroy(&f->selinfo.si_note);
>>
>> Regards,
>> Kohji Okuno
>>
>
> Can you try the attached patch instead?
>
> --HPS
>
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
討論串 (同標題文章)
完整討論串 (本文為第 14 之 14 篇):