diff options
| author | Brian Welty <[email protected]> | 2024-01-10 16:21:11 -0800 |
|---|---|---|
| committer | Matthew Brost <[email protected]> | 2024-01-12 09:36:37 -0800 |
| commit | 52e3fa3e3ea3ee05e32c1a8d72bb3ae306a4da64 (patch) | |
| tree | e571807fb0babf0a28b216980931ed165227b61b /tools/perf/scripts/python/syscall-counts-by-pid.py | |
| parent | ca630876aa98c5118ada07604ed8688ee707ddfa (diff) | |
drm/xe: Fix bounds checking in __xe_bo_placement_for_flags()
Requesting all memory regions on PVC will fill bo->placements up to
XE_BO_MAX_PLACEMENTS. The subsequent call to try_add_stolen() will trip
over the bounds checking even though XE_PL_STOLEN is not expected to
be used in this case.
This is hit with igt@xe_exec_fault_mode@once-basic-prefetch:
xe 0000:8c:00.0: [drm] Assertion `*c < (sizeof(bo->placements) / sizeof((bo->placements)[0]) + ((int)(sizeof(struct { int:(-!!(__builtin_types_compatible_p(typeof((bo->placements)), typeof(&(bo->placements)[0])))); }))))` failed!
WARNING: CPU: 30 PID: 6161 at drivers/gpu/drm/xe/xe_bo.c:203 __xe_bo_placement_for_flags+0x218/0x240 [xe]
Is fixed here by moving the bounds checks closer to where we actually
write into the bo->placement array.
Fixes: 8c54ee8a8606 ("drm/xe: Ensure that we don't access the placements array out-of-bounds")
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Matthew Brost <[email protected]>
Signed-off-by: Brian Welty <[email protected]>
Reviewed-by: Matthew Brost <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts-by-pid.py')
0 files changed, 0 insertions, 0 deletions