diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-19 19:24:18 -1000 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-20 08:07:28 -1000 |
| commit | 3a609ff2f12652a23846180e16d96017b84c5d80 (patch) | |
| tree | 6415020e05289bc8b82768e4c90d3d30df768ed6 /tools/perf/scripts/python | |
| parent | 03c19e449ac6e12a88ea4866331f2404668e22cc (diff) | |
drm/i915/gem: Use get_user()/put_user() where no locks are held
execbuffer prefaults the relocation array and reads timeline fence
values one element at a time with __get_user(), after checking each
array with access_ok() up front. Each of those accesses enables and
disables user access on its own, so the up-front check saves nothing.
Both run with no object locks held: the prefault between dropping and
retaking the ww locks, the fence parsing before the ww context exists.
Use get_user(). The access_ok() checks stay, since they also decide how
a bad array fails.
The gem mman selftests use the unchecked variants on addresses they got
from their own mmaps, with no check at all. Convert those too.
This is part of getting rid of __get_user() and __put_user() entirely.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
