diff options
| author | Dennis Lam <[email protected]> | 2024-12-18 02:39:25 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2024-12-31 01:59:09 +0000 |
| commit | 5f3fd772d152229d94602bca243fbb658068a597 (patch) | |
| tree | ff30b870c5069f805cc39a26e09df1aa8b4aa3e1 /drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | |
| parent | fs/proc/task_mmu: fix pagemap flags with PMD THP entries on 32bit (diff) | |
| download | kernel-5f3fd772d152229d94602bca243fbb658068a597.tar.gz kernel-5f3fd772d152229d94602bca243fbb658068a597.zip | |
ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv
When mounting ocfs2 and then remounting it as read-only, a
slab-use-after-free occurs after the user uses a syscall to
quota_getnextquota. Specifically, sb_dqinfo(sb, type)->dqi_priv is the
dangling pointer.
During the remounting process, the pointer dqi_priv is freed but is never
set as null leaving it to be accessed. Additionally, the read-only option
for remounting sets the DQUOT_SUSPENDED flag instead of setting the
DQUOT_USAGE_ENABLED flags. Moreover, later in the process of getting the
next quota, the function ocfs2_get_next_id is called and only checks the
quota usage flags and not the quota suspended flags.
To fix this, I set dqi_priv to null when it is freed after remounting with
read-only and put a check for DQUOT_SUSPENDED in ocfs2_get_next_id.
[[email protected]: coding-style cleanups]
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 8f9e8f5fcc05 ("ocfs2: Fix Q_GETNEXTQUOTA for filesystem without quotas")
Signed-off-by: Dennis Lam <[email protected]>
Reported-by: [email protected]
Tested-by: [email protected]
Closes: https://lore.kernel.org/all/[email protected]/T/
Reviewed-by: Joseph Qi <[email protected]>
Cc: Mark Fasheh <[email protected]>
Cc: Joel Becker <[email protected]>
Cc: Junxiao Bi <[email protected]>
Cc: Changwei Ge <[email protected]>
Cc: Jun Piao <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c')
0 files changed, 0 insertions, 0 deletions
