fbdev: stifb: Make the STI next font pointer a 32-bit signed offset
authorHelge Deller <deller@gmx.de>
Fri, 27 Oct 2023 11:36:48 +0000 (13:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:58 +0000 (17:19 +0000)
commit 8a32aa17c1cd48df1ddaa78e45abcb8c7a2220d6 upstream.

The pointer to the next STI font is actually a signed 32-bit
offset. With this change the 64-bit kernel will correctly subract
the (signed 32-bit) offset instead of adding a (unsigned 32-bit)
offset. It has no effect on 32-bit kernels.

This fixes the stifb driver with a 64-bit kernel on qemu.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/video/sticore.h

index 945ad60..012b5b4 100644 (file)
@@ -232,7 +232,7 @@ struct sti_rom_font {
         u8 height;
         u8 font_type;          /* language type */
         u8 bytes_per_char;
-       u32 next_font;
+       s32 next_font;          /* note: signed int */
         u8 underline_height;
         u8 underline_pos;
         u8 res008[2];