From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC0F7C47404 for ; Fri, 11 Oct 2019 19:03:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id ACF962196E for ; Fri, 11 Oct 2019 19:03:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HSIMQvlH" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728764AbfJKTDp (ORCPT ); Fri, 11 Oct 2019 15:03:45 -0400 Received: from mail-qk1-f196.google.com ([209.85.222.196]:45579 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728738AbfJKTDp (ORCPT ); Fri, 11 Oct 2019 15:03:45 -0400 Received: by mail-qk1-f196.google.com with SMTP id z67so9827271qkb.12; Fri, 11 Oct 2019 12:03:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=acmHPkg4gjfDM0WB/4AWPyCNn4psVPOyPMoul8Q2Yvo=; b=HSIMQvlHETVQKolhCHyJ1tJh04z+vzoR0avIO+LQbaabkgGj7tKrCPzFGmoJ63W0Wr uEaPaup0rdsfEsw/vM1IuuhENesxuHTHsH4y7HRza8ZZOjIKeGpTYxk+mDzrer04CYad wSUvhx6mRjlv8EQO5++Wqa4WuThh7Er/pxiYqSR9Se6vjuCFfPNOMdcbp7NqxKhMkLKF Kv06bUK4A85X6dfGlNFV8aZK7DZ2LIFqASHaheyhCcK9Gxlz66irhyFSeYAwhdGloz99 EAoP/gBiyc6MIVMcQo+0XJ7ufuGzsWUz/Ah+OCkBBwp1yGfa8xIQrXY4MvnqFFu02E9A qD2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=acmHPkg4gjfDM0WB/4AWPyCNn4psVPOyPMoul8Q2Yvo=; b=Y+eFdi+n7X3jXZF1U2jCaYyWvOTGHp9h7yqI823e8DdaBgzMbE9JAdf7gdOFKaouD9 RQx3wr/T2B1tLQS/JP9RYTwLpi1rGec1cNLNMQ1/I59bfJHLZao7fpN3HQB1Z0BX4YsZ kHsvCpYiC8+LBFZbDMpGo299TTs7mqUI/g24JOAUWd7ORPrvApsk6X0+k97YGud722px 7GetmD4xIta8qFku0bkU5CMdnz/IujQDzMaz2n9a7duT5rS8lIQhdaKDdUPJNk1uRqh2 qAH0vJDsmmdKz2Xi2so6OC0Yzxd06oavHMEcwAd8cM69dquosFI8hPLc1bndWjAB0ip+ o0AQ== X-Gm-Message-State: APjAAAW8BGgtLt5x3iTniJaUU04P3vY9H9hhMUZ0KEKEVySnDBnTng1Y 753LIDwoddFb6n0fllRxkz6RIOvsywB5akRJc04= X-Google-Smtp-Source: APXvYqxstjcykfvnYXWYLGk2yRulYEhFbhIEZem13B3ioxNmcJK71tVacnwiMkJ2XZ46+SgdimcQmCzBBSCmJsL0+qk= X-Received: by 2002:a37:b447:: with SMTP id d68mr8265478qkf.437.1570820622860; Fri, 11 Oct 2019 12:03:42 -0700 (PDT) MIME-Version: 1.0 References: <20191010041503.2526303-1-ast@kernel.org> <20191010041503.2526303-12-ast@kernel.org> In-Reply-To: <20191010041503.2526303-12-ast@kernel.org> From: Andrii Nakryiko Date: Fri, 11 Oct 2019 12:03:31 -0700 Message-ID: Subject: Re: [PATCH v2 bpf-next 11/12] bpf: disallow bpf_probe_read[_str] helpers To: Alexei Starovoitov Cc: "David S. Miller" , Daniel Borkmann , x86@kernel.org, Networking , bpf , Kernel Team Content-Type: text/plain; charset="UTF-8" Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org On Wed, Oct 9, 2019 at 9:15 PM Alexei Starovoitov wrote: > > Disallow bpf_probe_read() and bpf_probe_read_str() helpers in > raw_tracepoint bpf programs that use in-kernel BTF to track > types of memory accesses. > > Signed-off-by: Alexei Starovoitov > --- I like it much better, thanks! Acked-by: Andrii Nakryiko > kernel/trace/bpf_trace.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c > index 52f7e9d8c29b..fa5743abf842 100644 > --- a/kernel/trace/bpf_trace.c > +++ b/kernel/trace/bpf_trace.c > @@ -700,6 +700,8 @@ tracing_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) > case BPF_FUNC_map_peek_elem: > return &bpf_map_peek_elem_proto; > case BPF_FUNC_probe_read: > + if (prog->aux->attach_btf_id) > + return NULL; > return &bpf_probe_read_proto; > case BPF_FUNC_ktime_get_ns: > return &bpf_ktime_get_ns_proto; > @@ -728,6 +730,8 @@ tracing_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) > case BPF_FUNC_get_prandom_u32: > return &bpf_get_prandom_u32_proto; > case BPF_FUNC_probe_read_str: > + if (prog->aux->attach_btf_id) > + return NULL; > return &bpf_probe_read_str_proto; > #ifdef CONFIG_CGROUPS > case BPF_FUNC_get_current_cgroup_id: > -- > 2.23.0 >