Computing the clip rectangle is prone to off-by-one errors when writes
happen near the end of a memory page. Point the end of the memory area
to the first trailing byte, so that (end - start) returns the area's
length.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
---
 drivers/gpu/drm/drm_fb_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index f15127a32f7a..a37fb4a980c8 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -699,7 +699,7 @@ void drm_fb_helper_deferred_io(struct fb_info *info,
        max = 0;
        list_for_each_entry(page, pagelist, lru) {
                start = page->index << PAGE_SHIFT;
-               end = start + PAGE_SIZE - 1;
+               end = start + PAGE_SIZE;
                min = min(min, start);
                max = max(max, end);
        }
-- 
2.34.1

Reply via email to