]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
vt/consolemap: do font sum unsigned
authorJiri Slaby <jslaby@suse.cz>
Tue, 5 Jan 2021 12:02:34 +0000 (13:02 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 7 Mar 2021 10:24:21 +0000 (11:24 +0100)
[ Upstream commit 9777f8e60e718f7b022a94f2524f967d8def1931 ]

The constant 20 makes the font sum computation signed which can lead to
sign extensions and signed wraps. It's not much of a problem as we build
with -fno-strict-overflow. But if we ever decide not to, be ready, so
switch the constant to unsigned.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210105120239.28031-7-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/tty/vt/consolemap.c

index c8c91f0476a22d1510191483009fea621187722d..e8301dcf4c84772fe377a1cab6cffaada61c1315 100644 (file)
@@ -494,7 +494,7 @@ con_insert_unipair(struct uni_pagedir *p, u_short unicode, u_short fontpos)
 
        p2[unicode & 0x3f] = fontpos;
        
-       p->sum += (fontpos << 20) + unicode;
+       p->sum += (fontpos << 20U) + unicode;
 
        return 0;
 }