Received: by 2002:a05:7412:f690:b0:e2:908c:2ebd with SMTP id ej16csp149836rdb; Wed, 18 Oct 2023 23:14:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFtXSYx3bs/orQXu8HdGdkIvFtkkACxYIxEfxDWZkYkzD4Dgml4RbQy8QcSOl/RtZs7h9wx X-Received: by 2002:a05:6a00:28c7:b0:6b4:64ac:eab2 with SMTP id ci7-20020a056a0028c700b006b464aceab2mr1478073pfb.1.1697696082697; Wed, 18 Oct 2023 23:14:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697696082; cv=none; d=google.com; s=arc-20160816; b=YNfua8b+jJ8EOT38xMbJj1j2UgMFe0MVLvN7fAXAjQGMjJX89zjhLPeDNPnCvEsEX7 vT6Nds8ce5iw/1YEUxH47kVRrayjpiqY2z9GhhGGC+jyUSC5LgVbeNOLXHasEDYHGWD6 UbPQVDzVjHvYXn98FH7XGjS1iCtuwtpdUq+XjPMljzJWt1kJPkeyGk6r2IjF59hrLEHN 56WBwDkNNQL6aCw0DODAtEGO5SJG3vZ1I7s8IsTl7NTS9H6RcRr+p4tAP2fxfODm90v7 gdwhmFgPxKxjd1TdqaVkFfFpOLPnhxhkENdA85KB4DW456rAZJx9CgpE/p/8Ge2lwD+p IbDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=FsnePBghqO3tkfqMRARy7A6haZ3KodYua8YFPKFKu8Q=; fh=TQ1W+5j5FdFKSUzt5YSh8roa6l4laRqj2nPCHAHGSkA=; b=fAevemvA9e7iKgENP/SqNbZWFdRjiKA8mNfdgYvx/ILlY2UKaPJCNGttMOp7F6Fvxl /g6vSM7XUm0vrbU3BIOAIgNTujNKSNDWlrpQBGKX7mWVWQoP2G3y1BfWk4/LG4Qj/Iza UHAi/kn6Clp+J52E2x+WEW7YyRl9mAogpuNzIAMovf7454GjXpz/xCYiTxUwqWco1XNJ uPUj9cgOd0j0aPjnS6BuIImAs2JuM7zRhdUE+Kc5zO3EOY7pCgAeWr2Ow/zylO+6n2iH OIFFjc0KMvmp02xuP3kMAv946W+I5gxw4ymYFCLzlIFGdm3alyWVwqjhMEEPiqhe0/rA 2brw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.org.uk header.s=zeniv-20220401 header.b=CXhLhePP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zeniv.linux.org.uk Return-Path: Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id x12-20020aa7956c000000b0068a692b67b0si5367033pfq.104.2023.10.18.23.14.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Oct 2023 23:14:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.org.uk header.s=zeniv-20220401 header.b=CXhLhePP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zeniv.linux.org.uk Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 8748E8135516; Wed, 18 Oct 2023 23:14:40 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232383AbjJSGOe (ORCPT + 99 others); Thu, 19 Oct 2023 02:14:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229894AbjJSGOd (ORCPT ); Thu, 19 Oct 2023 02:14:33 -0400 Received: from zeniv.linux.org.uk (zeniv.linux.org.uk [IPv6:2a03:a000:7:0:5054:ff:fe1c:15ff]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EDEDB112 for ; Wed, 18 Oct 2023 23:14:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=FsnePBghqO3tkfqMRARy7A6haZ3KodYua8YFPKFKu8Q=; b=CXhLhePPygSEVKgjWVrVTG0kiT OsCC14hmm/sJUuc+PC1MzQ8nmU2AdbUcvhylu+jwYLT9BqpgvUBV1qu3qHlPIauq8hBF7yr7EJHOl aoaevoAcDpx06uGvo1g5hf0ISWhTDcI1H/0s0KY7XLwB9sgJ1RcxNR6psToT0lZEbtpSvDfphbJDx w8dzGI9dYDxVhqBtV9c0ptxaZOIH2QlPrj2BVnNDNNDXTNOLo5UCzwb2NwgLe12eWacL8JD6qo0g7 +FSP5hNNo1XfP+gOWaowwe9plE/b0gle8HaiZttVDaX4FSyuui9o4pGJWkPsbqIIv5R8MwRdh12UE 6UBz9SNQ==; Received: from viro by zeniv.linux.org.uk with local (Exim 4.96 #2 (Red Hat Linux)) id 1qtMId-002fOo-0u; Thu, 19 Oct 2023 06:14:27 +0000 Date: Thu, 19 Oct 2023 07:14:27 +0100 From: Al Viro To: gus Gusenleitner Klaus Cc: Al Viro , Thomas Gleixner , lkml , Ingo Molnar , "bp@alien8.de" , "dave.hansen@linux.intel.com" , "x86@kernel.org" , "David S. Miller" , "dsahern@kernel.org" , "edumazet@google.com" , "kuba@kernel.org" , Paolo Abeni Subject: Re: AW: [PATCH] amd64: Fix csum_partial_copy_generic() Message-ID: <20231019061427.GW800259@ZenIV> References: <20231018154205.GT800259@ZenIV> <20231019050250.GV800259@ZenIV> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231019050250.GV800259@ZenIV> Sender: Al Viro X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Wed, 18 Oct 2023 23:14:40 -0700 (PDT) On Thu, Oct 19, 2023 at 06:02:50AM +0100, Al Viro wrote: > On Thu, Oct 19, 2023 at 04:44:04AM +0000, gus Gusenleitner Klaus wrote: > > > On Wed, Oct 18, 2023 at 06:18:05AM +0000, gus Gusenleitner Klaus wrote: > > > > The checksum calculation is wrong in case of an source buffer > > > > containing zero bytes only. The expected return value is 0, the > > > > actual return value is 0xfffffff. > > > > > > Expected where? The actual checksum is defined modulo 0xffff, so > > > 0 and 0xffffffff represent the same final value. > > > > > > The only twist is that in some situations we internally use 0 for > > > "not calculated yet". > > > > > > > This problem occurs when a ICMP echo reply is sent that has set > > > > zero identifier, sequence number and data. > > > > > > What problem? Could you please either point to specific RFC or > > > show that packets are rejected by some existing system, or...? > > > > Here's our situation: > > Our device gets pinged by a third party manufacturer robot controller. > > We have updated the kernel in our device to 5.15 from 4.9, the robot > > controller is kept unchanged. At 4.9, our device's ping reply is accepted > > by the robot controller, at 5.15 it's not. > > > > Wireshark shows a bad checksum warning: > > 'Checksum: 0x0000 incorrect, should be 0xffff' > > > > Lovely. I think I see what's going on, give me a few to think about it... The real source of trouble was switching csum_and_copy_{to,from}_user() to reporting faults as 0. And yes, it's broken. Bugger...