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=-11.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT,USER_IN_DEF_DKIM_WL 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 878DCC76191 for ; Mon, 15 Jul 2019 16:40:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6067E20861 for ; Mon, 15 Jul 2019 16:40:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Z8bZPuaE" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730539AbfGOQkA (ORCPT ); Mon, 15 Jul 2019 12:40:00 -0400 Received: from mail-qk1-f201.google.com ([209.85.222.201]:46446 "EHLO mail-qk1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729533AbfGOQkA (ORCPT ); Mon, 15 Jul 2019 12:40:00 -0400 Received: by mail-qk1-f201.google.com with SMTP id c79so14205478qkg.13 for ; Mon, 15 Jul 2019 09:39:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=zqi7JK7p7sEMZ3kNIQuShGNc5UyRefvzgKB5PI244CY=; b=Z8bZPuaErJntn61Lw1Rkrz7GD5/KD0g4S4lHgP9Zz7m/pSObW3j7eJI0UP8c7q7WiK Nj9HDE0gOuYtg31lo6no4UQWR9gdxueM/tSyUe9j09U/B0+adF2wx2Dalpx8wQJ6SBKA G14AeKI/gJMaYbVv/TRfaGmKla3JuZm3X37a3mJhqvfawS5vCdInuAapwVGYN17LgAjg bpKF9o7nZodL2shQuI+iuyqDnR6iw0Q20A3ZPPm37gv0gV83baWpEogqklIx1N0/BU9p YuSR95iJsx1mNo87jDwH2z+kDEJ5QdfEymeLr+FS6vTh/+IXZdr2Zf5JmXTllbxWM1xI 6WZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=zqi7JK7p7sEMZ3kNIQuShGNc5UyRefvzgKB5PI244CY=; b=Hmwi8eF8cIUuGFfzQKVY9qwQPNlGiRTyCyTVNEe5vRx7hdrKmX3b9HO4ToudvBVt2r 3c6Hgzi6A/S5fQrdQmEfvbVOAySiPrrPAQFd5LBgceeklgT/zoIEmEQebvp9MS7SZoIj MN2ocK9A/Ly8Cig2gfSRxJbWkC6kcgAma+JZffAS0GoQsPn34I8fdRuuaqcwVgpvNre4 v2tgapa2DkZGkokmOX3wHINasYFRO/GNmIly8IjSrEjNjgKiivv5CvsWf3KrML5WsYH/ 2a2eo6omGSDGHlve7+5dDIP83pmtrAFRK54Thvyh0ofiFF8/cOP6ry3j3U3cpIrqw8dV ryQw== X-Gm-Message-State: APjAAAVicrIjzyw7RuB34426wCDYaJPJWaFOBUqMImudol4iAG8wsJvZ mdteNrI0DUTdSq+v3p5NabNxgAo= X-Google-Smtp-Source: APXvYqy8Ka9hJf5QpKak7Yr1lb+BGgMRdy6z9twN1c/jCeNrcSC3n3bgOMBAcodIodPtLLN1abcBzM0= X-Received: by 2002:ae9:eb16:: with SMTP id b22mr15266729qkg.160.1563208798802; Mon, 15 Jul 2019 09:39:58 -0700 (PDT) Date: Mon, 15 Jul 2019 09:39:51 -0700 Message-Id: <20190715163956.204061-1-sdf@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.22.0.510.g264f2c817a-goog Subject: [PATCH bpf 0/5] bpf: allow wide (u64) aligned loads for some fields of bpf_sock_addr From: Stanislav Fomichev To: netdev@vger.kernel.org, bpf@vger.kernel.org Cc: davem@davemloft.net, ast@kernel.org, daniel@iogearbox.net, Stanislav Fomichev , Yonghong Song Content-Type: text/plain; charset="UTF-8" Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org When fixing selftests by adding support for wide stores, Yonghong reported that he had seen some examples where clang generates single u64 loads for two adjacent u32s as well: http://lore.kernel.org/netdev/a66c937f-94c0-eaf8-5b37-8587d66c0c62@fb.com Let's support aligned u64 reads for some bpf_sock_addr fields as well. (This can probably wait for bpf-next, I'll defer to Younhong and the maintainers.) Cc: Yonghong Song Stanislav Fomichev (5): bpf: rename bpf_ctx_wide_store_ok to bpf_ctx_wide_access_ok bpf: allow wide aligned loads for bpf_sock_addr user_ip6 and msg_src_ip6 selftests/bpf: rename verifier/wide_store.c to verifier/wide_access.c selftests/bpf: add selftests for wide loads bpf: sync bpf.h to tools/ include/linux/filter.h | 2 +- include/uapi/linux/bpf.h | 4 +- net/core/filter.c | 24 ++++-- tools/include/uapi/linux/bpf.h | 4 +- .../selftests/bpf/verifier/wide_access.c | 73 +++++++++++++++++++ .../selftests/bpf/verifier/wide_store.c | 36 --------- 6 files changed, 95 insertions(+), 48 deletions(-) create mode 100644 tools/testing/selftests/bpf/verifier/wide_access.c delete mode 100644 tools/testing/selftests/bpf/verifier/wide_store.c -- 2.22.0.510.g264f2c817a-goog