geom_uzip, panic: bio_length in mdstart_vnode()

Konstantin Belousov kostikbel at gmail.com
Thu Dec 5 08:26:07 UTC 2013


On Wed, Dec 04, 2013 at 06:07:43PM -0800, John-Mark Gurney wrote:
> Konstantin Belousov wrote this message on Wed, Dec 04, 2013 at 18:20 +0200:
> > On Wed, Dec 04, 2013 at 01:59:52PM +0100, Paolo Pinto wrote:
> > > Hi list!
> > > 
> > > My kernel is compiled with option INVARIANTS and I get a reproducible
> > > kernel panic when trying to read data from a GEOM based compressed
> > > memory disk:
> > > 
> > > Unread portion of the kernel message buffer:
> > > panic: bio_length 140288
> > > cpuid = 3
> > > KDB: stack backtrace:
> > > #0 0xffffffff80909726 at kdb_backtrace+0x66
> > > #1 0xffffffff808d0fa8 at panic+0x1d8
> > > #2 0xffffffff80595949 at mdstart_vnode+0x619
> > 
> > The issue is that geom_uzip creates bios which are larger than MAXPHYS.
> 
> Shouldn't geom_uzip be fixed to honor MAXPHYS?
By all means, fix it.

> 
> > As a workaround, the following patch should be enough.  It only fires
> > assert when md really uses pbuf, and since geom_uzip knows nothing
> > about unmapped bio, the assertion must not trigger.
> 
> Ummm... what's the point of MAXPHYS if we allow IO larger than it?

This is rhetorical question, right ?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-geom/attachments/20131205/23b854df/attachment.sig>


More information about the freebsd-geom mailing list