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=-8.6 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,USER_AGENT_GIT 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 2380AC4321A for ; Fri, 26 Apr 2019 15:50:14 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D62A2205ED for ; Fri, 26 Apr 2019 15:50:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="K1ilNNQC" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726809AbfDZPuN (ORCPT ); Fri, 26 Apr 2019 11:50:13 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:35450 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726679AbfDZPuL (ORCPT ); Fri, 26 Apr 2019 11:50:11 -0400 Received: by mail-ed1-f65.google.com with SMTP id y67so3597022ede.2; Fri, 26 Apr 2019 08:50:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MyGoYsy0dN3k8pVgiEb5o4itS/U7KcJ870ynPtHnyhQ=; b=K1ilNNQCMQQKNCY99Cmw6FKmayssrBL3yGMyAV61HXIXAcRiXpBiabGeW8/ESULGzy AIwD97CRurWve6MlVOkphjj+yx1InUa75L3icz7TlS+dtskDdwzqZol65vz7NKaKuD1I +W86bd/3hp0TXwMybc/M2pAm2imbnDimb0MZS861s625SU0ynxzhK/xDLG5rYjSU4eXI MTytB+qJ4xybq1KdZ0TXpmCepCaZIVRcuGSnnCrAzgv7vRF9ZDFUDkzayv3TROfnM7Gt S+u4VdzRmUJbHV6UP5csVJJ/MMNuV3Kpg2tMa26/Skb7Q9fYzdK7YC04JkVGHu3Z+Atn CxAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=MyGoYsy0dN3k8pVgiEb5o4itS/U7KcJ870ynPtHnyhQ=; b=hgQqq4IEVXQtHy8qHtvEJwfmy9pohdrDAYbJZ0T3xUcAuV0+gjHso2ZGesX/wQS6S7 g8BHVBlsyUOUTmNp1qENl0CjvQwOdKkzxT/MDX0dXUTCsdQXBFfplZeED2/l6EwWP+e+ YRq5YixlufQeUBV1KyB20whvEaeVMlb9U+/5meCYwLecuoxyIgUtpcHEPmpl9ZP5y/61 uD8fLF4dLXFIK6OE4ArWA7FYaR8EAfiAnL0ZpqQbTjbMjVOkQWy+IXR+aJN8eoFqVInS ylzyb0+QD3fV+jNK4EU41FbvkafVB1EWHo9i8R3wlETBUgg8o47xyGJT1GiUpVueosCo suxA== X-Gm-Message-State: APjAAAX9eh7EZYNnyt8/nBc80JB/JnFz4jN/Ai4ZudDk6fMqgpzuzASk MFJjYcNzbpgVCqzc1G4jPBM5BS5I+bofZg== X-Google-Smtp-Source: APXvYqzvaNCingq2Ttd9LAxHj34fnVAyEpKKEZJCkLNSuRurmhUt75z5aO68SWaCp1nu1FdsnVF7lQ== X-Received: by 2002:a05:6402:1557:: with SMTP id p23mr28290291edx.27.1556293809326; Fri, 26 Apr 2019 08:50:09 -0700 (PDT) Received: from neptune.fritz.box ([178.19.216.175]) by smtp.gmail.com with ESMTPSA id f15sm4603002eja.39.2019.04.26.08.50.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 26 Apr 2019 08:50:07 -0700 (PDT) From: Alban Crequy X-Google-Original-From: Alban Crequy To: john.fastabend@gmail.com, ast@kernel.org, daniel@iogearbox.net Cc: bpf@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, alban@kinvolk.io, iago@kinvolk.io Subject: [PATCH bpf-next v3 4/4] selftests: bpf: verifier: read netns_dev and netns_ino from struct bpf_sock_ops Date: Fri, 26 Apr 2019 17:48:48 +0200 Message-Id: <20190426154848.23490-4-alban@kinvolk.io> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190426154848.23490-1-alban@kinvolk.io> References: <20190426154848.23490-1-alban@kinvolk.io> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Alban Crequy Tested with: > $ sudo ./test_verifier > ... > #905/p sockops accessing bpf_sock_ops->netns_dev, ok OK > #906/p sockops accessing bpf_sock_ops->netns_ino, ok OK > ... > Summary: 1421 PASSED, 0 SKIPPED, 0 FAILED Signed-off-by: Alban Crequy --- Changes since v1: - This is a new selftest (review from Song) Changes since v2: - test partial reads on netns_dev (review from Y Song) - split in two tests --- .../testing/selftests/bpf/verifier/var_off.c | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tools/testing/selftests/bpf/verifier/var_off.c b/tools/testing/selftests/bpf/verifier/var_off.c index 8504ac937809..9e4c6c78eb9d 100644 --- a/tools/testing/selftests/bpf/verifier/var_off.c +++ b/tools/testing/selftests/bpf/verifier/var_off.c @@ -246,3 +246,56 @@ .result = ACCEPT, .prog_type = BPF_PROG_TYPE_LWT_IN, }, +{ + "sockops accessing bpf_sock_ops->netns_dev, ok", + .insns = { + BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev)), + + BPF_LDX_MEM(BPF_W, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev)), + BPF_LDX_MEM(BPF_W, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 4), + + BPF_LDX_MEM(BPF_H, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev)), + BPF_LDX_MEM(BPF_H, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 2), + BPF_LDX_MEM(BPF_H, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 4), + BPF_LDX_MEM(BPF_H, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 6), + + BPF_LDX_MEM(BPF_B, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev)), + BPF_LDX_MEM(BPF_B, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 1), + BPF_LDX_MEM(BPF_B, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 2), + BPF_LDX_MEM(BPF_B, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 3), + BPF_LDX_MEM(BPF_B, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 4), + BPF_LDX_MEM(BPF_B, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 5), + BPF_LDX_MEM(BPF_B, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 6), + BPF_LDX_MEM(BPF_B, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_dev) + 7), + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_EXIT_INSN(), + }, + .result = ACCEPT, + .prog_type = BPF_PROG_TYPE_SOCK_OPS, +}, +{ + "sockops accessing bpf_sock_ops->netns_ino, ok", + .insns = { + BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_1, offsetof(struct bpf_sock_ops, + netns_ino)), + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_EXIT_INSN(), + }, + .result = ACCEPT, + .prog_type = BPF_PROG_TYPE_SOCK_OPS, +}, -- 2.20.1