From mboxrd@z Thu Jan 1 00:00:00 1970 From: Song Liu Subject: [PATCH v2 bpf 2/3] bpf: show real jited address in bpf_prog_info->jited_ksyms Date: Fri, 2 Nov 2018 10:16:16 -0700 Message-ID: <20181102171617.310178-3-songliubraving@fb.com> References: <20181102171617.310178-1-songliubraving@fb.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , Song Liu , , , To: Return-path: Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:37650 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726085AbeKCCYx (ORCPT ); Fri, 2 Nov 2018 22:24:53 -0400 Received: from pps.filterd (m0001303.ppops.net [127.0.0.1]) by m0001303.ppops.net (8.16.0.22/8.16.0.22) with SMTP id wA2HBNHm028175 for ; Fri, 2 Nov 2018 10:17:01 -0700 Received: from maileast.thefacebook.com ([199.201.65.23]) by m0001303.ppops.net with ESMTP id 2ngscw8ahr-18 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Fri, 02 Nov 2018 10:17:01 -0700 In-Reply-To: <20181102171617.310178-1-songliubraving@fb.com> Sender: netdev-owner@vger.kernel.org List-ID: Currently, jited_ksyms in bpf_prog_info shows page addresses of jited bpf program. The main reason here is to not expose randomized start address. However, this is not ideal for detailed profiling (find hot instructions from stack traces). This patch replaces the page address with real prog start address. This change is OK because bpf_prog_get_info_by_fd() is only available to root. Signed-off-by: Song Liu --- kernel/bpf/syscall.c | 1 - 1 file changed, 1 deletion(-) diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index ccb93277aae2..34a9eef5992c 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -2172,7 +2172,6 @@ static int bpf_prog_get_info_by_fd(struct bpf_prog *prog, user_ksyms = u64_to_user_ptr(info.jited_ksyms); for (i = 0; i < ulen; i++) { ksym_addr = (ulong) prog->aux->func[i]->bpf_func; - ksym_addr &= PAGE_MASK; if (put_user((u64) ksym_addr, &user_ksyms[i])) return -EFAULT; } -- 2.17.1