Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp874864imj; Fri, 15 Feb 2019 08:13:13 -0800 (PST) X-Google-Smtp-Source: AHgI3IZcwISzHlN6sQvWSMVsV21NRPHO70Ks9Zo8f0YIYGn4pEL0UitzwgvPaxP1yWP+4DO79T8A X-Received: by 2002:a63:20e:: with SMTP id 14mr6109395pgc.161.1550247193747; Fri, 15 Feb 2019 08:13:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550247193; cv=none; d=google.com; s=arc-20160816; b=hS1008WD6+Dr+4VVH28EIzlYszrP2JDf0omnyw/wfpLLpYdfuhYKwioyKxIlpAzF6B cElZIYRU4oNtVnfUeOhLb+PmH0pLPeyV9lVMR4LfVGZ6Yz4uYwaBBejuywTe2h40Xgk9 54P9knN61yZ6GfHZb8dDTuse4KvxPbXJGS5AmKzXdxxyxi6NdWrFSXXYc/CKWcdQVK3C BeQ2ElXW2q/Hh8QNbu9NAvjJQQGNGcYDsirK6uHCh/4Swmuu9qZC5XgrjUTGjPRQFzWf ktunkYFf88upsCdW1JwkudwTXBihoJ1crYpUJJHevBRDrz7E4qmTI/odq9VH47gcsu8C T5tw== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=aCiQ3ccDIDFxgEHUdz13xewSGL3BMXkqo4vWGohwRh8=; b=BV11oAIbMY0LuIlCjRY4s3IAtXI2pSMGmQu9rA1J1b3w/wP9GQH9tH+XKeLkf/Nnv0 5um92Epq+sJIF6pNFOSX1YU1GooOaQD3efWYOUTyEqVUkYZ9ULe2nW0CQWbSJ108scO/ 1JJfB9pOHd1MYyqvWmbIun+J98FwFE/NlOR3AJCORrzML+NsDTesiSs0Tz298kKnBSkB aDu+R9Zthf+ae6OOd7cmmm0hjTMWaq26hI4qc748QcwJo2jmieh+95Ojs0QQoIt7xBET xOrACoqJVLtTDoqv0zEoL6ZQgu3mA9LeQnfX9EQ/OAZil4eL/Bz5PwirtWCjllCdcUI3 0wzg== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j66si5685372pfc.251.2019.02.15.08.12.57; Fri, 15 Feb 2019 08:13:13 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2436816AbfBOL5N (ORCPT + 99 others); Fri, 15 Feb 2019 06:57:13 -0500 Received: from mga12.intel.com ([192.55.52.136]:25055 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730972AbfBOL5K (ORCPT ); Fri, 15 Feb 2019 06:57:10 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Feb 2019 03:57:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,372,1544515200"; d="scan'208";a="134556850" Received: from black.fi.intel.com (HELO black.fi.intel.com.) ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 15 Feb 2019 03:57:07 -0800 From: Alexander Shishkin To: Peter Zijlstra Cc: Arnaldo Carvalho de Melo , Ingo Molnar , linux-kernel@vger.kernel.org, jolsa@redhat.com, Alexander Shishkin , Mansour Alharthi Subject: [PATCH v0 1/2] perf: Copy parent's address filter offsets on clone Date: Fri, 15 Feb 2019 13:56:54 +0200 Message-Id: <20190215115655.63469-2-alexander.shishkin@linux.intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190215115655.63469-1-alexander.shishkin@linux.intel.com> References: <20190215115655.63469-1-alexander.shishkin@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When a child event is allocated in the inherit_event() path, the VMA based filter offsets are not copied from the parent, even though the address space mapping of the new task remains the same, which leads to no trace for the new task until exec. Signed-off-by: Alexander Shishkin Fixes: 375637bc5249 ("perf/core: Introduce address range filtering") Reported-by: Mansour Alharthi --- kernel/events/core.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/kernel/events/core.c b/kernel/events/core.c index 5aeb4c74fb99..2d89efc0a3e0 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -1255,6 +1255,7 @@ static void put_ctx(struct perf_event_context *ctx) * perf_event_context::lock * perf_event::mmap_mutex * mmap_sem + * perf_addr_filters_head::lock * * cpu_hotplug_lock * pmus_lock @@ -10312,6 +10313,20 @@ perf_event_alloc(struct perf_event_attr *attr, int cpu, goto err_per_task; } + /* + * Clone the parent's vma offsets: they are valid until exec() + * even if the mm is not shared with the parent. + */ + if (event->parent) { + struct perf_addr_filters_head *ifh = perf_event_addr_filters(event); + + raw_spin_lock_irq(&ifh->lock); + memcpy(event->addr_filters_offs, + event->parent->addr_filters_offs, + pmu->nr_addr_filters * sizeof(unsigned long)); + raw_spin_unlock_irq(&ifh->lock); + } + /* force hw sync on the address filters */ event->addr_filters_gen = 1; } -- 2.20.1