From mboxrd@z Thu Jan 1 00:00:00 1970 From: Song Liu Subject: [PATCH v7 bpf-next 0/2] bpf: add cg_skb_is_valid_access Date: Fri, 19 Oct 2018 09:27:46 -0700 Message-ID: <20181019162748.1285423-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]:59582 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727038AbeJTAgL (ORCPT ); Fri, 19 Oct 2018 20:36:11 -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 w9JGRPrs009869 for ; Fri, 19 Oct 2018 09:29:20 -0700 Received: from maileast.thefacebook.com ([199.201.65.23]) by m0001303.ppops.net with ESMTP id 2n7jt1g08j-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Fri, 19 Oct 2018 09:29:20 -0700 Sender: netdev-owner@vger.kernel.org List-ID: Changes v6 -> v7: 1. Make dummy sk a global variable (test_run_sk). Changes v5 -> v6: 1. Fixed dummy sk in bpf_prog_test_run_skb() as suggested by Eric Dumazet. Changes v4 -> v5: 1. Replaced bpf_compute_and_save_data_pointers() with bpf_compute_and_save_data_end(); Replaced bpf_restore_data_pointers() with bpf_restore_data_end(). 2. Fixed indentation in test_verifier.c Changes v3 -> v4: 1. Fixed crash issue reported by Alexei. Changes v2 -> v3: 1. Added helper function bpf_compute_and_save_data_pointers() and bpf_restore_data_pointers(). Changes v1 -> v2: 1. Updated the list of read-only fields, and read-write fields. 2. Added dummy sk to bpf_prog_test_run_skb(). This set enables BPF program of type BPF_PROG_TYPE_CGROUP_SKB to access some __skb_buff data directly. Song Liu (2): bpf: add cg_skb_is_valid_access for BPF_PROG_TYPE_CGROUP_SKB bpf: add tests for direct packet access from CGROUP_SKB include/linux/filter.h | 21 +++ kernel/bpf/cgroup.c | 6 + net/bpf/test_run.c | 8 + net/core/filter.c | 36 ++++- tools/testing/selftests/bpf/test_verifier.c | 171 ++++++++++++++++++++ 5 files changed, 241 insertions(+), 1 deletion(-)