Re: [BLOCK] bh: Ensure bh fits within a page

Christoph Lameter <[email protected]>
Newsgroups gmane.linux.kernel,gmane.comp.file-systems.ext2.devel
Message-ID <[email protected]>
On Mon, 31 Jul 2006, Andrew Morton wrote:

> > Sure, this particular instance is in journal_write_metadata_buffer
> > where the bh may be constructed from kmalloc memory (search for the
> > call to jbd_rep_kmalloc).  Because the memory returned by kmalloc
> > may straddle a page (when slab debugging is enabled that is), this
> > causes a broken bh to be injected into submit_bh.
> > 
> 
> Crap, that's hard to fix.   Am I allowed to blame submit_bh()? ;)
> 
> uhm, we don't want to lose kmalloc redzoning, so I guess we need to create
> on-demand ext3-private slab caches for 1024, 2048, and 4096 bytes.  With
> the appropriate slab flags to defeat the redzoning.

The slab allocator gives no guarantee that a structure is not straddling a 
page boundary regardless of debug or not. It may just happen that the 
objects are arranged if kmem_cache_cretae() is called with certain 
parameters. Another arch with other cacheline alignment and another page 
size may arrange the objects differently.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.