Re: vfs: Assert that st_rdev is NODEV for non-devices

From: Bakul Shah <bakul_at_iitbombay.org>
Date: Sun, 17 Aug 2025 23:52:49 UTC
On Aug 17, 2025, at 4:17 PM, Dag-Erling Smørgrav <des@freebsd.org> wrote:
> 
> Bakul Shah <bakul@iitbombay.org> writes:
>> etcupdate panics since this commit:
>> [...]
>> #13 0xffffffff80c97cb5 in kern_statat (td=0xfffff8007e7fc000,
>>    flag=<optimized out>, fd=<optimized out>, path=0x19e4d3242358 "/usr/src",
>>    pathseg=UIO_USERSPACE, sbp=0xfffffe0054050d18)
>>    at /home/FreeBSD/current/sys/kern/vfs_syscalls.c:2574
> 
> Which filesystem is /usr/src on?  If by any chance you are using openzfs
> from ports, please either switch back to base or try the attached patch.

No, this is just stock GENERIC + option GDB.
 
This is because /usr/src is NFS mounted from a 14-stable system (the host).
On a freshly booted system:

$ ls /usr/src
panic: st_rdev should be NODEV unless the file is a device node
cpuid = 0
time = 1755474701
KDB: stack backtrace:
#0 0xffffffff80bcfa2d at kdb_backtrace+0x5d
#1 0xffffffff80b7ff66 at vpanic+0x136
#2 0xffffffff80b7fe23 at panic+0x43
#3 0xffffffff80c97cb5 at kern_statat+0x255
#4 0xffffffff80c982c7 at sys_fstatat+0x27
#5 0xffffffff810d08b9 at amd64_syscall+0x169
#6 0xffffffff810a21fb at fast_syscall_common+0xf8
KDB: enter: panic