Skip to content

Commit fb1cc2f

Browse files
schnhrringomolnar
authored andcommitted
x86/boot: Prevent faulty bootparams.screeninfo from causing harm
If a zero for the number of lines manages to slip through, scroll() may underflow some offset calculations, causing accesses outside the video memory. Make the check in __putstr() more pessimistic to prevent that. Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Kees Cook <keescook@chromium.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/1503858223-14983-1-git-send-email-jschoenh@amazon.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 5746f05 commit fb1cc2f

1 file changed

Lines changed: 1 addition & 2 deletions

File tree

  • arch/x86/boot/compressed

arch/x86/boot/compressed/misc.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,7 @@ void __putstr(const char *s)
116116
}
117117
}
118118

119-
if (boot_params->screen_info.orig_video_mode == 0 &&
120-
lines == 0 && cols == 0)
119+
if (lines == 0 || cols == 0)
121120
return;
122121

123122
x = boot_params->screen_info.orig_x;

0 commit comments

Comments
 (0)