diff options
author | Thomas Zimmermann <[email protected]> | 2022-06-21 12:46:17 +0200 |
---|---|---|
committer | Thomas Zimmermann <[email protected]> | 2022-06-27 11:10:43 +0200 |
commit | ae25885bdf59fde40726863c57fd20e4a0642183 (patch) | |
tree | 61368795e886d34ff2e156e808ec211f2b68f6f8 /include/linux/fpga/fpga-mgr.h | |
parent | d173780620792c725506b0f3c5ec52c7fbac1db0 (diff) |
drm/fb-helper: Fix out-of-bounds access
Clip memory range to screen-buffer size to avoid out-of-bounds access
in fbdev deferred I/O's damage handling.
Fbdev's deferred I/O can only track pages. From the range of pages, the
damage handler computes the clipping rectangle for the display update.
If the fbdev screen buffer ends near the beginning of a page, that page
could contain more scanlines. The damage handler would then track these
non-existing scanlines as dirty and provoke an out-of-bounds access
during the screen update. Hence, clip the maximum memory range to the
size of the screen buffer.
While at it, rename the variables min/max to min_off/max_off in
drm_fb_helper_deferred_io(). This avoids confusion with the macros of
the same name.
Reported-by: Nuno Gonçalves <[email protected]>
Signed-off-by: Thomas Zimmermann <[email protected]>
Reviewed-by: Javier Martinez Canillas <[email protected]>
Tested-by: Nuno Gonçalves <[email protected]>
Fixes: 67b723f5b742 ("drm/fb-helper: Calculate damaged area in separate helper")
Cc: Thomas Zimmermann <[email protected]>
Cc: Javier Martinez Canillas <[email protected]>
Cc: Maarten Lankhorst <[email protected]>
Cc: Maxime Ripard <[email protected]>
Cc: <[email protected]> # v5.18+
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'include/linux/fpga/fpga-mgr.h')
0 files changed, 0 insertions, 0 deletions