Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2365425imm; Sun, 9 Sep 2018 23:11:10 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYytzhYHBjgzhLadFlhnC09WjF4xnfFdo5woCvj7IM3OvOkkICXc64FhGVsnLZsIDIp8q3/ X-Received: by 2002:a65:6455:: with SMTP id s21-v6mr21159385pgv.25.1536559870057; Sun, 09 Sep 2018 23:11:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536559870; cv=none; d=google.com; s=arc-20160816; b=RJLn0HrLu2pWbUrftArHwDa2jLNb8kJIvkIID4yqIbljrqO6uDuh615xV4P8T4zRf2 RAzr+X0TSo/zHXZCpN+9A7NnkzzwVTwPePhzF26IXZmsknNi3qsgcq8KwSJ4SVWXnYie 3axgjEDKX7BDYN9XFj8yOxiv1SMmLjenKoL9tFYLL3hBvGbFDAMuKQv/Bo/txBFFDXUk bxG7hEzvEevIn36hP1PeccmgwN1VLyy8TBtHLqK2vRiSeOWwkrtUFkQGiYAVwz/bXUUs l2Tmn7TZiTLdt7j7xAy7RByguaZU2ptJDvPglDMwanpU/5QvNbJrryEvm2BRdvGp3uOr vpjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:cc:to:subject:from:message-id; bh=YialMCkAhSN2SPB86ZCXn7j8CMZ/4VKkm1fowXlGK5o=; b=qyp/gL8MQtqsSrpIIxe31oGRLGzLAcUuD1n8qK+QQJiLMsMeAerIHggnOT1DkUl3nx vhk5glW56FU5h3hncZtGVjAGJo/hGEU8OIFRC38eZvnCVoKlgp5CeHLadT23igimlpJq 3aEMxwIRdHX2BQq8xHTQ5iqeiO6mx1BIvfUSCPc2Cq7HYZf4x9WmYOULFpgrrGtltRvF 0Hj0vUdf8joPrEo95q1LPlbNccD86ComQ2hP2zqn1ovKUsQ+pjvANioewW3B/ujKNUoQ UVnFMcbHiHOctq5DhvXI+3xgnUKlsKLd28gzgY/kRDJcGfYR2z9wJVkUGgpaV5xf2ScK vVdQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v71-v6si15656693pgd.601.2018.09.09.23.10.54; Sun, 09 Sep 2018 23:11:10 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727655AbeIJLB2 (ORCPT + 99 others); Mon, 10 Sep 2018 07:01:28 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:64370 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726185AbeIJLB2 (ORCPT ); Mon, 10 Sep 2018 07:01:28 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 427yKh65RCz9ttC6; Mon, 10 Sep 2018 08:08:56 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id ykOD0Hv_CX6p; Mon, 10 Sep 2018 08:08:56 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 427yKh5NfGz9ttC1; Mon, 10 Sep 2018 08:08:56 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 1F0D28B786; Mon, 10 Sep 2018 08:09:05 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id HZo1TpesSKTh; Mon, 10 Sep 2018 08:09:05 +0200 (CEST) Received: from pc16082vm.idsi0.si.c-s.fr (po15451.idsi0.si.c-s.fr [172.25.231.3]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 002618B74B; Mon, 10 Sep 2018 08:09:04 +0200 (CEST) Received: by pc16082vm.idsi0.si.c-s.fr (Postfix, from userid 0) id DD365715BA; Mon, 10 Sep 2018 06:09:04 +0000 (UTC) Message-Id: <3c4cddf185438cc7200908b4f971a8e6ed7472fd.1536558233.git.christophe.leroy@c-s.fr> From: Christophe Leroy Subject: [PATCH] powerpc: fix csum_ipv6_magic() on little endian platforms To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Jianlin Shi , Xin Long Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, stable@vger.kernel.org Date: Mon, 10 Sep 2018 06:09:04 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On little endian platforms, csum_ipv6_magic() keeps len and proto in CPU byte order. This generates a bad results leading to ICMPv6 packets from other hosts being dropped by powerpc64le platforms. In order to fix this, len and proto should be converted to network byte order ie bigendian byte order. However checksumming 0x12345678 and 0x56341278 provide the exact same result so it is enough to rotate the sum of len and proto by 1 byte. PPC32 only support bigendian so the fix is needed for PPC64 only Fixes: e9c4943a107b ("powerpc: Implement csum_ipv6_magic in assembly") Reported-by: Jianlin Shi Reported-by: Xin Long Cc: # 4.18+ Signed-off-by: Christophe Leroy --- arch/powerpc/lib/checksum_64.S | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/powerpc/lib/checksum_64.S b/arch/powerpc/lib/checksum_64.S index 886ed94b9c13..2a68c43e13f5 100644 --- a/arch/powerpc/lib/checksum_64.S +++ b/arch/powerpc/lib/checksum_64.S @@ -443,6 +443,9 @@ _GLOBAL(csum_ipv6_magic) addc r0, r8, r9 ld r10, 0(r4) ld r11, 8(r4) +#ifndef CONFIG_CPU_BIG_ENDIAN + rotldi r5, r5, 8 +#endif adde r0, r0, r10 add r5, r5, r7 adde r0, r0, r11 -- 2.13.3