Re: [PATCH] fbcon: rotate upside down crash
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2009-07-29 20:29:56
Also in:
lkml
(let's cc linux-fbdev-devel) On Tue, 28 Jul 2009 10:01:58 +0200 Stefani Seibold [off-list ref] wrote:
quoted hunk
Attached is a bug fix for the frame console. The current frame buffer console upside down functionality will crash using a font which has not a width of multiple by 8. The following 1 liner will fix the rotate_ud() function, ChangeLog: Fix the rotate_ud() function not to crash in case of a font which has not a width of multiple by 8: The inner loop of the font pixel copy should not access a bit outside the font memory area. Subtract the shift offset from the font width will prevent this. fbcon_rotate.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Stefani Seibold <stefani@seibold.net>--- linux-2.6.31-rc4.orig/drivers/video/console/fbcon_rotate.h 2009-06-10 05:05:27.000000000 +0200 +++ linux-2.6.31-rc4/drivers/video/console/fbcon_rotate.h 2009-07-24 20:37:31.000000000 +0200@@ -45,7 +45,7 @@ width = (width + 7) & ~7; for (i = 0; i < height; i++) { - for (j = 0; j < width; j++) { + for (j = 0; j < width - shift; j++) { if (pattern_test_bit(j, i, width, in)) pattern_set_bit(width - (1 + j + shift), height - (1 + i),
Thanks. It seems that the bug has been there for a very very long time. I wonder why - presumably nobody has tried to do an upside-down rotate before. So given that this code sees very little use, I guess it's pretty safe to merge the fix into 2.6.31.