Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp529260imm; Mon, 21 May 2018 09:52:36 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrRTOPDYUazZGwPlG86gV/HS3Nc/FuP6wwsI6Pu6I8UtV6XPrHE6JbDRDVz4Uk3UqQkupcn X-Received: by 2002:a62:883:: with SMTP id 3-v6mr20980583pfi.154.1526921556189; Mon, 21 May 2018 09:52:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526921556; cv=none; d=google.com; s=arc-20160816; b=H6vQ7/mmDYeKtSMavzR1VPRe5ryalmdtl1sxLnILrNq2lvgUQ+MlN1QJFeigp9qHzO hUTvomv5/Kzpr91Ue8VlY0Xsul0zcF2ClPkdM7moN9p8Y5a9yFgqB22SUIEkwjDE/RT5 8tKIsI+Mjdzi7uXCZsxIIqcArBT39+JzjKWL7aOvBEyBKE7PNo9W14fW1ZrTm46LLnic 1fxiW8RXCjKtf+qZU5IjuZ6NDwkMR98Dcy9/CjDUu3YIQMuPbpYRedaCpPNvq9cNMAF2 CmkUKNXFlJcQ3ehKfIq09BLp/qKfXeawPrK9x2PK8x7Zv0itsv61B6YowDcP29nw6weK m9xQ== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=c3veIeGa/KBw0Kp87/TfWBZ5dWkceR4z5PkcrM0MRug=; b=FNmFxx3kkTntafHcLLSILieWVaMQQBP4XO0OaK7a+F9Bwa90ZiIQ7BtANM/OSuBujZ Q0WUl0PdE6dssLlP56JCG6jANhqqAtc3ONhTNN42iar9XjwyLdZQhFWB9BRRBY0+QC3g O9v1X58xF99DPVwDcZo9G0Lps4f4rJqiiOIKb2z8EJaRGhJ4tjkPZv+ATuYyImiBSFQh OVdmE1DGwQRzlCV2lCbqzQqie7hJITDR7eS0mbDpdmAcpqagagqQpNAqHqspvQ/Di1Eb 3VvcFuy86Tgavf72ekQw04bYdtnhjsmuvF36XpysFqMaysFgFs8xUwqP8AIYI4QU1UWN eAKQ== 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 q6-v6si11642514pgs.451.2018.05.21.09.52.21; Mon, 21 May 2018 09:52:36 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753144AbeEUQwE (ORCPT + 99 others); Mon, 21 May 2018 12:52:04 -0400 Received: from mga05.intel.com ([192.55.52.43]:9881 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752876AbeEUQwC (ORCPT ); Mon, 21 May 2018 12:52:02 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 May 2018 09:52:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,426,1520924400"; d="scan'208";a="52619328" Received: from linux.intel.com ([10.54.29.200]) by orsmga003.jf.intel.com with ESMTP; 21 May 2018 09:52:01 -0700 Received: from [10.252.10.164] (unknown [10.252.10.164]) by linux.intel.com (Postfix) with ESMTP id 7974A580393; Mon, 21 May 2018 09:51:58 -0700 (PDT) Subject: Re: [PATCH v2]: perf/x86: store user space frame-pointer value on a sample To: Andy Lutomirski , Peter Zijlstra Cc: Andy Lutomirski , Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Andi Kleen , linux-kernel , linux-perf-users@vger.kernel.org References: <31205dc8-b756-e12b-0249-2ed06c2db9c9@linux.intel.com> <20180509145436.GV12217@hirez.programming.kicks-ass.net> <3ecedd91-1c01-6fc5-4648-89eaf5ff0930@linux.intel.com> <20180510101406.GA12217@hirez.programming.kicks-ass.net> <0594eaea-0cab-ea04-c258-5f4770ffeee6@linux.intel.com> <71E4F816-7E0F-4984-B53C-06F8566EAB40@amacapital.net> From: Alexey Budankov Message-ID: <36a2c137-8342-4ff4-ddcb-3ac1fe092810@linux.intel.com> Date: Mon, 21 May 2018 19:51:54 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <71E4F816-7E0F-4984-B53C-06F8566EAB40@amacapital.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andy, On 21.05.2018 17:14, Andy Lutomirski wrote: > >> On May 21, 2018, at 5:44 AM, Alexey Budankov wrote: >> >> Hi Peter, >> >>> On 10.05.2018 13:14, Peter Zijlstra wrote: >>> On Thu, May 10, 2018 at 12:42:38PM +0300, Alexey Budankov wrote: >>>>> The Changelog needs to state that user_regs->bp is in fact valid and >>>> >>>> That actually was tested on binaries compiled without and with BP exposed >>>> and in the latter case proved the value of that change. >>> >>> Mostly works is not the same as 'always initialized', if there are entry >>> paths that do not store that register, then using the value might leak >>> values from the kernel stack, which would be bad. >>> >>> But like said, I think much of the kernel entry code was sanitized with >>> the PTI effort and I suspect things are in fact fine now, but lets wait >>> for Andy to confirm. >> >> It looks like, these days, all registers are saved on system calls, just >> like you anticipated. >> >> So BP register value might be stored into the Perf trace on a sample. >> >> Andy? > > Hmm, I thought I replied. Yes, they are indeed all saved, but I’m not very excited about committing to doing so forever. But storing BP should be fine. Thanks for explicit confirmation regarding BP register. BTW, do you see any mean to prevent possible unattended regression? I guess it could be some compile time assertion or regression testing. Thanks, Alexey >