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.