On Sat, 9 Feb 2002, John Baldwin wrote:

> On 09-Feb-02 Mikhail Teterin wrote:
> > While attempting to ``fdisk fd0.1440''. Or ``fdisk fd0''. Or
> > ``newfs_msdos fd0.1440'' with or without the floppy inside :-\
> > With todays or Jan 3rd kernel (my previous upgrade).
>
> Only use fdisk on hard disks.  Still it shouldn't panic.  The bdwrite is just
> extra garbage, the real panic is due to a NULL pointer dereference:

This is a well known bug in the device layer.  I reported it on 2001/12/26
and fixed it locally a little later.  See the thread in -current about
"panic during fdisk'ing a md(4) device" for patches.

> I'm guessing that devsw() is returning NULL here.  You could add a KASSERT() to
> this macro just before the call to d_strategy() along the lines of
>
>         KASSERT(devsw((bp)->bio_dev) != NULL, ("no devsw for bio"));    \

Right.  From my original bug report:

! "fdisk /dev/fd0" now causes a null pointer panic in readdisklabel().
! This is because fdioctl() attempts to construct a (slightly wrong)
! device using dkmodpart(), but dkmodpart() only constructs a half-baked
! device since it only calls makedev().  The device is missing a devsw
! so DEV_STRATEGY() in readdisklabel() panics on it.

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to