From mboxrd@z Thu Jan 1 00:00:00 1970 From: Song Liu Subject: [PATCH v8 bpf-next 0/2] bpf: add cg_skb_is_valid_access Date: Fri, 19 Oct 2018 09:57:56 -0700 Message-ID: <20181019165758.1410213-1-songliubraving@fb.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , , , , Song Liu To: Return-path: Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:53986 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727949AbeJTBFG (ORCPT ); Fri, 19 Oct 2018 21:05:06 -0400 Received: from pps.filterd (m0109334.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w9JGvdVZ012219 for ; Fri, 19 Oct 2018 09:58:10 -0700 Received: from maileast.thefacebook.com ([199.201.65.23]) by mx0a-00082601.pphosted.com with ESMTP id 2n7jg404xx-9 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Fri, 19 Oct 2018 09:58:10 -0700 Sender: netdev-owner@vger.kernel.org List-ID: Changes v7 -> v8: 1. Dynamically allocate the dummy sk to avoid race conditions. 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 | 15 ++ net/core/filter.c | 36 ++++- tools/testing/selftests/bpf/test_verifier.c | 171 ++++++++++++++++++++ 5 files changed, 248 insertions(+), 1 deletion(-)