Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jul 2007 16:42:46 +0900
From:      "Jason D'Ambrosio" <jason@wiz.biz>
To:        freebsd-stable@freebsd.org
Subject:   Dell DRAC/4 virtual floppy panics on -STABLE
Message-ID:  <79d79bc80707310042v3ff70552vb4a13a3fee0afe4f@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Dear FreeBSD hackers:

My latest shipment of 1U Dell servers came with DRAC/4 remote
management cards. The servers were installed in the datacenter, and
have been running -stable for quite some time, without any trouble at
all, until now...

Recently I utilitzed the the DRAC card's handy capability of uploading
a floppy image and had it emulate the physical media to the system.
After I was finished, I disconnected from the web interface of the
DRAC, which cleared the floppy image from memory.

A few days later the server was rebooted and it got stuck in a
panic/reboot loop... Here is the relevant dmesg:

afd0: 7222034444288MB <VIRTUALFLOPPY DRIVE Floppy > at ata2-master PIO3
...
afd0: FAILURE - TEST_UNIT_READY RESERVED asc=0x00 ascq=0x00
panic: kmem_malloc(-1059844096): kmem_map too small: 3837952 total allocated

What it appears is happening is that the absence of an uploaded floppy
image in the DRAC is causing it to report an insanely bogus media size
to the OS. As a result, the kernel's floppy driver is attempting to
allocate an obviously overflowed-integer worth of memory, which is
causing the kmem_alloc() panic...

Of course, after disabling the virtual media feature in the DRAC's
firmware, the kernel was able to boot properly once again.

Perhaps the simplest solution would be to implement a sanity check in
the floppy/cdrom driver's code, or kmem_malloc() ?

-- 
jason (at) wiz.biz
wiz technologies k.k.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?79d79bc80707310042v3ff70552vb4a13a3fee0afe4f>