commit 99902b1 causes kernel panics

From: Michael Butler <imb_at_protected-networks.net>
Date: Sat, 04 Jun 2022 21:21:11 UTC
On a Dell E6430 laptop with an i5-3340M CPU on-board but no additional 
video adapter, this commit causes a panic when i915kms is loaded :-( 
This adapter does not use any additional firmware.

Reverting only this change allows me to run way past it - up to commit 
00b0158d2ca, so far.

All modules were recompiled to match.

/var/crash/core.txt contains ..

Fatal trap 12: page fault while in kernel mode
cpuid = 3; apic id = 03
fault virtual address   = 0x19
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff808abe54
stack pointer           = 0x0:0xfffffe011920e9b0
frame pointer           = 0x0:0xfffffe011920e9b0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 3
current process         = 1274 (Xorg)
trap number             = 12
panic: page fault
cpuid = 3
time = 1654274788
Uptime: 57s
Dumping 749 out of 16251 
MB:..3%..11%..22%..33%..41%..52%..62%..71%..82%..92%

__curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
55              __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" 
(offsetof(struct pcpu,
(kgdb) #0  __curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
#1  dump_savectx () at /usr/src/sys/kern/kern_shutdown.c:401
#2  0xffffffff808b0e88 in dumpsys (di=0x0)
     at /usr/src/sys/x86/include/dump.h:87
#3  doadump (textdump=<optimized out>)
     at /usr/src/sys/kern/kern_shutdown.c:430
#4  kern_reboot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:537
#5  0xffffffff808b12fc in vpanic (fmt=<optimized out>,
     ap=ap@entry=0xfffffe011920e810) at 
/usr/src/sys/kern/kern_shutdown.c:975
#6  0xffffffff808b1183 in panic (fmt=<unavailable>)
     at /usr/src/sys/kern/kern_shutdown.c:899
#7  0xffffffff80c8712c in trap_fatal (frame=frame@entry=0xfffffe011920e8f0,
     eva=25) at /usr/src/sys/amd64/amd64/trap.c:942
#8  0xffffffff80c874d6 in trap_pfault (frame=0xfffffe011920e8f0,
     usermode=false, signo=<optimized out>, ucode=<optimized out>)
     at /usr/src/sys/amd64/include/cpufunc.h:411
#9  <signal handler called>
#10 _rw_wowned (c=0x19) at /usr/src/sys/kern/kern_rwlock.c:270
#11 0xffffffff80bf1a0a in vm_page_busy_acquire (m=0xfffffe0005affec8,
     allocflags=allocflags@entry=16) at /usr/src/sys/vm/vm_page.c:888
#12 0xffffffff8271b9a1 in lkpi_vmf_insert_pfn_prot_locked (
     vma=0xfffff8015c3bc300, addr=<optimized out>, pfn=<optimized out>,
     prot=24) at /usr/src/sys/compat/linuxkpi/common/src/linux_page.c:297
#13 0xffffffff8252d390 in remap_io_mapping () from /boot/modules/i915kms.ko
#14 0xffffffff826449c6 in vm_fault_gtt () from /boot/modules/i915kms.ko
#15 0xffffffff82714e56 in linux_cdev_pager_populate (
     vm_obj=0xfffff80154cd1b58, pidx=<optimized out>,
     fault_type=<optimized out>, max_prot=<optimized out>,
     first=0xfffffe011920ec20, last=0xfffffe011920ec38)
     at /usr/src/sys/compat/linuxkpi/common/src/linux_compat.c:692
#16 0xffffffff80bdb732 in vm_pager_populate (object=0x19,
     object@entry=0xfffffe011920ebb0, pidx=16, fault_type=1024,
     first=0xfffffe011920ec20, last=0xfffffe011920ec38,
     max_prot=<optimized out>) at /usr/src/sys/vm/vm_pager.h:182
#17 vm_fault_populate (fs=0xfffffe011920ecc0)
     at /usr/src/sys/vm/vm_fault.c:469
#18 vm_fault_allocate (fs=fs@entry=0xfffffe011920ecc0)
     at /usr/src/sys/vm/vm_fault.c:1162
#19 0xffffffff80bda47f in vm_fault_object (fs=0xfffffe011920ecc0,
     behindp=0xfffffe011920ecb4, aheadp=0xfffffe011920ecbc)
     at /usr/src/sys/vm/vm_fault.c:1414
#20 vm_fault (map=map@entry=0xfffffe012b5233f0,
     vaddr=vaddr@entry=35550920704, fault_type=fault_type@entry=2 '\002',
     fault_flags=fault_flags@entry=0, m_hold=m_hold@entry=0x0)
     at /usr/src/sys/vm/vm_fault.c:1549
#21 0xffffffff80bda07d in vm_fault_trap (map=0xfffffe012b5233f0,
     vaddr=<optimized out>, fault_type=<optimized out>,
     fault_flags=fault_flags@entry=0, signo=0xfffffe011920ef00,
     ucode=0xfffffe011920ef04) at /usr/src/sys/vm/vm_fault.c:667
#22 0xffffffff80c87345 in trap_pfault 
(frame=frame@entry=0xfffffe011920ef40,
     usermode=true, signo=0xfffffe011a70b318, 
signo@entry=0xfffffe011920ef00,
     ucode=0x3004, ucode@entry=0xfffffe011920ef04)
     at /usr/src/sys/amd64/amd64/trap.c:846
#23 0xffffffff80c86a75 in trap (frame=0xfffffe011920ef40)
     at /usr/src/sys/amd64/amd64/trap.c:385
#24 <signal handler called>
#25 0x0000000839618c9f in ?? ()
Backtrace stopped: Cannot access memory at address 0x820718370
(kgdb)