fbcon: Check if the character count can be handled
Subsystems (2)
PATCH 33/41 fbcon: Check if the character count can be handled
Fontmaps can be 256 or 512 in length. The only driver that can do tileblitting can only handle 256 characters. Check for this when setting the font.
Signed-off-by Antonino Daplas <[email protected]>
---
drivers/video/console/fbcon.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
drivers/video/console/fbcon.c +21 -0
@@ -685,6 +685,17 @@ static void set_blitting_type(struct vc_ fbcon_set_bitops(ops); } } + +static int fbcon_invalid_charcount (struct fb_info *info,unsigned charcount) +{ +int err =0 ; + +if (info->flags &FBINFO_MISC_TILEBLITTING && + info->tileops->fb_get_tilemax (info) < charcount) + err =1 ; + +return err; +}#else static void set_blitting_type (struct vc_data *vc,struct fb_info *info) {
@@ -695,6 +706,12 @@ static void set_blitting_type(struct vc_fbcon_set_rotation (info); fbcon_set_bitops(ops); } + +static int fbcon_invalid_charcount (struct fb_info *info,unsigned charcount) +{ +return 0 ; +} +#endif /* CONFIG_MISC_TILEBLITTING */
@@ -2518,6 +2535,10 @@ static int fbcon_set_font(struct vc_data !(info->pixmap.blit_y & (1 << (font->height - 1))))return -EINVAL ; +/* Make sure driver can handle the font length */ +if (fbcon_invalid_charcount (info, charcount)) +return -EINVAL ; + size = h * pitch * charcount; new_data =kmalloc (FONT_EXTRA_WORDS *sizeof (int ) + size,GFP_USER );
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/