Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp6232562rwd; Mon, 5 Jun 2023 15:21:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4FuRAsDjsdhyyn2QfvV8bHa9Sq29oQKhsqRzVBZoldHCIZ/ZsmbL63g41GoBWt8Jo2kmEY X-Received: by 2002:a05:6a21:340a:b0:10d:f812:e4b5 with SMTP id yn10-20020a056a21340a00b0010df812e4b5mr265507pzb.35.1686003675535; Mon, 05 Jun 2023 15:21:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686003675; cv=none; d=google.com; s=arc-20160816; b=L5IMk7ujRYd4URI6sBQKf8r+7PUPEzmc4JjlPdb8DFees1cA6svp6lLSBZbY0UHf7Z qBCJIy77VkxrjiqQG1n59eEJhoQEZ7vNkkrLZkHtJP08WyqQXPGvKsBbTFQc86c1/Iax ExLDE1A6ldu7eyElsFnhNsCdrYoRkpFsYk7A5SIvdDxHp0DXWH6aRvmL1ZZZcoy0QADr i0bBWvfpk2OrZa1KXy+zcNOJ8vqgbA+mCkjBBE2SzEFoF2LCKLYQYCM85M47Q2AUKE9M 2/wKTIpGlQiLNFetlu2IBSBMPNxrZb78Ijb6LV6YhxAPyk61H5C6dK25pWy+u9v0OgAM JKnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=OVq54lH3E2ODLnxs1hYNz0RLN2+8uJFJjH0uysXpNaE=; b=IwiHCbpoHQV9DpAU4zSmfrpAJf8HnqjOJY1rKs+UHozgghCzdOFEFyMCJEmUccz70B QBSL/Is88zRqWlKPYErx9Se6y/HyATxUr7NYGmNZsvBzN5OreGgUcwnulhAYKqR3HVEa fjQANR9Vv1HEI4y+bIzG9BmhOKA6jePOqA46CsofW7wtmbvgYDAwyXp20NqNtY6jXBmB 0iR5ADbVwhwqStuV0IHw4eXpNUn26Py3mJCjSul1zASV+Oxd4PtYrdFASt0grfCVjVvu UgCNt4j0t9CUi5l2tg3QFQoJUuoxmxRE8/l9Nxjw4+j4B0aIouAJnmXPTGqoZXKnZdwe yyFA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=SVFhye3w; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v202-20020a6361d3000000b00543cca81bb9si975351pgb.329.2023.06.05.15.21.03; Mon, 05 Jun 2023 15:21:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20221208 header.b=SVFhye3w; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231922AbjFEWHg (ORCPT + 99 others); Mon, 5 Jun 2023 18:07:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231358AbjFEWHf (ORCPT ); Mon, 5 Jun 2023 18:07:35 -0400 Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [IPv6:2a00:1450:4864:20::235]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E2599EC; Mon, 5 Jun 2023 15:07:34 -0700 (PDT) Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-2b1af9ef7a9so47447821fa.1; Mon, 05 Jun 2023 15:07:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686002853; x=1688594853; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=OVq54lH3E2ODLnxs1hYNz0RLN2+8uJFJjH0uysXpNaE=; b=SVFhye3wWzm9siCPJAPvhmdYPJHXs984VZI3RhfJKGXLNHQXWFj8QiLUgcnmHACMjN ovtw27BBo0HlbmNBo30Mzy7FP2Qe7+ft5RCnmx+w7TmCB4kVCZcRIhjdPvq+4W2Xhhv3 Iu626Cy4UPw6hg4mx9JIRa5LdeAUtZCoztGGpG7KUX4EYbdgGEC5/01k/yxltardorxe u6ds1wDIpaMZJyQx7m4IsJK+PVwe8LLI/ZqmJB+X6EthP2LKi0w0VAmduv2vJozgwpwi AznaFke/N0u4NfvisJfPpoOnRXaoyXEsZcRu+MLkdPtn6PK74hLn7r5EzCEES/Rk78gX YUGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686002853; x=1688594853; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OVq54lH3E2ODLnxs1hYNz0RLN2+8uJFJjH0uysXpNaE=; b=dVH1+Mu1Hj3c9P+/0yJwzF0er+x8RGceevoiEUoNSpuq2VUKIfdIwyldSDu4HBrKx9 JMnPiqzmOHPmi1qIZj8q/Jv650YY/v3V8lqUNm+wNzmQk3dDfp2iMAQz01cLTYwivCFA man9Se84EFQ3JDoKhOizWzfrsUPksASNnX+TBauLm6Vn2neC1toan2MSw6xusVaEgVGP VvXLjrIC8zpnlZlOu+S9xXxyVzY4Xn9RajJKwOuxzwIX9irTgGcVN3NE0MDIavN3t4Ff 5UpbHe+EYUR+1HPw0W+L7hMHYRanTSX/eEfa6H8/mgObJfw6E46wBGUkiCOEMi0izvx0 GZLQ== X-Gm-Message-State: AC+VfDwfJ1w6E+G6VGO81Qb6LXGfy99UXiUSnwCR+qkiZ15kyouYM/tE Xu828RfD+gBayS4M6Qg6p5+cBmnAI3xLuhRDTh0= X-Received: by 2002:a2e:a406:0:b0:2b1:e6eb:1ba2 with SMTP id p6-20020a2ea406000000b002b1e6eb1ba2mr364843ljn.22.1686002852835; Mon, 05 Jun 2023 15:07:32 -0700 (PDT) MIME-Version: 1.0 References: <20230605200508.1888874-1-void@manifault.com> <20230605200508.1888874-2-void@manifault.com> In-Reply-To: <20230605200508.1888874-2-void@manifault.com> From: Alexei Starovoitov Date: Mon, 5 Jun 2023 15:07:21 -0700 Message-ID: Subject: Re: [PATCH bpf-next 2/2] selftests/bpf: Test bpf_for_each_map_elem on BPF_MAP_TYPE_HASH_OF_MAPS To: David Vernet Cc: bpf , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , LKML , Kernel Team , Dave Marchevsky Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 5, 2023 at 1:05=E2=80=AFPM David Vernet wr= ote: > > + > +static __u64 set_invoked(struct bpf_map *map, __u64 *key, __u64 *val, st= ruct callback_ctx *ctx) > +{ > + struct bpf_map *inner_map; > + > + ctx->invoked =3D true; > + inner_map =3D bpf_map_lookup_elem(map, key); > + if (!inner_map) { > + ctx->failed =3D true; > + return 1; > + } This doesn't look right. 'val' is not 'u64 *'. It probably should be 'struct bpf_map *', so lookup shouldn't be necessary. map_set_for_each_callback_args() just sets it to PTR_TO_MAP_VALUE. It probably should be CONST_PTR_TO_MAP. Also for normal hash map for_each_elem 'val' is writeable. It shouldn't be in this case. So to cleanly support iterating hash_of_maps patch 1 needs more work.