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=-3.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no 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 A94E0C43331 for ; Sun, 10 Nov 2019 17:05:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 748C72080F for ; Sun, 10 Nov 2019 17:05:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ts6UrP65" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726710AbfKJRFM (ORCPT ); Sun, 10 Nov 2019 12:05:12 -0500 Received: from mail-qk1-f196.google.com ([209.85.222.196]:42142 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726651AbfKJRFL (ORCPT ); Sun, 10 Nov 2019 12:05:11 -0500 Received: by mail-qk1-f196.google.com with SMTP id m4so9278991qke.9; Sun, 10 Nov 2019 09:05:11 -0800 (PST) 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=Cji3P/+/iv6xM2dBesjL/U0gPT0R14+ktVFzlPMpCaQ=; b=ts6UrP65DuBVimqFkd68ZVLVi+rioOkg17sjY2i8wA+wdDncU8+3Mug46OkTW8exbx qUUa+6j9l7mmusVr153uqDZG3e4pzV0L1j6ARq0avF1D7PY2wLy79JI2s/fBzN4mTgaG C4K3ZFUEY/SQ0Z/gsA9ZDo+46bax7OG3WnOMt9ULhaAZPvWBRLdJtqFH+yI7a0wbR7SN InoJi75pvO4z2lmNHGy8gAj5tG0EMMkMiSR34RQDksFiOaSxbPVZCbDrc9p0iL3SL17T 4L+hFtFQdu92DVZuR4j+qDeRV/TE07pN/JlJhPOALgXUeeEE0vPUZoJTZxvvXLmElTRA 2Yzg== 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=Cji3P/+/iv6xM2dBesjL/U0gPT0R14+ktVFzlPMpCaQ=; b=kw0VGfal5rPtnFH4z5B6b67Pide3e7Gk2o1oG85mIzjAPkYnkTk5oIYalDm8zEMIzI cemtnhX9DXubGnvQRj7RuIENjpQuJdRDHZXJRCJgb0aUYxHDP6/Rs3lHXHMBoRk7QUb7 Lt1PqLhfKuyEfYqxrJLPdgAzlPtDtPN0DX1lLI99LUOQXvlAwWqD5lA7KSQ73iRzji1Z fCbO3woDfJvOsdNkSX2fhK9RMKmWec3nuNJn1HhHYUOH6FBLcB61TilbKKyfj2hzpmIL 4tAkUeqaauLbD5dOnZahIv5Sxeq7X1KvnqUgVMc3Yy4IrMQUlbobPR7uhw/poAlY6Xin VqsA== X-Gm-Message-State: APjAAAUtI7qy0ACG4kZaTPVOyKAjl6zcFG1a53TvHbG+uZw/EoYEqhvr HN7arinhlUm3R7n1CdXBVnVE3Q/OGemxc4VNfeBwPw== X-Google-Smtp-Source: APXvYqzuZqRuFzVn2+1I2PQtmjiqHADc5NTlh9jElST4aLGWhHQQuJ8iFnheI7jD3P5u8lFfUBtQppkD7iVAAfmVtvc= X-Received: by 2002:a37:b3c4:: with SMTP id c187mr7065985qkf.36.1573405510548; Sun, 10 Nov 2019 09:05:10 -0800 (PST) MIME-Version: 1.0 References: <20191108064039.2041889-1-ast@kernel.org> <20191108064039.2041889-19-ast@kernel.org> In-Reply-To: <20191108064039.2041889-19-ast@kernel.org> From: Andrii Nakryiko Date: Sun, 10 Nov 2019 09:04:58 -0800 Message-ID: Subject: Re: [PATCH v3 bpf-next 18/18] selftests/bpf: Add a test for attaching BPF prog to another BPF prog and subprog 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 Thu, Nov 7, 2019 at 10:43 PM Alexei Starovoitov wrote: > > Add a test that attaches one FEXIT program to main sched_cls networking program > and two other FEXIT programs to subprograms. All three tracing programs > access return values and skb->len of networking program and subprograms. > > Signed-off-by: Alexei Starovoitov > --- Acked-by: Andrii Nakryiko > .../selftests/bpf/prog_tests/fexit_bpf2bpf.c | 76 ++++++++++++++++ > .../selftests/bpf/progs/fexit_bpf2bpf.c | 91 +++++++++++++++++++ > 2 files changed, 167 insertions(+) > create mode 100644 tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c > create mode 100644 tools/testing/selftests/bpf/progs/fexit_bpf2bpf.c > [...] > +SEC("fexit/test_pkt_access_subprog2") > +int test_subprog2(struct args_subprog2 *ctx) > +{ > + struct sk_buff *skb = (void *)ctx->args[0]; > + __u64 ret; > + int len; > + > + bpf_probe_read(&len, sizeof(len), > + __builtin_preserve_access_index(&skb->len)); nit: we have bpf_core_read() for this, but I suspect you may have wanted __builtin spelled out explicitly > + > + ret = ctx->ret; > + /* bpf_prog_load() loads "test_pkt_access.o" with BPF_F_TEST_RND_HI32 > + * which randomizes upper 32 bits after BPF_ALU32 insns. > + * Hence after 'w0 <<= 1' upper bits of $rax are random. > + * That is expected and correct. Trim them. > + */ > + ret = (__u32) ret; > + if (len != 74 || ret != 148) > + return 0; > + test_result_subprog2 = 1; > + return 0; > +} > +char _license[] SEC("license") = "GPL"; > -- > 2.23.0 >