From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751691AbdIENas (ORCPT ); Tue, 5 Sep 2017 09:30:48 -0400 Received: from mga02.intel.com ([134.134.136.20]:42254 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751604AbdIENao (ORCPT ); Tue, 5 Sep 2017 09:30:44 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,480,1498546800"; d="scan'208";a="1214929843" From: Alexander Shishkin To: Peter Zijlstra Cc: Ingo Molnar , linux-kernel@vger.kernel.org, acme@redhat.com, kirill.shutemov@linux.intel.com, Borislav Petkov , rric@kernel.org, Alexander Shishkin Subject: [RFC PATCH 01/17] perf: Allow mmapping only user page Date: Tue, 5 Sep 2017 16:30:10 +0300 Message-Id: <20170905133026.13689-2-alexander.shishkin@linux.intel.com> X-Mailer: git-send-email 2.13.1 In-Reply-To: <20170905133026.13689-1-alexander.shishkin@linux.intel.com> References: <20170905133026.13689-1-alexander.shishkin@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The 'user page' contains offsets and sizes of data and aux areas of the ring buffer. If a user wants to mmap a pre-existing buffer, they need to know these in order to issue mmap()s with correct offsets and sizes. This enables mmapping of the user page if the ring buffer already exists. Signed-off-by: Alexander Shishkin --- kernel/events/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/events/core.c b/kernel/events/core.c index cb7eaf0f91..9389e27cb0 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -5366,7 +5366,7 @@ static int perf_mmap(struct file *file, struct vm_area_struct *vma) again: mutex_lock(&event->mmap_mutex); if (event->rb) { - if (event->rb->nr_pages != nr_pages) { + if (nr_pages && event->rb->nr_pages != nr_pages) { ret = -EINVAL; goto unlock; } -- 2.14.1