Re: why does index in truncate_inode_pages_range() grows so much ?

From: Jan Kara
Date: Tue Dec 03 2013 - 09:02:21 EST


On Sun 24-11-13 16:14:21, Toralf Förster wrote:
> At a 32 bit guest UML with current kernel git tree I putted a printk
> into that function :
>
> void truncate_inode_pages_range(struct address_space *mapping,
> loff_t lstart, loff_t lend)
> {
> ...
>
>
> cond_resched();
> index++;
> printk (" <------------
>
>
>
>
> and got (while fuzzying the UML guest with trinity) this output in the
> UML guest:
>
>
> Nov 24 12:06:53 trinity kernel: index:42 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:43 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:5 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1035468800 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:16 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:4 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:2 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:4184867847 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:3 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1727 end:4294967295
> Nov 24 12:06:53 trinity kernel: index:1 end:4294967295
>
>
> I'm wondering if index is expected to become sometimes so big.
No, I wouldn't expect such huge indices. OTOH with fuzzing there could be
some valid explanations. Could you move the printk before
pagevec_release(), print also 'start' variable and in case 'index' is
suspiciously large, print also 'i' and some info about the page pvec[i]
page (page->index, page->flags, page->mapping->host->i_sb->s_id,
page->mapping->host->i_ino)?

Honza
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
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/