mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +02:00
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 | ||