From patchwork Mon May 9 08:09:18 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Talat Batheesh X-Patchwork-Id: 619885 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3r3Mc721V1z9sdm; Mon, 9 May 2016 22:47:51 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b=TwN3Luhk; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1azkb4-0001Be-Pf; Mon, 09 May 2016 12:47:38 +0000 Received: from mail-ve1eur01on0061.outbound.protection.outlook.com ([104.47.1.61] helo=EUR01-VE1-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1azgG3-00078h-MV for kernel-team@lists.ubuntu.com; Mon, 09 May 2016 08:09:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=5Xcf70TgKeSzCAbrxFDR5choKgYEmfyinwdfMCm74dA=; b=TwN3LuhkNVxzJNRB+8YpbtWbzZ3V9XRCnP+SdOpTeGaCtie92NEjP+nnE5t+yhomnfbIG7J85DRQnFQfFE3bzlTT/62Ky7CxjDjxKoGbCNWVt6lnwli4grbE2xGujOOMGij7HO56401B8zfHG6h17OO+PSm7i9K4ppf9kESxZY0= Authentication-Results: lists.ubuntu.com; dkim=none (message not signed) header.d=none;lists.ubuntu.com; dmarc=none action=none header.from=mellanox.com; Received: from dev-h-vrt-005.mth.labs.mlnx (193.47.165.251) by VI1PR05MB1309.eurprd05.prod.outlook.com (10.162.122.150) with Microsoft SMTP Server (TLS) id 15.1.492.11; Mon, 9 May 2016 08:09:37 +0000 From: Talat Batheesh To: Subject: [PATCH] [xenial] [PATCH] (upstream) net/mlx4_en: Fix endianness bug in IPV6 csum calculation Date: Mon, 9 May 2016 11:09:18 +0300 Message-ID: <1462781358-22163-1-git-send-email-talatb@mellanox.com> X-Mailer: git-send-email 2.5.0 MIME-Version: 1.0 X-Originating-IP: [193.47.165.251] X-ClientProxiedBy: AM3PR01CA042.eurprd01.prod.exchangelabs.com (10.141.191.32) To VI1PR05MB1309.eurprd05.prod.outlook.com (10.162.122.150) X-MS-Office365-Filtering-Correlation-Id: 2537f503-fa82-4e40-6e07-08d377e143b5 X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1309; 2:Uaof68KLEdm9ufdsZ5NEzGHKA8dfSFsz3CTHMkHfL1M2IeC8A50HdAIL0LTN0yTjYE3fU/8nj+uZtTXWzsF+HCCpwgMg9NTXxu02OnmVXkRS/2i3gekRzWwAUcL7RjZJg3Xt/mfxzsc7uthTRNUiOjdM8/OwfIrlxlEQdAzS0bpRwFSunUT/uSOif9kCepvw; 3:hB+st+D37/kkb7AEZq8AwqviOiUmXAQTSfJ1GILv34b0e91Eh18s1MS5JXGvhUcRxB7G2WN4xtofnWKF5hrplC780Yd/URUkfOWnbb7bllrXAl2eMUc5LQDpSzsZgY+n; 25:/9H2X//kWfkcP3WMi0hzs1r5sDMydhE0Fw4QcAGPjWHthv1nDwvRQYZUjI+W5hDuGhMkXXvDmMe4eq2RVncxu7XvrlHQfHTWSSsfLRsvYyxg3ir4NYkm/NOxLasX9vx1Dnr79ZUCCXiYZuq0UsRpPJhIbDYu+Gk2v9Ck8GblCavO5GxDxgr7FZUpTdYlnXG9ukQ9i7/gQXOlj2zI0XZ1vQHnaok6mG/CaDXU8zQmOO06jGVJR5bdjqehnM8jYYfow905dwDD577y+0uz+n12+OatCag16hO9yppXrCMyUYwdq3l0V4j44PMlH1ErVr1nr2LJgedU0yTXHQENKVBNirtoarmtRUeWN2R27YvSdOcPOi9YYXlBjAmxPkp4FJlaGdSVRiWRpUmpmQKguMfDa+b9nCVjcWMvqjgjC2Q5/l7AoUedNKZAakCQr49arOHX X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR05MB1309; X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1309; 20:WaYqXvG4/ub0rRAaQIQe4DZYtBtkLVUxzZoirpvWkxZoODPzL0EMD5bAehR/I/E0fEiJRaiyBBJF2oFxvTltCzeP0ZkgIUhILyp8UzyerHTNc++cTWLLAMyPRQxFE8aEEMP4O8ZKWF4VNV0tmVEb0h3ro7Taa4TIk23b66NO7etbrZz81fS00UOYGo0DX1AceVtgggfkJntGl0tojQ+3r15UbHTi78b9XvZlu7t4ro/HZoq1kNJpPFfZHHd5sEwmLwujO5jZkX3NBPf6tzUWgI+mn+53wmW0TfrFAaBpT8InJYoexAYPfOgOU2aKBPLyiF7l33EnbPFUvH1KEhxx0RFK+IUgjw5Fr60mfhmiFVy0GdKLX0qaAanDyCqSeWMXTh5h561pU0K122cvqlaTyM8O6ZzWdhqLDbIPybW9k0W7oL1LpdN7SpDWAbVn1q4Wt6Q0JuTwx8GFO07nOHlwrHfrr34ZcbZ9OmtzhuQq4grKcG+WeFHvCFeGanDIXgNs; 4:w6Z9R+N0U9YEfpZbX9g5fUxZlfTx37MNTE/JvMpKhJaQlfYefcHX4DQw122bEsMwmHGGlAgFpsXvIeCZhFij1QnDlVb8kQ3m7aj83GRCNWJcGrcMpbILZFlvETT/OGDC0yZXwA0gK6zmZAUcyJ7XLLqAdQYbkbApStPHdcsOe40/fxTOfewwG8j1kHshZ2RIdSDgGLhp3UiT1ZvFKvANHfitHwm6d524G8X1vEjBY7SLnV/cBV5N0I2ap0PcaTKhNd0dbx2mm3mEIrk60gVVn0+L3n6YGPX0U4qKVgNeuxCjP4tKRm0iT5DrGw3Cf8p0K9zmdZBwbszMfZIvhKu6JC5rgzG9Iv6ioqd5yCmYeUvPAQ+tUBGk9zbxv7QagInhmsqVvBha1+znDBKR/O8wnA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:VI1PR05MB1309; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB1309; X-Forefront-PRVS: 0937FB07C5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(9170700001)(15975445007)(42186005)(77096005)(4001430100002)(50986999)(19580405001)(450100001)(66066001)(19580395003)(81166005)(2906002)(50226002)(86362001)(92566002)(36756003)(189998001)(586003)(3846002)(4326007)(47776003)(110136002)(6116002)(107886002)(229853001)(2351001)(33646002)(5003940100001)(48376002)(50466002)(5008740100001)(5004730100002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1309; H:dev-h-vrt-005.mth.labs.mlnx; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1309; 23:lmRRNPKJwIqvjE7uGn1JFDUL924Xlmjt0tW9kDWSLvVyaOgN1rCkZy7wPYDAnSvQ6mXEGoo7ConWEnJjrYFhThpcEqabV1uoQl+xHDBLLQpjSxfVmrD+xaepYcKC9C0GXoaWq8QN2uE6zi6hHZU3I01hGLR69iYE+IeDFhNhXbgOWenTpCoKgmUD0b4Mdw7m0GizqrwtsaUve0K3I3729Us43YK0QyOzHPw/FAo6f+rcP3xUwjRrSPdgepbUMD4Jab4/jgYHeZz3fu5mOouNB/beJ6SnvLFDMjSCbw2R1sbitPydOD8MFNSLrvzCSwfr+//RbVvyRZjA+ky5Z8W0nrjKUQwrXYPdUII7HLhqWhkUSN+bgYIk+0NnIq20En5nA86AhDBUqhjik+kHUTPzcam+tQ+ibT67g+RK0cH9XgLZj2PqbmY+6KnCCUp1WxV+b8T6rOho/tRzdgqg2YDf2r1AEJD3EfVn/vsKUS2iq2cW5ev3zBWjFkb7IiKNWFYki+5v2q8mC2tTP0tIfLDMM6RhUJwK6tfVQNeYG2CTFV4MRiqIVUppfxarm9hYNJQD55JrS83umRm3u5HQi/7xs0L0tvBoRKGsj544S/aOL3uYOtvJowZ95Kjrx1RbTlBLuQbs0pTGNShBz4lU8byAdQdjkzRqttOv+ZVuk9756cfn0XBjT2G9P1ZkatgK6mpGg5LaFz+MfZd+snfvXETfGhesE/Vxbs8CvMLsglV3+vFD0NsE89s4WwdUfozGHX7rLxjXPwIdNZWdZ+c7VaTpJUyAScRykwDEdhXWtlioZCVGIs+5rJdtYDC0wapPTYqtYnJuixE++xEvJkIP5blI3BtJHLTcPhOfDfkdnF/Iu4MADRde+jWuW188/07pUw2Yk56kDz1G+uX0q5P/xsIINx4kDljHBxBly7m6EcJHooo/CYGdLIwwRcPMKveGPs5h X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB1309; 5:+kKyoqOvdZ2dFUO4ZP4kL7ZfwqJpdW9PQc4HyS53p5O9ZU974iymapiDjpsoHjo517aw2UVLgXD59f6BWiz8ujsQfwOlHVKpw41JBn0Ibe1hoB/Kg8JTZaN7Cq10N8imgKzG4couZdDFzv7ds9iOpg==; 24:01D003XAiNowGfrYY5jtEG5txNNwez0DL71GmW/nZxskpcQw4gQ/bPXojT0YZzR4fQQBFcAGq6FqOxzVGSRjdSf8y2qdxdtJtBRSVNrxkRU=; 7:/6J6069SEPAonRFQq6hJQl9GbMCFsiX5EavvXBb90pGV1If2dMOg4wFtARQlhW0NVdL5VBSEqeUnKXBT0R3oKDB4ex24USowjTtJAZeZBtxWkFbE9zeebzbPFjo6Q8B3MZVDAIDevcjFMxOa5H/Cu0cFdpGUhDGdQFtcIF6vRao= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 May 2016 08:09:37.2932 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1309 X-Mailman-Approved-At: Mon, 09 May 2016 12:47:36 +0000 Cc: shanim@mellanox.com X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Daniel Jurgens BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1544978 Use htons instead of unconditionally byte swapping nexthdr. On a little endian systems shifting the byte is correct behavior, but it results in incorrect csums on big endian architectures. Fixes: f8c6455bb04b ('net/mlx4_en: Extend checksum offloading by CHECKSUM COMPLETE') Signed-off-by: Daniel Jurgens Reviewed-by: Carol Soto Tested-by: Carol Soto Signed-off-by: Tariq Toukan Signed-off-by: David S. Miller (cherry picked from commit 82d69203df634b4dfa765c94f60ce9482bcc44d6) Signed-off-by: Talat Batheesh --- drivers/net/ethernet/mellanox/mlx4/en_rx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index e7a5000..bbff8ec 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -704,7 +704,7 @@ static int get_fixed_ipv6_csum(__wsum hw_checksum, struct sk_buff *skb, if (ipv6h->nexthdr == IPPROTO_FRAGMENT || ipv6h->nexthdr == IPPROTO_HOPOPTS) return -1; - hw_checksum = csum_add(hw_checksum, (__force __wsum)(ipv6h->nexthdr << 8)); + hw_checksum = csum_add(hw_checksum, (__force __wsum)htons(ipv6h->nexthdr)); csum_pseudo_hdr = csum_partial(&ipv6h->saddr, sizeof(ipv6h->saddr) + sizeof(ipv6h->daddr), 0);