I added __rcu decorations to s_group_desc, s_group_info and s_flex_group, and this turned up quite a few places where we were missing an rcu_dereference. A number of them weren't strictly necessary, but suppress warnings from the sparse code analysis tool --- and sparse did find some places where the missing rcu_deference could have led to some very hard to find bugs! I folded the "introduce macro sbi_array_rcu_deref() to access rcu protected fields" patch into the first patch, since we now need to use the array in many more places. Suraj Jitindar Singh (2): ext4: fix potential race between s_group_info online resizing and access ext4: fix potential race between s_flex_groups online resizing and access Theodore Ts'o (1): ext4: fix potential race between online resizing and write operations fs/ext4/balloc.c | 14 +++++-- fs/ext4/ext4.h | 30 ++++++++++--- fs/ext4/ialloc.c | 23 ++++++---- fs/ext4/mballoc.c | 61 ++++++++++++++++++--------- fs/ext4/resize.c | 62 +++++++++++++++++++++------ fs/ext4/super.c | 105 ++++++++++++++++++++++++++++++++-------------- 6 files changed, 212 insertions(+), 83 deletions(-) -- 2.24.1