mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
d0aa72604f
Below race may cause NULL pointer dereference P1 P2 dquot_free_inode quota_off drop_dquot_ref remove_dquot_ref dquots = i_dquot(inode) dquots = i_dquot(inode) srcu_read_lock dquots[cnt]) != NULL (1) dquots[type] = NULL (2) spin_lock(&dquots[cnt]->dq_dqb_lock) (3) .... If dquot_free_inode(or other routines) checks inode's quota pointers (1) before quota_off sets it to NULL(2) and use it (3) after that, NULL pointer dereference will be triggered. So let's fix it by using a temporary pointer to avoid this issue. Signed-off-by: Wang Jianjian <wangjianjian3@huawei.com> Signed-off-by: Jan Kara <jack@suse.cz> Message-Id: <20240202081852.2514092-1-wangjianjian3@huawei.com> |
||
---|---|---|
.. | ||
compat.h | ||
dquot.c | ||
Kconfig | ||
kqid.c | ||
Makefile | ||
netlink.c | ||
quota_tree.c | ||
quota_tree.h | ||
quota_v1.c | ||
quota_v2.c | ||
quota.c | ||
quotaio_v1.h | ||
quotaio_v2.h |