Re: inode->i_wb_list corruption.

From: Jan Kara
Date: Tue Mar 06 2012 - 16:03:09 EST


On Tue 06-03-12 13:51:37, Dave Jones wrote:
> We've had three separate reports against 3.2.x recently where the linked list debugging
> is getting tripped up by the prev->next pointer being null instead of pointing
> to the current list entry while walking the i_wb_list
>
> Call traces are slightly different each time, but all end up walking i_wb_list
> in dput -> d_kill -> i_put -> evict -> inode_wb_list_del
>
> What protects that list ? It looks to be just bdi->wb.list_lock ?
>
>
> full reports at:
> https://bugzilla.redhat.com/show_bug.cgi?id=784741
> https://bugzilla.redhat.com/show_bug.cgi?id=799229
> https://bugzilla.redhat.com/show_bug.cgi?id=799692
Hum, interesting! I'd guess this might be caused by f758eeab - adding
Fengguang and Christoph to CC. But I'm really failing to see how this could
happen but interesting thing is that in two of the three cases the files
are on virtual filesystems (once cgroup, once sysfs). These both use
noop_backing_dev_info.

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/