From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Fastabend Subject: [bpf-next PATCH 0/2] SK_MSG programs: read sock fields Date: Thu, 17 May 2018 08:53:59 -0700 Message-ID: <20180517155305.21250.52379.stgit@john-Precision-Tower-5810> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org To: ast@kernel.org, daniel@iogearbox.net Return-path: Received: from [184.63.162.180] ([184.63.162.180]:37360 "EHLO john-Precision-Tower-5810" rhost-flags-FAIL-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752075AbeEQPyF (ORCPT ); Thu, 17 May 2018 11:54:05 -0400 Sender: netdev-owner@vger.kernel.org List-ID: In this series we add the ability for sk msg programs to read basic sock information about the sock they are attached to. The second patch adds the tests to the selftest test_verifier. One obseration that I had from writing this seriess is lots of the ./net/core/filter.c code is almost duplicated across program types. I thought about building a template/macro that we could use as a single block of code to read sock data out for multiple programs, but I wasn't convinced it was worth it yet. The result was using a macro saved a couple lines of code per block but made the code a bit harder to read IMO. We can probably revisit the idea later if we get more duplication. --- John Fastabend (2): bpf: allow sk_msg programs to read sock fields bpf: add sk_msg prog sk access tests to test_verifier include/linux/filter.h | 1 include/uapi/linux/bpf.h | 8 ++ kernel/bpf/sockmap.c | 1 net/core/filter.c | 114 ++++++++++++++++++++++++++- tools/include/uapi/linux/bpf.h | 8 ++ tools/testing/selftests/bpf/test_verifier.c | 115 +++++++++++++++++++++++++++ 6 files changed, 244 insertions(+), 3 deletions(-)