Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1639646ybv; Fri, 21 Feb 2020 00:48:52 -0800 (PST) X-Google-Smtp-Source: APXvYqxmRw5GP/ulclORvqbwgkrz+FWOdkc7Q4STLzgXnW4jgUdvD1opj0G8KxwIVD/tuxPGxhZk X-Received: by 2002:aca:f40a:: with SMTP id s10mr1111200oih.61.1582274932884; Fri, 21 Feb 2020 00:48:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582274932; cv=none; d=google.com; s=arc-20160816; b=AA9bakVhj7Ml4iNdnrt0USlYxsNICJC1oY1jX8w8uPXx5PtECp+xaMpJGkZTNQ5fNT 9dJcuuq1CnA+egd9scB9P1aJAJWCgwGvRGIU/UapxBO+1q3SCNeHYT7fZ6cXYAwQzHQF WUKlgzk9pF9tAnco6k/XqZzb5KB51ZYIae1ikKN+TCWKdIthY2aQ2HDoh8TX8fFoTebr Hxsm1m7g1+PRGmsvga96hcFD318Bg10ekBkru6d2eFpPyLE6L9eY0luBoJ6X+6D1umlL HzYVc8idVzWc58RQ4rOwpgfepYUsQEuPQAVQS4kfedj9U3+zbmUxZOC+8erX7PTruA5B txwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=pSvGkA9LSSIRdGt8DwZfwTWfKNqzVKSAukOoHgXObSA=; b=nygdEdAEn4DTZxbO200LF0B7QljPUPX+5X0MloN0ZCndLsE+jxwVv/NGyCsF5vLQ81 ftfvCGNe6CO/Of4lzC9Q/I8WGzF9HMn/oj+ugR1NaovIF3b0r+IteTTgI7DK+lP753T/ YQYNbOyXomt6REazWO94xiUh9k9DJYX8CVOIHCCNVI53/eD7aiSPa39ne+SUd7mAM2YJ QH2EI/V8kCJkbkS9j9wZdBxQLBuWHMfSYJi2NwD524TqhMI2+eNFz6ApEr6VEcGJ4gtI WO3Fukjb8LTJ6Lw15fg2wZB5/tfl1DUimGUnU9gAbsorpDvfRx1E2Edj+CJRZekM+rmv cN/g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="pK2WtX/A"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f17si1056543otq.96.2020.02.21.00.48.41; Fri, 21 Feb 2020 00:48:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="pK2WtX/A"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733183AbgBUIr5 (ORCPT + 99 others); Fri, 21 Feb 2020 03:47:57 -0500 Received: from mail.kernel.org ([198.145.29.99]:43732 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728312AbgBUHrr (ORCPT ); Fri, 21 Feb 2020 02:47:47 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2DC6720801; Fri, 21 Feb 2020 07:47:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582271266; bh=Qt8Et4Nmv72ffbqegZAEOEqYIFv83EAW38M0+ZpuCtQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pK2WtX/AHOVokGTtKsRk6JJ9B0KSFKAucmdJVpBmgTyseFHMpvqNkUCCgIS8MKw2Z DqOSvng1nkAma1lwW44CO/NtaPNnNwn6tVTjrpbEUTEYIgyGQCQ/E80hVN2cFyfFZj 07yvzHe4F3Hmt5qWrSppvp0NMYdMuQkSNgVcUUh0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Christopher Head , Arvind Sankar , Borislav Petkov , Sasha Levin Subject: [PATCH 5.5 074/399] x86/sysfb: Fix check for bad VRAM size Date: Fri, 21 Feb 2020 08:36:39 +0100 Message-Id: <20200221072409.547692841@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200221072402.315346745@linuxfoundation.org> References: <20200221072402.315346745@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Arvind Sankar [ Upstream commit dacc9092336be20b01642afe1a51720b31f60369 ] When checking whether the reported lfb_size makes sense, the height * stride result is page-aligned before seeing whether it exceeds the reported size. This doesn't work if height * stride is not an exact number of pages. For example, as reported in the kernel bugzilla below, an 800x600x32 EFI framebuffer gets skipped because of this. Move the PAGE_ALIGN to after the check vs size. Reported-by: Christopher Head Tested-by: Christopher Head Signed-off-by: Arvind Sankar Signed-off-by: Borislav Petkov Link: https://bugzilla.kernel.org/show_bug.cgi?id=206051 Link: https://lkml.kernel.org/r/20200107230410.2291947-1-nivedita@alum.mit.edu Signed-off-by: Sasha Levin --- arch/x86/kernel/sysfb_simplefb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c index 01f0e2263b86b..298fc1edd9c95 100644 --- a/arch/x86/kernel/sysfb_simplefb.c +++ b/arch/x86/kernel/sysfb_simplefb.c @@ -90,11 +90,11 @@ __init int create_simplefb(const struct screen_info *si, if (si->orig_video_isVGA == VIDEO_TYPE_VLFB) size <<= 16; length = mode->height * mode->stride; - length = PAGE_ALIGN(length); if (length > size) { printk(KERN_WARNING "sysfb: VRAM smaller than advertised\n"); return -EINVAL; } + length = PAGE_ALIGN(length); /* setup IORESOURCE_MEM as framebuffer memory */ memset(&res, 0, sizeof(res)); -- 2.20.1