Subject: Re: linux-next: Tree for Dec 4

From: Dmitry Monakhov <[email-masked]>
Date: Fri, 05 Dec 2014 11:29:03 +0300

Jeremiah Mahler <[email-masked]> writes:

> all,
>
> On Thu, Dec 04, 2014 at 03:34:11PM -0800, Jeremiah Mahler wrote:
>> all,
>> 
>> On Thu, Dec 04, 2014 at 07:59:28PM +1100, Stephen Rothwell wrote:
>> > Hi all,
>> > 
>> > Changes since 20141203:
>> > 
> [...]
>> > 
>> > -- 
>> > Cheers,
>> > Stephen Rothwell                    [email-masked]
>> > 
>> [...]
>> 
>> linux-next 20141204 is broken on all my machines, 20141203 worked fine.
>> 
>> They fail very early in the boot process and are unable to mount root.
>> There are lots of "ext4_check_descriptors: Checksum for group ...
>> failed" messages.
>> 
>> Any suggestions for where to start looking?
>> 
>> -- 
>> - Jeremiah Mahler
>
> I ran a bisect and found this patch to be faulty.
>
>   commit fdfe073987619ec375da8d8a2701ab271d1b1339
>   Author: Dmitry Monakhov <[email-masked]>
>   Date:   Tue Dec 2 16:09:16 2014 -0500
>   
>       ext4: fix potential use after free during resize
>       
>       We need some sort of synchronization while updating ->s_group_desc
>       because there are a lot of users which can access old ->s_group_desc
>       array after it was released.
>       
>       Signed-off-by: Dmitry Monakhov <[email-masked]>
>       Signed-off-by: Theodore Ts'o <[email-masked]>
+       rcu_read_lock();
+       gd_bh = *rcu_dereference(sbi->s_group_desc) + group_desc;
+       rcu_read_unlock(); 
Yes this is true crap. The only question is how it passed xfstess?

> -- 
> - Jeremiah Mahler