From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F25B619D894 for ; Tue, 1 Oct 2024 19:54:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727812475; cv=none; b=ff+ZNPj1OLqAd9BUcEZ7ZDJ993iX4ScTbBfQ1gsuR4ix+Ok7T8LhF+O9KMltzzS4wLKFeAJBBR6DTJdUSKOVM1LzC3MYIphYZVEzJf0VvUiHagaeS6OG8hCGNwfhmh5HnzCGiC19KQYGzprJU9RjomK6WZUKCJgJQP7boiDIebc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727812475; c=relaxed/simple; bh=Hzd1CYs/FrsI3FgAZU4AamzqW+G5SazFReNfaDDYD+A=; h=From:To:Cc:References:In-Reply-To:Subject:Date:Message-ID: MIME-Version:Content-Type; b=Rvv4iTmrmBzPf2ag7ZvYY9k/+J/b3Yp1/HI2/aEQMc4KYC/TjqLrTOSgEnjt5WmscOG1TwWwAulIhrlkMY/4dBYO6SCScITBl4xwpdR2wwfOHQbvZXIpbfJcjF9DMr2tYxGjTsSCWdCl2xdA0fJHga3ncmb2FwLZVFoSguIpBx0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com; spf=pass smtp.mailfrom=googlemail.com; dkim=pass (2048-bit key) header.d=googlemail.com header.i=@googlemail.com header.b=LUjGAJR/; arc=none smtp.client-ip=209.85.214.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=googlemail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=googlemail.com header.i=@googlemail.com header.b="LUjGAJR/" Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-20b7a4336easo20208425ad.3 for ; Tue, 01 Oct 2024 12:54:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20230601; t=1727812473; x=1728417273; darn=vger.kernel.org; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:in-reply-to:references:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=TuGoJk9ECvqTkdhRfL58HMyKOI+yVlMGcPqLYre0Ahc=; b=LUjGAJR/a60HMHVtm5tQdtt7S5/HNaSrBFHYxOKCEggctre9n9gwtUFSUTGr78VP+Z meFuhHDrI8gNAO7sutiXTP78X30HkzBsQzxPCPoZZhnau14tcnPWpZyPLgOkCsoQhN9y 93U+gSFPYPpFIStwgnQHY4bOWfH2ywmCDxSbNvsFvLtyI2PL5ZghihYVn5sCYVeWPHp/ 1rO4IqNlm5fsgKqP5J4hQfgGA5VwCTlUtMsgR4wymRqWb/8PVYIHqVfybfcRCq0XP857 5XXywuw4tbDGOp/SaR6XQUdyKqE8R7NTX+2euOfCL1bYUAOINNRfROH0jGpACNEGrhec RheA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727812473; x=1728417273; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:in-reply-to:references:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TuGoJk9ECvqTkdhRfL58HMyKOI+yVlMGcPqLYre0Ahc=; b=KQjKKxrQLLTSv1vQpOJIeZfrDzJmWCULNe+vWdREh9inGfyZXCjctGXpz8fA+tpsAi tjHVKMdTQM6K4X40dRfHgs74Ta22FY2VrtBLs8nebiwYb1wYwKCxPM9Wwge9jxbzGqBp /Rmi8yqAr3N7dfl5w/Ia3iCjAL3m6wc/33w/Zy7LnicQtKDR34C8b+yOtTzMuEZJAomX VLXb3L61XD4qO1ITR0vmiVYe4yFBQQ6ntX65MENwreKvGiDCWLtkq5Ddrka+KftncZbZ w2EIHzQYOaq8ARIPnD6OvJiNK0+WNLSo4APIKAgec2LKXGu/pQGfISXYN5Y5XOuTHxtW gWfg== X-Gm-Message-State: AOJu0Yw2ZcEW/LQyyCgS9tHeywsOx4+6fC0riU9Uwje0F6/xaNaosTSy bjJDnWFf4w0bJUx7Fja/CJzN8tcK0BFZC6n5oQ/BeXqlNvuQl5XT X-Google-Smtp-Source: AGHT+IFVhbB/nL9ZYL1sIb+zR/pBa2OyC8tXDQL0EL3nGOyvlR4VqOEyMLN/BUeXrKLcnwyn+SiONw== X-Received: by 2002:a17:903:1103:b0:20b:9078:707b with SMTP id d9443c01a7336-20bc5a10233mr8891435ad.30.1727812473077; Tue, 01 Oct 2024 12:54:33 -0700 (PDT) Received: from ArmidaleLaptop ([2601:600:877f:ae0f:f8cf:32cf:647d:b56e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20b37d89297sm73751755ad.71.2024.10.01.12.54.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Oct 2024 12:54:32 -0700 (PDT) From: Dave Thaler X-Google-Original-From: "Dave Thaler" To: "'Yonghong Song'" , "'Alexei Starovoitov'" , Cc: "'bpf'" , "'Alexei Starovoitov'" , "'Andrii Nakryiko'" , "'Daniel Borkmann'" , "'Martin KaFai Lau'" References: <20240927033904.2702474-1-yonghong.song@linux.dev> In-Reply-To: Subject: RE: [PATCH bpf-next] docs/bpf: Document some special sdiv/smod operations Date: Tue, 1 Oct 2024 12:54:27 -0700 Message-ID: <181301db143b$ba6fd9c0$2f4f8d40$@gmail.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQKzqMffW8FFfWCd3ulEKsb+gfc3egGOkjXjAfqQ6mmwpNlrgA== Content-Language: en-us Yonghong Song wrote:=20 > On 9/30/24 6:50 PM, Alexei Starovoitov wrote: > > On Thu, Sep 26, 2024 at 8:39=E2=80=AFPM Yonghong Song = > wrote: > >> Patch [1] fixed possible kernel crash due to specific sdiv/smod > >> operations in bpf program. The following are related operations and > >> the expected results of those operations: > >> - LLONG_MIN/-1 =3D LLONG_MIN > >> - INT_MIN/-1 =3D INT_MIN > >> - LLONG_MIN%-1 =3D 0 > >> - INT_MIN%-1 =3D 0 > >> > >> Those operations are replaced with codes which won't cause kernel > >> crash. This patch documents what operations may cause exception and > >> what replacement operations are. > >> > >> [1] > >> = https://lore.kernel.org/all/20240913150326.1187788-1-yonghong.song@li > >> nux.dev/ > >> > >> Signed-off-by: Yonghong Song > >> --- > >> .../bpf/standardization/instruction-set.rst | 25 = +++++++++++++++---- > >> 1 file changed, 20 insertions(+), 5 deletions(-) > >> > >> diff --git a/Documentation/bpf/standardization/instruction-set.rst > >> b/Documentation/bpf/standardization/instruction-set.rst > >> index ab820d565052..d150c1d7ad3b 100644 > >> --- a/Documentation/bpf/standardization/instruction-set.rst > >> +++ b/Documentation/bpf/standardization/instruction-set.rst > >> @@ -347,11 +347,26 @@ register. > >> =3D=3D=3D=3D=3D =3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D > >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > >> > >> Underflow and overflow are allowed during arithmetic operations, > >> meaning -the 64-bit or 32-bit value will wrap. If BPF program > >> execution would -result in division by zero, the destination = register is instead set > to zero. > >> -If execution would result in modulo by zero, for ``ALU64`` the = value of > >> -the destination register is unchanged whereas for ``ALU`` the = upper > >> -32 bits of the destination register are zeroed. > >> +the 64-bit or 32-bit value will wrap. There are also a few > >> +arithmetic operations which may cause exception for certain > >> +architectures. Since crashing the kernel is not an option, those = operations are > replaced with alternative operations. > >> + > >> +.. table:: Arithmetic operations with possible exceptions > >> + > >> + =3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > >> + name class original replacement > >> + =3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > >> + DIV ALU64/ALU dst /=3D 0 dst =3D 0 > >> + SDIV ALU64/ALU dst s/=3D 0 dst =3D 0 > >> + MOD ALU64 dst %=3D 0 dst =3D dst = (no replacement) > >> + MOD ALU dst %=3D 0 dst =3D = (u32)dst > >> + SMOD ALU64 dst s%=3D 0 dst =3D dst = (no replacement) > >> + SMOD ALU dst s%=3D 0 dst =3D = (u32)dst All of the above are already covered in existing Table 5 and in my = opinion don't need to be repeated. That is, the "original" is not what Table 5 has, so just introduces = confusion in the document in my opinion. > >> + SDIV ALU64 dst s/=3D -1 (dst =3D LLONG_MIN) dst =3D = LLONG_MIN > >> + SDIV ALU dst s/=3D -1 (dst =3D INT_MIN) dst =3D = (u32)INT_MIN > >> + SMOD ALU64 dst s%=3D -1 (dst =3D LLONG_MIN) dst =3D 0 > >> + SMOD ALU dst s%=3D -1 (dst =3D INT_MIN) dst =3D 0 The above four are the new ones and I'd prefer a solution that modifies existing table 5. E.g. table 5 has now for SMOD: dst =3D (src !=3D 0) ? (dst s% src) : dst and could have something like this: dst =3D (src =3D=3D 0) ? dst : ((src =3D=3D -1 && dst =3D=3D INT_MIN) ? = 0 : (dst s% src)) > > This is a great addition to the doc, but this file is currently = being > > used as a base for IETF standard which is in its final "edit" stage > > which may require few patches, so we cannot land any changes to > > instruction-set.rst not related to standardization until RFC number = is > > issued and it becomes immutable. After that the same > > instruction-set.rst file can be reused for future revisions on the > > standard. > > Hopefully the draft will clear the final hurdle in a couple weeks. > > Until then: > > pw-bot: cr >=20 > Sure. No problem. Will resubmit once the RFC number is issued. I'm adding bpf@ietf.org to the To line since all changes in the = standardization directory should include that mailing list. The WG should discuss whether any changes should be done via a new RFC that obsoletes the first one, or as RFCs that Update and just describe = deltas (additions, etc.). There are precedents both ways and I don't have a strong preference, but = I have a weak preference for delta-based ones since they're shorter and = are less likely to re-open discussion on previously resolved issues, thus = often saving the WG time. Also FYI to Linux kernel folks: With WG and AD approval, it's also possible (but not ideal) to take = changes at AUTH48. That'd be up to the chairs and AD to decide though, and = normally that's just for purely editorial clarifications, e.g., to confusion = called out by the RFC editor pass. Dave From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.ietf.org (mail.ietf.org [50.223.129.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A4D321BC072 for ; Tue, 1 Oct 2024 20:03:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=50.223.129.194 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727813025; cv=none; b=MpeJGhJL4EP0eQNFu62q9VtRDl9DRC5LDMpNfDdakRKs6tWzQHzuQ/0xnswK4ZLODrVe2Ec3wM3OGIxnTb/MUIIa8+fAAgKc25XCIBfC/pU8gp46LINVlEYInj8b75/bNE6kS1CqMYowCeQjFsS4KWRQNvs8K1hYtz0KaYHffRs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727813025; c=relaxed/simple; bh=lrCFfRAGUzOmuDvl5ddi7lgMYWGvj4C9taG2t6AYswE=; h=To:References:In-Reply-To:Date:Message-ID:MIME-Version:CC:Subject: Content-Type:From; b=GBbHO8gwFOdO73NZFV1f3+YlXjsUlUS4xJD6xQRN9FJOlx1IFjJw9WYV3gqc/sDb5iA3IVLYeWfkxmxMAWPLMHf86ZrOtw94Kmy5RGcSy9lnxPdAKb4TMdaL3BNztsIQzPvGOjdvOiznNZ/T8ugoFpQBk2IDJHOEuaU6yk7nRE8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dmarc.ietf.org; spf=pass smtp.mailfrom=ietf.org; dkim=pass (1024-bit key) header.d=ietf.org header.i=@ietf.org header.b=ST2GLXQw; dkim=fail (1024-bit key) header.d=ietf.org header.i=@ietf.org header.b=WB29MYBw reason="signature verification failed"; dkim=fail (2048-bit key) header.d=googlemail.com header.i=@googlemail.com header.b=TFxWIYw7 reason="signature verification failed"; arc=none smtp.client-ip=50.223.129.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=dmarc.ietf.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ietf.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ietf.org header.i=@ietf.org header.b="ST2GLXQw"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ietf.org header.i=@ietf.org header.b="WB29MYBw"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=googlemail.com header.i=@googlemail.com header.b="TFxWIYw7" Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 4FD48C180B60 for ; Tue, 1 Oct 2024 12:55:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1727812524; bh=lrCFfRAGUzOmuDvl5ddi7lgMYWGvj4C9taG2t6AYswE=; h=To:References:In-Reply-To:Date:CC:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From; b=ST2GLXQwDAIqHaF7r8L2QgMMPjd0s825FnYevENgrVXFusde5qDTmqsBA7z7+TaNt v/8uGP2kYGxSOHxVErIfmoQqCsQ/2Y7W1uWnvdOM2Dp74oGqBEewwI/LHTBh3cv+OR 6b0iqlPl3S6MSu8Uji2pJcR1ij+u18W4q0SURCXo= Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 26760C1519B6 for ; Tue, 1 Oct 2024 12:55:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1727812524; bh=lrCFfRAGUzOmuDvl5ddi7lgMYWGvj4C9taG2t6AYswE=; h=From:To:References:In-Reply-To:Date:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe; b=WB29MYBwH2y4nSdXXQ8FNtu6V2YR0/x5Oumoa9w6NvC5O0fr33vZ9Fgu6zJyHkwZ4 uFEPu7VEQpJY6ZIjxBiNci0QsjiyyoWWuHZNAKz7LV7QZ7sfiPFurpnoVmU7aUfvJU Stv8iUu6Eay8+KhH1dJ5lozq1gFuX8Zfh4ETaS08= Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1493EC151068 for ; Tue, 1 Oct 2024 12:55:22 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.854 X-Spam-Level: Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=googlemail.com Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b5yi9arXfnMm for ; Tue, 1 Oct 2024 12:55:18 -0700 (PDT) Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C18EFC14F703 for ; Tue, 1 Oct 2024 12:54:33 -0700 (PDT) Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-20b7259be6fso32075145ad.0 for ; Tue, 01 Oct 2024 12:54:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20230601; t=1727812473; x=1728417273; darn=ietf.org; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:in-reply-to:references:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=TuGoJk9ECvqTkdhRfL58HMyKOI+yVlMGcPqLYre0Ahc=; b=TFxWIYw7MBEFjnQre+n5GFIGmrZNq0GU4lQzxhO85MDBe+5jp+u2w1FiqAupnOosy/ B68ozLzIjQWt4LEonoSC54EIAGP6zPbPpc/DDIC8bNLFQyV2zWzK628Wc2o+bSdDqiGd KOinqlnWxQcnd3QbTYWke67P29n3p/a3f6tz8CRVYUtwDJHOduyqxcWFa/lgCAaDtZxN RF1dTjc9xuTk5/+2Bb/eSP7kmw9i9IzlCPvNXn0Wbz7EYMYFIxj3ri0/DwxkKG5nMMei 1UbKgeMzHJ5aW8PAPgx/pXP1TKjje6+XILSQZsfq0lpR4FZd5EWG6TsxpBIzymHFwpyd wUtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727812473; x=1728417273; h=content-language:thread-index:content-transfer-encoding :mime-version:message-id:date:subject:in-reply-to:references:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TuGoJk9ECvqTkdhRfL58HMyKOI+yVlMGcPqLYre0Ahc=; b=AfYTmcFEeZzA++HKEe7vfIk3aEasxVkVoMbH3cn366Rv5CDmrnSIpNcWsg/MKzWB3o fCVcBw8wfANLDwUMeTmuGfUxBCgqqG06K/FSb5G8DQF0aia57Ud8Dm1rQD70x8tXedcU HTeOOBDO9khxnuztgI8QkwMRBUdYzGum1RRVDIcl4AMsFKLuFQ0Ui2v6Xk79PycfjOpu KgJOQVI9Z3Ur1ss7OE7g6pau27B3k/UiOHnrJRSca35LtOAtyuE+VGj3+v3vXgaKMOqH b8kEsYWN5ewtQWlYVtcQXkyyx5WdsY5Gcd0GYXVMIl6Dwm+N+hfiJXnk3cgzstMj7zxP 3CUQ== X-Forwarded-Encrypted: i=1; AJvYcCW4cpTgp83EgAQKbwxr/dbxKUwg1kGooO624sNM8rrPEz9a12vdHMGaU9wD3H+DbdRBKXU=@ietf.org X-Gm-Message-State: AOJu0YxQMq5C3JLFfuko4YFXy98U26LyEbzGC5ODdWbYRC7cYx4Ro1W1 QW2ah32jM2mW66Q9+zJhR3AZ0Pum/UOcDDA90F3tThNj8n7M2u6i X-Google-Smtp-Source: AGHT+IFVhbB/nL9ZYL1sIb+zR/pBa2OyC8tXDQL0EL3nGOyvlR4VqOEyMLN/BUeXrKLcnwyn+SiONw== X-Received: by 2002:a17:903:1103:b0:20b:9078:707b with SMTP id d9443c01a7336-20bc5a10233mr8891435ad.30.1727812473077; Tue, 01 Oct 2024 12:54:33 -0700 (PDT) Received: from ArmidaleLaptop ([2601:600:877f:ae0f:f8cf:32cf:647d:b56e]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-20b37d89297sm73751755ad.71.2024.10.01.12.54.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Oct 2024 12:54:32 -0700 (PDT) X-Google-Original-From: "Dave Thaler" To: "'Yonghong Song'" , "'Alexei Starovoitov'" , References: <20240927033904.2702474-1-yonghong.song@linux.dev> In-Reply-To: Date: Tue, 1 Oct 2024 12:54:27 -0700 Message-ID: <181301db143b$ba6fd9c0$2f4f8d40$@gmail.com> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQKzqMffW8FFfWCd3ulEKsb+gfc3egGOkjXjAfqQ6mmwpNlrgA== Content-Language: en-us Message-ID-Hash: YWEJP3KQ2OXTQKMEEI4H7RCXD5VLGSAU X-Message-ID-Hash: YWEJP3KQ2OXTQKMEEI4H7RCXD5VLGSAU X-MailFrom: dthaler1968@googlemail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: 'bpf' , 'Alexei Starovoitov' , 'Andrii Nakryiko' , 'Daniel Borkmann' , 'Martin KaFai Lau' X-Mailman-Version: 3.3.9rc4 Precedence: list Subject: =?utf-8?q?=5BBpf=5D_Re=3A_=5BPATCH_bpf-next=5D_docs/bpf=3A_Document_some_spe?= =?utf-8?q?cial_sdiv/smod_operations?= Archived-At: List-Archive: List-Help: List-Owner: List-Post: X-Mailman-Copy: yes Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Original-From: Dave Thaler From: Dave Thaler Message-ID: <20241001195427.lpxVT6AUuZshYkMXlLR0jz6pvBept_nf2UEGF8Ec0NA@z> WW9uZ2hvbmcgU29uZyA8eW9uZ2hvbmcuc29uZ0BsaW51eC5kZXY+IHdyb3RlOiANCj4gT24gOS8z MC8yNCA2OjUwIFBNLCBBbGV4ZWkgU3Rhcm92b2l0b3Ygd3JvdGU6DQo+ID4gT24gVGh1LCBTZXAg MjYsIDIwMjQgYXQgODozOeKAr1BNIFlvbmdob25nIFNvbmcgPHlvbmdob25nLnNvbmdAbGludXgu ZGV2Pg0KPiB3cm90ZToNCj4gPj4gUGF0Y2ggWzFdIGZpeGVkIHBvc3NpYmxlIGtlcm5lbCBjcmFz aCBkdWUgdG8gc3BlY2lmaWMgc2Rpdi9zbW9kDQo+ID4+IG9wZXJhdGlvbnMgaW4gYnBmIHByb2dy YW0uIFRoZSBmb2xsb3dpbmcgYXJlIHJlbGF0ZWQgb3BlcmF0aW9ucyBhbmQNCj4gPj4gdGhlIGV4 cGVjdGVkIHJlc3VsdHMgb2YgdGhvc2Ugb3BlcmF0aW9uczoNCj4gPj4gICAgLSBMTE9OR19NSU4v LTEgPSBMTE9OR19NSU4NCj4gPj4gICAgLSBJTlRfTUlOLy0xID0gSU5UX01JTg0KPiA+PiAgICAt IExMT05HX01JTiUtMSA9IDANCj4gPj4gICAgLSBJTlRfTUlOJS0xID0gMA0KPiA+Pg0KPiA+PiBU aG9zZSBvcGVyYXRpb25zIGFyZSByZXBsYWNlZCB3aXRoIGNvZGVzIHdoaWNoIHdvbid0IGNhdXNl IGtlcm5lbA0KPiA+PiBjcmFzaC4gVGhpcyBwYXRjaCBkb2N1bWVudHMgd2hhdCBvcGVyYXRpb25z IG1heSBjYXVzZSBleGNlcHRpb24gYW5kDQo+ID4+IHdoYXQgcmVwbGFjZW1lbnQgb3BlcmF0aW9u cyBhcmUuDQo+ID4+DQo+ID4+ICAgIFsxXQ0KPiA+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9h bGwvMjAyNDA5MTMxNTAzMjYuMTE4Nzc4OC0xLXlvbmdob25nLnNvbmdAbGkNCj4gPj4gbnV4LmRl di8NCj4gPj4NCj4gPj4gU2lnbmVkLW9mZi1ieTogWW9uZ2hvbmcgU29uZyA8eW9uZ2hvbmcuc29u Z0BsaW51eC5kZXY+DQo+ID4+IC0tLQ0KPiA+PiAgIC4uLi9icGYvc3RhbmRhcmRpemF0aW9uL2lu c3RydWN0aW9uLXNldC5yc3QgICB8IDI1ICsrKysrKysrKysrKysrKy0tLS0NCj4gPj4gICAxIGZp bGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gPj4NCj4gPj4g ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYnBmL3N0YW5kYXJkaXphdGlvbi9pbnN0cnVjdGlv bi1zZXQucnN0DQo+ID4+IGIvRG9jdW1lbnRhdGlvbi9icGYvc3RhbmRhcmRpemF0aW9uL2luc3Ry dWN0aW9uLXNldC5yc3QNCj4gPj4gaW5kZXggYWI4MjBkNTY1MDUyLi5kMTUwYzFkN2FkM2IgMTAw NjQ0DQo+ID4+IC0tLSBhL0RvY3VtZW50YXRpb24vYnBmL3N0YW5kYXJkaXphdGlvbi9pbnN0cnVj dGlvbi1zZXQucnN0DQo+ID4+ICsrKyBiL0RvY3VtZW50YXRpb24vYnBmL3N0YW5kYXJkaXphdGlv bi9pbnN0cnVjdGlvbi1zZXQucnN0DQo+ID4+IEBAIC0zNDcsMTEgKzM0NywyNiBAQCByZWdpc3Rl ci4NCj4gPj4gICAgID09PT09ICA9PT09PSAgPT09PT09PQ0KPiA+PiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4+DQo+ID4+ICAg VW5kZXJmbG93IGFuZCBvdmVyZmxvdyBhcmUgYWxsb3dlZCBkdXJpbmcgYXJpdGhtZXRpYyBvcGVy YXRpb25zLA0KPiA+PiBtZWFuaW5nIC10aGUgNjQtYml0IG9yIDMyLWJpdCB2YWx1ZSB3aWxsIHdy YXAuIElmIEJQRiBwcm9ncmFtDQo+ID4+IGV4ZWN1dGlvbiB3b3VsZCAtcmVzdWx0IGluIGRpdmlz aW9uIGJ5IHplcm8sIHRoZSBkZXN0aW5hdGlvbiByZWdpc3RlciBpcyBpbnN0ZWFkIHNldA0KPiB0 byB6ZXJvLg0KPiA+PiAtSWYgZXhlY3V0aW9uIHdvdWxkIHJlc3VsdCBpbiBtb2R1bG8gYnkgemVy bywgZm9yIGBgQUxVNjRgYCB0aGUgdmFsdWUgb2YNCj4gPj4gLXRoZSBkZXN0aW5hdGlvbiByZWdp c3RlciBpcyB1bmNoYW5nZWQgd2hlcmVhcyBmb3IgYGBBTFVgYCB0aGUgdXBwZXINCj4gPj4gLTMy IGJpdHMgb2YgdGhlIGRlc3RpbmF0aW9uIHJlZ2lzdGVyIGFyZSB6ZXJvZWQuDQo+ID4+ICt0aGUg NjQtYml0IG9yIDMyLWJpdCB2YWx1ZSB3aWxsIHdyYXAuIFRoZXJlIGFyZSBhbHNvIGEgZmV3DQo+ ID4+ICthcml0aG1ldGljIG9wZXJhdGlvbnMgd2hpY2ggbWF5IGNhdXNlIGV4Y2VwdGlvbiBmb3Ig Y2VydGFpbg0KPiA+PiArYXJjaGl0ZWN0dXJlcy4gU2luY2UgY3Jhc2hpbmcgdGhlIGtlcm5lbCBp cyBub3QgYW4gb3B0aW9uLCB0aG9zZSBvcGVyYXRpb25zIGFyZQ0KPiByZXBsYWNlZCB3aXRoIGFs dGVybmF0aXZlIG9wZXJhdGlvbnMuDQo+ID4+ICsNCj4gPj4gKy4uIHRhYmxlOjogQXJpdGhtZXRp YyBvcGVyYXRpb25zIHdpdGggcG9zc2libGUgZXhjZXB0aW9ucw0KPiA+PiArDQo+ID4+ICsgID09 PT09ICA9PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA9PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KPiA+PiArICBuYW1lICAgY2xhc3MgICAgICAgb3JpZ2luYWwg ICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VtZW50DQo+ID4+ICsgID09PT09ICA9PT09PT09 PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA9PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KPiA+PiArICBESVYgICAgQUxVNjQvQUxVICAgZHN0IC89IDAgICAgICAgICAgICAg ICAgICAgICAgIGRzdCA9IDANCj4gPj4gKyAgU0RJViAgIEFMVTY0L0FMVSAgIGRzdCBzLz0gMCAg ICAgICAgICAgICAgICAgICAgICBkc3QgPSAwDQo+ID4+ICsgIE1PRCAgICBBTFU2NCAgICAgICBk c3QgJT0gMCAgICAgICAgICAgICAgICAgICAgICAgZHN0ID0gZHN0IChubyByZXBsYWNlbWVudCkN Cj4gPj4gKyAgTU9EICAgIEFMVSAgICAgICAgIGRzdCAlPSAwICAgICAgICAgICAgICAgICAgICAg ICBkc3QgPSAodTMyKWRzdA0KPiA+PiArICBTTU9EICAgQUxVNjQgICAgICAgZHN0IHMlPSAwICAg ICAgICAgICAgICAgICAgICAgIGRzdCA9IGRzdCAobm8gcmVwbGFjZW1lbnQpDQo+ID4+ICsgIFNN T0QgICBBTFUgICAgICAgICBkc3QgcyU9IDAgICAgICAgICAgICAgICAgICAgICAgZHN0ID0gKHUz Milkc3QNCg0KQWxsIG9mIHRoZSBhYm92ZSBhcmUgYWxyZWFkeSBjb3ZlcmVkIGluIGV4aXN0aW5n IFRhYmxlIDUgYW5kIGluIG15IG9waW5pb24NCmRvbid0IG5lZWQgdG8gYmUgcmVwZWF0ZWQuDQoN ClRoYXQgaXMsIHRoZSAib3JpZ2luYWwiIGlzIG5vdCB3aGF0IFRhYmxlIDUgaGFzLCBzbyBqdXN0 IGludHJvZHVjZXMgY29uZnVzaW9uDQppbiB0aGUgZG9jdW1lbnQgaW4gbXkgb3Bpbmlvbi4NCg0K PiA+PiArICBTRElWICAgQUxVNjQgICAgICAgZHN0IHMvPSAtMSAoZHN0ID0gTExPTkdfTUlOKSAg IGRzdCA9IExMT05HX01JTg0KPiA+PiArICBTRElWICAgQUxVICAgICAgICAgZHN0IHMvPSAtMSAo ZHN0ID0gSU5UX01JTikgICAgIGRzdCA9ICh1MzIpSU5UX01JTg0KPiA+PiArICBTTU9EICAgQUxV NjQgICAgICAgZHN0IHMlPSAtMSAoZHN0ID0gTExPTkdfTUlOKSAgIGRzdCA9IDANCj4gPj4gKyAg U01PRCAgIEFMVSAgICAgICAgIGRzdCBzJT0gLTEgKGRzdCA9IElOVF9NSU4pICAgICBkc3QgPSAw DQoNClRoZSBhYm92ZSBmb3VyIGFyZSB0aGUgbmV3IG9uZXMgYW5kIEknZCBwcmVmZXIgYSBzb2x1 dGlvbiB0aGF0IG1vZGlmaWVzDQpleGlzdGluZyB0YWJsZSA1LiAgRS5nLiB0YWJsZSA1IGhhcyBu b3cgZm9yIFNNT0Q6DQoNCmRzdCA9IChzcmMgIT0gMCkgPyAoZHN0IHMlIHNyYykgOiBkc3QNCg0K YW5kIGNvdWxkIGhhdmUgc29tZXRoaW5nIGxpa2UgdGhpczoNCg0KZHN0ID0gKHNyYyA9PSAwKSA/ IGRzdCA6ICgoc3JjID09IC0xICYmIGRzdCA9PSBJTlRfTUlOKSA/IDAgOiAoZHN0IHMlIHNyYykp DQoNCj4gPiBUaGlzIGlzIGEgZ3JlYXQgYWRkaXRpb24gdG8gdGhlIGRvYywgYnV0IHRoaXMgZmls ZSBpcyBjdXJyZW50bHkgYmVpbmcNCj4gPiB1c2VkIGFzIGEgYmFzZSBmb3IgSUVURiBzdGFuZGFy ZCB3aGljaCBpcyBpbiBpdHMgZmluYWwgImVkaXQiIHN0YWdlDQo+ID4gd2hpY2ggbWF5IHJlcXVp cmUgZmV3IHBhdGNoZXMsIHNvIHdlIGNhbm5vdCBsYW5kIGFueSBjaGFuZ2VzIHRvDQo+ID4gaW5z dHJ1Y3Rpb24tc2V0LnJzdCBub3QgcmVsYXRlZCB0byBzdGFuZGFyZGl6YXRpb24gdW50aWwgUkZD IG51bWJlciBpcw0KPiA+IGlzc3VlZCBhbmQgaXQgYmVjb21lcyBpbW11dGFibGUuIEFmdGVyIHRo YXQgdGhlIHNhbWUNCj4gPiBpbnN0cnVjdGlvbi1zZXQucnN0IGZpbGUgY2FuIGJlIHJldXNlZCBm b3IgZnV0dXJlIHJldmlzaW9ucyBvbiB0aGUNCj4gPiBzdGFuZGFyZC4NCj4gPiBIb3BlZnVsbHkg dGhlIGRyYWZ0IHdpbGwgY2xlYXIgdGhlIGZpbmFsIGh1cmRsZSBpbiBhIGNvdXBsZSB3ZWVrcy4N Cj4gPiBVbnRpbCB0aGVuOg0KPiA+IHB3LWJvdDogY3INCj4gDQo+IFN1cmUuIE5vIHByb2JsZW0u IFdpbGwgcmVzdWJtaXQgb25jZSB0aGUgUkZDIG51bWJlciBpcyBpc3N1ZWQuDQoNCkknbSBhZGRp bmcgYnBmQGlldGYub3JnIHRvIHRoZSBUbyBsaW5lIHNpbmNlIGFsbCBjaGFuZ2VzIGluIHRoZSBz dGFuZGFyZGl6YXRpb24NCmRpcmVjdG9yeSBzaG91bGQgaW5jbHVkZSB0aGF0IG1haWxpbmcgbGlz dC4NCg0KVGhlIFdHIHNob3VsZCBkaXNjdXNzIHdoZXRoZXIgYW55IGNoYW5nZXMgc2hvdWxkIGJl IGRvbmUgdmlhIGEgbmV3IFJGQw0KdGhhdCBvYnNvbGV0ZXMgdGhlIGZpcnN0IG9uZSwgb3IgYXMg UkZDcyB0aGF0IFVwZGF0ZSBhbmQganVzdCBkZXNjcmliZSBkZWx0YXMNCihhZGRpdGlvbnMsIGV0 Yy4pLg0KDQpUaGVyZSBhcmUgcHJlY2VkZW50cyBib3RoIHdheXMgYW5kIEkgZG9uJ3QgaGF2ZSBh IHN0cm9uZyBwcmVmZXJlbmNlLCBidXQgSQ0KaGF2ZSBhIHdlYWsgcHJlZmVyZW5jZSBmb3IgZGVs dGEtYmFzZWQgb25lcyBzaW5jZSB0aGV5J3JlIHNob3J0ZXIgYW5kIGFyZQ0KbGVzcyBsaWtlbHkg dG8gcmUtb3BlbiBkaXNjdXNzaW9uIG9uIHByZXZpb3VzbHkgcmVzb2x2ZWQgaXNzdWVzLCB0aHVz IG9mdGVuDQpzYXZpbmcgdGhlIFdHIHRpbWUuDQoNCkFsc28gRllJIHRvIExpbnV4IGtlcm5lbCBm b2xrczoNCldpdGggV0cgYW5kIEFEIGFwcHJvdmFsLCBpdCdzIGFsc28gcG9zc2libGUgKGJ1dCBu b3QgaWRlYWwpIHRvIHRha2UgY2hhbmdlcw0KYXQgQVVUSDQ4LiAgVGhhdCdkIGJlIHVwIHRvIHRo ZSBjaGFpcnMgYW5kIEFEIHRvIGRlY2lkZSB0aG91Z2gsIGFuZCBub3JtYWxseQ0KdGhhdCdzIGp1 c3QgZm9yIHB1cmVseSBlZGl0b3JpYWwgY2xhcmlmaWNhdGlvbnMsIGUuZy4sIHRvIGNvbmZ1c2lv biBjYWxsZWQgb3V0IGJ5IHRoZQ0KUkZDIGVkaXRvciBwYXNzLg0KDQpEYXZlDQoNCi0tIApCcGYg bWFpbGluZyBsaXN0IC0tIGJwZkBpZXRmLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWls IHRvIGJwZi1sZWF2ZUBpZXRmLm9yZwo=