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 <jscho...@amazon.de> --- arch/x86/boot/compressed/misc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c index a0838ab..c14217c 100644 --- a/arch/x86/boot/compressed/misc.c +++ b/arch/x86/boot/compressed/misc.c @@ -116,8 +116,7 @@ void __putstr(const char *s) } } - if (boot_params->screen_info.orig_video_mode == 0 && - lines == 0 && cols == 0) + if (lines == 0 || cols == 0) return; x = boot_params->screen_info.orig_x; -- 2.3.1.dirty