Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: amd64 -current crashs at boot
Christoph Egger wrote:
> Hi,
>
> a amd64 -current kernel from today crashes at boot
> when sshd starts:
>
> uvm_fault(0xffffffff80d1e180, 0x0, 1) -> e
> fatal page fault in supervisor mode
> trap type 6 code 0 rip ffffffff802abbe4 cs 8 rflags 10282 cr2 60 cpl 0
> rsp ffff80004d832b20
> kernel: page fault trap, code=0
> Stopped in pid 0x46 (system) at netbsd:ffs_update+0x24: testb
> $0x1,0x60(%ray)
> db{0}> bt
> ffs_update() at netbsd:ffs_update+0x24
> ffs_full_fsync() at netbsd:ffs_full_fsync+0x54b
> spec_fsync() at netbsd:spec_fsync+0x59
> VOP_FSYNC() at netbsd:VOP_FSYNC+0x71
> sched_sync() at netbsd:sched_sync+0x14f
> db{0}> ps /l
> [...]
> PID LID S FLAGS STRUCT LWP * NAME WAIT
>> 0 49 3 204 ffff80004e1e7400 physiod physiod
> 48 3 204 ffff80004d7127c0 vmem_rehash vmem_rehash
> 47 3 204 ffff80004d712ba0 aiodoned aiodoned
> > 46 7 204 ffff80004d700000 ioflush
> [...]
I found the commit which causes this:
It is ffs_vnops.c, rev. 1.105. Going back to rev. 1.104 makes
the machine boot again.
With rev. 1.105, when ffs_full_fsync() calls ffs_update in line 580,
vp->v_mount is a NULL pointer. ffs_update() dereferences it w/o
checking if the pointer is valid.
Christoph
Home |
Main Index |
Thread Index |
Old Index