Re: kernel BUG at lib/radix-tree.c:473!

From: Hugh Dickins
Date: Thu Aug 14 2008 - 20:01:22 EST


On Fri, 15 Aug 2008, Johannes Weiner wrote:
> Jeremy Fitzhardinge <jeremy@xxxxxxxx> writes:
> > Hugh Dickins wrote:
> >
> >> An additional useful input would be: what happens if you replace
> >> that /dev/fb0 by a symlink /dev/fb0 pointing to an fb0 device node in
> >> one of your disk filesystems? I rather expect that to cause the same
> >> trouble, which would argue that the driver is wrong and shmem right.
> >
> > I don't follow. Do you mean make /dev/fb0 a plain file on a
> > filesystem? Or make it a disk device node? Something else?
>
> Creating a device node on a different filesystem to see if the driver
> only worked with the safe shmem set_page_dirty and now breaks due to
> exposure to the generic version. Or if the driver works with the
> generic version through other mappings and the shmem code screws it up
> somewhere else.

Yes, that's it. I think it was ext2 I referred to, when I worried
about this when making the change to tmpfs; and my reading of it
was that ext2 left a device node's a_ops unset, as I was changing
tmpfs to do. (Looking at it again, ext2 doesn't even specify its
.set_page_dirty, so even if it had assigned an a_ops, it wouldn't
have avoided the default behaviour.) But I'd like to hear what
actually happens in practice, rather than relying on my reading.

Hugh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/