Received: by 10.213.65.68 with SMTP id h4csp843272imn; Tue, 27 Mar 2018 09:48:52 -0700 (PDT) X-Google-Smtp-Source: AIpwx49g5ZxTlK5lQGKY+NUnhKik5blUKEjGprE2lbwqY73jPQCyz2FTCb05ew5iNTKKb71iso9h X-Received: by 10.98.59.4 with SMTP id i4mr94990pfa.26.1522169332115; Tue, 27 Mar 2018 09:48:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522169332; cv=none; d=google.com; s=arc-20160816; b=wA6Yu6gEBEmDh/wtzNeu6IdrAPz7UDJMXA+U59SWRIvz4HPxRCichgFF472LZJpkhE SDIHUr1iC8cChQFa2T4LhCOnIKlT8rQaJJfHDEX4Vss0tWsxcQagW8fbWN5M9JNaKaOx vRZY5Yr2xA6WqZtuKDWX3CtDKRjLNB2cHSeqV5OAZjAUDA+9S9kcOMbiqmUJ9uLr/T3F QbxBxbTwM5h0n9VY8ctnRFN7A/QcQFCFn/bj1RfKxdMQO8X2qCosTuL7tRdb/FCH+ATF ovMwKyfiD5w4CFJvBUTG9BJz5BC4rbgQhS6NWIhh8/uIhM2D0ssLHfhKvh9CK4Hdx336 UmUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=OnalzOTcjhFrAHBR3GL7FdKBH++/4QCHnK6813C1IuY=; b=x9uHxAyNA994TOYu4uaM6digr2DrEwUmBbAWNy9PY6iyjbf+0s+ap30wrp/vysLfXr OZwNvkU/0O7bgIXHJk5bt6b6ojSjFweW3jgi9t3YVwZOi8d9tAo+95EKstdFj8xZJ17y SKbiHHgJDZyWfx9iC9lwJN9vcJ+19mKsSSQJtLZtBZw22PSiTUjbsOjIoSjwVmJeqxaO mtp7N8nfird3tQ0ugSbn0M4leiFS4ZSWPy5sQ1YoThvEb8oCXQOSHN3wgEVZFmsuwhM0 QoeuAZFKMbvuHW7v8EUZNXSybIiOLfOmYvZlJ70YTB1oQ91c5bF4jU1cl/bk7wcIRxX7 uoIg== ARC-Authentication-Results: i=1; mx.google.com; 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 38-v6si1587707pln.397.2018.03.27.09.48.37; Tue, 27 Mar 2018 09:48:52 -0700 (PDT) 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; 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 S1755564AbeC0QnS (ORCPT + 99 others); Tue, 27 Mar 2018 12:43:18 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:49412 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751082AbeC0QnL (ORCPT ); Tue, 27 Mar 2018 12:43:11 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 8020CF51; Tue, 27 Mar 2018 16:43:10 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Liam Mark , Laura Abbott Subject: [PATCH 4.15 102/105] staging: android: ion: Zero CMA allocated memory Date: Tue, 27 Mar 2018 18:28:22 +0200 Message-Id: <20180327162804.167008604@linuxfoundation.org> X-Mailer: git-send-email 2.16.3 In-Reply-To: <20180327162757.813009222@linuxfoundation.org> References: <20180327162757.813009222@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Liam Mark commit 6d79bd5bb6c79a9dba4842040c9adf39e7806330 upstream. Since commit 204f672255c2 ("staging: android: ion: Use CMA APIs directly") the CMA API is now used directly and therefore the allocated memory is no longer automatically zeroed. Explicitly zero CMA allocated memory to ensure that no data is exposed to userspace. Fixes: 204f672255c2 ("staging: android: ion: Use CMA APIs directly") Signed-off-by: Liam Mark Acked-by: Laura Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/android/ion/ion_cma_heap.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) --- a/drivers/staging/android/ion/ion_cma_heap.c +++ b/drivers/staging/android/ion/ion_cma_heap.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "ion.h" @@ -51,6 +52,22 @@ static int ion_cma_allocate(struct ion_h if (!pages) return -ENOMEM; + if (PageHighMem(pages)) { + unsigned long nr_clear_pages = nr_pages; + struct page *page = pages; + + while (nr_clear_pages > 0) { + void *vaddr = kmap_atomic(page); + + memset(vaddr, 0, PAGE_SIZE); + kunmap_atomic(vaddr); + page++; + nr_clear_pages--; + } + } else { + memset(page_address(pages), 0, size); + } + table = kmalloc(sizeof(*table), GFP_KERNEL); if (!table) goto err;