03 Nov, 2020

1 commit

  • Commit 6735b4632def ("Fonts: Support FONT_EXTRA_WORDS macros for built-in
    fonts") introduced the following error when building rpc_defconfig (only
    this build appears to be affected):

    `acorndata_8x8' referenced in section `.text' of arch/arm/boot/compressed/ll_char_wr.o:
    defined in discarded section `.data' of arch/arm/boot/compressed/font.o
    `acorndata_8x8' referenced in section `.data.rel.ro' of arch/arm/boot/compressed/font.o:
    defined in discarded section `.data' of arch/arm/boot/compressed/font.o
    make[3]: *** [/scratch/linux/arch/arm/boot/compressed/Makefile:191: arch/arm/boot/compressed/vmlinux] Error 1
    make[2]: *** [/scratch/linux/arch/arm/boot/Makefile:61: arch/arm/boot/compressed/vmlinux] Error 2
    make[1]: *** [/scratch/linux/arch/arm/Makefile:317: zImage] Error 2

    The .data section is discarded at link time. Reinstating acorndata_8x8 as
    const ensures it is still available after linking. Do the same for the
    other 12 built-in fonts as well, for consistency purposes.

    Cc:
    Cc: Russell King
    Reviewed-by: Greg Kroah-Hartman
    Fixes: 6735b4632def ("Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts")
    Signed-off-by: Lee Jones
    Co-developed-by: Peilin Ye
    Signed-off-by: Peilin Ye
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20201102183242.2031659-1-yepeilin.cs@gmail.com

    Lee Jones
     

25 Sep, 2020

1 commit

  • syzbot has reported an issue in the framebuffer layer, where a malicious
    user may overflow our built-in font data buffers.

    In order to perform a reliable range check, subsystems need to know
    `FONTDATAMAX` for each built-in font. Unfortunately, our font descriptor,
    `struct console_font` does not contain `FONTDATAMAX`, and is part of the
    UAPI, making it infeasible to modify it.

    For user-provided fonts, the framebuffer layer resolves this issue by
    reserving four extra words at the beginning of data buffers. Later,
    whenever a function needs to access them, it simply uses the following
    macros:

    Recently we have gathered all the above macros to . Let us
    do the same thing for built-in fonts, prepend four extra words (including
    `FONTDATAMAX`) to their data buffers, so that subsystems can use these
    macros for all fonts, no matter built-in or user-provided.

    This patch depends on patch "fbdev, newport_con: Move FONT_EXTRA_WORDS
    macros into linux/font.h".

    Cc: stable@vger.kernel.org
    Link: https://syzkaller.appspot.com/bug?id=08b8be45afea11888776f897895aef9ad1c3ecfd
    Signed-off-by: Peilin Ye
    Reviewed-by: Greg Kroah-Hartman
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/ef18af00c35fb3cc826048a5f70924ed6ddce95b.1600953813.git.yepeilin.cs@gmail.com

    Peilin Ye
     

24 Aug, 2018

1 commit

  • The font files contain bit masks for characters in the cp437 character
    set, and comments showing what character this is supposed to be.

    This only makes sense when the terminal used to view the files is set to
    the same codepage, but all other files in the kernel now use utf-8
    encoding.

    This changes those comments to utf-8 as well, for consistency.

    Link: http://lkml.kernel.org/r/20180724111600.4158975-3-arnd@arndb.de
    Signed-off-by: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

28 Jun, 2013

1 commit

  • Several drivers need font support independent of CONFIG_VT, cfr. commit
    9cbce8d7e1dae0744ca4f68d62aa7de18196b6f4, "console/font: Refactor font
    support code selection logic").
    Hence move the fonts and their support logic from drivers/video/console/ to
    its own library directory lib/fonts/.
    This also allows to limit processing of drivers/video/console/Makefile to
    CONFIG_VT=y again.

    [Kevin Hilman : Update arch/arm/boot/compressed/Makefile]
    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven