Files
linux/fs
Hillf Danton 7eae7a3fae gfs2: Fix use-after-free in gfs2_glock_shrink_scan
[ Upstream commit 1ab19c5de4 ]

The GLF_LRU flag is checked under lru_lock in gfs2_glock_remove_from_lru() to
remove the glock from the lru list in __gfs2_glock_put().

On the shrink scan path, the same flag is cleared under lru_lock but because
of cond_resched_lock(&lru_lock) in gfs2_dispose_glock_lru(), progress on the
put side can be made without deleting the glock from the lru list.

Keep GLF_LRU across the race window opened by cond_resched_lock(&lru_lock) to
ensure correct behavior on both sides - clear GLF_LRU after list_del under
lru_lock.

Reported-by: syzbot <syzbot+34ba7ddbf3021981a228@syzkaller.appspotmail.com>
Signed-off-by: Hillf Danton <hdanton@sina.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-05-16 11:14:40 +09:00
..
2023-05-16 09:45:39 +09:00
2023-05-15 16:47:08 +09:00
2023-05-16 11:04:57 +09:00
2023-05-15 14:09:19 +09:00
2023-05-16 11:03:31 +09:00
2023-05-16 08:48:08 +09:00
2023-05-16 11:03:45 +09:00
2023-05-15 11:49:44 +09:00
2023-05-15 10:36:26 +09:00
2023-05-16 10:33:11 +09:00
2023-05-15 17:11:10 +09:00
2017-09-20 09:59:51 +02:00
2017-09-26 00:32:37 -07:00
2017-09-26 00:32:37 -07:00
2018-02-17 13:21:15 +01:00