ext4: fix potential race between s_group_info online resizing and access
authorSuraj Jitindar Singh <surajjs@amazon.com>
Wed, 19 Feb 2020 03:08:50 +0000 (19:08 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Mar 2020 06:53:02 +0000 (07:53 +0100)
commit96f599646c68278a5d9575304f085ad8e79ba3e2
tree054d8af6150a26a57dfc53fcd4f8d1d8fac40530
parent277bc96a920a02613cf1364ff8c933f7b721a3e2
ext4: fix potential race between s_group_info online resizing and access

[ Upstream commit df3da4ea5a0fc5d115c90d5aa6caa4dd433750a7 ]

During an online resize an array of pointers to s_group_info gets replaced
so it can get enlarged. If there is a concurrent access to the array in
ext4_get_group_info() and this memory has been reused then this can lead to
an invalid memory access.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=206443
Link: https://lore.kernel.org/r/20200221053458.730016-3-tytso@mit.edu
Signed-off-by: Suraj Jitindar Singh <surajjs@amazon.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Balbir Singh <sblbir@amazon.com>
Cc: stable@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ext4/ext4.h
fs/ext4/mballoc.c