Re: Kernel/driver hacking: panic: Assertion vm_object_busied((m->object)) failed at /usr/src/sys/vm/vm_page.c:5455

From: Neel Chauhan <nc_at_FreeBSD.org>
Date: Sat, 19 Jun 2021 03:03:59 UTC
On 2021-06-18 12:19, Neel Chauhan wrote:
>> I'm not sure.  I'll just note that the Linux code appears to be trying
>> to map a set of pages belonging to a scatter-gather list.  Taking the
>> physical address of the first page and assuming that all subsequent
>> pages are physically contiguous doesn't seem correct, but this is what
>> is happening in that loop, since each iteration simply increments pa 
>> by
>> PAGE_SIZE.

Good news! While I don't have a fix, I have figured out what the issue 
is.

Apparently, the vm_start values is for some reason coming as 0 when it 
is passed into vm_fault_cpu(). That's why it's giving these errors: of 
course the address at 0 is mapped, it is (probably) used by the kernel.

I will look more into it tomorrow, but my brother has come over to 
Seattle from Connecticut so I may not be able to dedicate as much time 
as I would like to.

-Neel (nc@)