Fonts: Support FONT_EXTRA_WORDS macros for font_6x8
Recently, in commit6735b4632d
("Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts"), we wrapped each of our built-in data buffers in a `font_data` structure, in order to use the following macros on them, see include/linux/font.h: #define REFCOUNT(fd) (((int *)(fd))[-1]) #define FNTSIZE(fd) (((int *)(fd))[-2]) #define FNTCHARCNT(fd) (((int *)(fd))[-3]) #define FNTSUM(fd) (((int *)(fd))[-4]) #define FONT_EXTRA_WORDS 4 Do the same thing to our new 6x8 font. For built-in fonts, currently we only use FNTSIZE(). Since this is only a temporary solution for an out-of-bounds issue in the framebuffer layer (see commit5af0864079
("fbcon: Fix global-out-of-bounds read in fbcon_get_font()")), all the three other fields are intentionally set to zero in order to discourage using these negative-indexing macros. Signed-off-by: Peilin Ye <yepeilin.cs@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/926453876c92caac34cba8545716a491754d04d5.1603037079.git.yepeilin.cs@gmail.com
This commit is contained in:
parent
eda4a7bf5d
commit
272d708951
|
@ -3,8 +3,8 @@
|
|||
|
||||
#define FONTDATAMAX 2048
|
||||
|
||||
static const unsigned char fontdata_6x8[FONTDATAMAX] = {
|
||||
|
||||
static struct font_data fontdata_6x8 = {
|
||||
{ 0, 0, FONTDATAMAX, 0 }, {
|
||||
/* 0 0x00 '^@' */
|
||||
0x00, /* 000000 */
|
||||
0x00, /* 000000 */
|
||||
|
@ -2564,13 +2564,13 @@ static const unsigned char fontdata_6x8[FONTDATAMAX] = {
|
|||
0x00, /* 000000 */
|
||||
0x00, /* 000000 */
|
||||
0x00, /* 000000 */
|
||||
};
|
||||
} };
|
||||
|
||||
const struct font_desc font_6x8 = {
|
||||
.idx = FONT6x8_IDX,
|
||||
.name = "6x8",
|
||||
.width = 6,
|
||||
.height = 8,
|
||||
.data = fontdata_6x8,
|
||||
.data = fontdata_6x8.data,
|
||||
.pref = 0,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue