From patchwork Fri Feb 2 15:40:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 126735 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp753817ljc; Fri, 2 Feb 2018 07:42:01 -0800 (PST) X-Google-Smtp-Source: AH8x225l7RnZaDwWVMKhualgiGaTRaVWoBwn6Yv+fgQa7uaLk9/1YUDqgpSc1/6J2qLVBLoefBqk X-Received: by 10.98.155.13 with SMTP id r13mr3209659pfd.94.1517586121319; Fri, 02 Feb 2018 07:42:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517586121; cv=none; d=google.com; s=arc-20160816; b=XCsTFBWopTCNXk9SFKyzw7m+qmALNZ5S/iJm9HJPxzTs89WvWZbD0dwvwAjP9jtmbU kzn80VYUpRa/apa2+qYeln8LjZt/t6DrUnxkJB1xmDy6Vu2Swcm90KuOK9aLq3zsS/TP MUouzYkZNVWH3hRbmbbG8In+omoEeKuLlOzx+s2HCfBOu4TkbcmltARl7ddb4QgBVwCy cONSPvMY7C/e5Kv2QsRmDvwekXv+HiDXdF+LPePyPC3hMXXgVayYxTrG8gAb8nYaBpFp VMcHAgkhMprAEmt4FNjJxJJ1mq/24mks0Q1nTaAsaIU8sXhssek6g2g1VXZ4hMQeyj2M 0GJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=wOYry3/reDkNznYD3EyWWs6IsDqD2hkfs/ti6M8gJ1c=; b=KmfCyWaIMkfbWcCxcZOVez4+54Z/q850bam4EMeMoifGzTaiGIHMNYYNjt/hNa5o34 InH78wr/6NBvSPk+1EFhGGyZGoglbto7OTnZBzPBwvHL2z4jNFRe9eqACV2jKch3SeoA oRNpZXPqnBnu/xV6BZBlvDN4AWaYEmP+/R0x5g+mBrE5+FHiFoBsAf52pk/63u+qkUnQ XPkjwlSKWzt4fyLTk3c3FBqNei5R312i0oYaeIkvX39EcUdsXvfXGKGviOnxdqmk1oXE 05B30QHeggyzX4huYNZB0kvpLpfPLgQ0VlLDMig4/XQo8qO1DC9m+X8tK7qMev8LWx00 dElg== 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 y6-v6si2007708plt.467.2018.02.02.07.42.01; Fri, 02 Feb 2018 07:42:01 -0800 (PST) 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 S1752021AbeBBPl7 (ORCPT + 28 others); Fri, 2 Feb 2018 10:41:59 -0500 Received: from mout.kundenserver.de ([212.227.17.10]:53832 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751296AbeBBPlv (ORCPT ); Fri, 2 Feb 2018 10:41:51 -0500 Received: from wuerfel.lan ([95.208.111.237]) by mrelayeu.kundenserver.de (mreue103 [212.227.15.145]) with ESMTPA (Nemesis) id 0LvhpU-1en7d42GJo-017UZw; Fri, 02 Feb 2018 16:41:10 +0100 From: Arnd Bergmann To: Andrew Morton , Arnd Bergmann Cc: Nicolas Pitre , Andi Kleen , Babu Moger , Will Deacon , stable@vger.kernel.org, Peter Zijlstra , Ingo Molnar , Thomas Gleixner , Greg Kroah-Hartman , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] locking/qrwlock: include asm/byteorder.h as needed Date: Fri, 2 Feb 2018 16:40:44 +0100 Message-Id: <20180202154104.1522809-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:TsOBgWWVAzowO3S5IpWgn+9z8V3m3+ACevvCnQgbj5YYHS8FsK5 NrLRnIEwaovjGRBaOyo8Tv2eUu5dpN2SgBe+SArQdZr5iLYSVzdDXpoPFlyT3bSN63ypmHT PaQnMlW8TOFab2/DQMubN+TJyktuNsytcM7YkKKjhQpDpOOnHfI/53A+Y4/iop1jL4SakrM OuWI5MlLME72e3VT+nnrQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:yzwWCRK2mHs=:9RRpdpvGyrR0WJJ3fMte4w bjJ3wcDSbT0X8twqVVXzRR4Cuhiyk7b6oU9bVMY2sSaAmA1hfKbdPuqlp4BCLyX4O/C9mxRp/ 2MGIz3VqOnYsJ+OH8qwDqTQA3BkSJci+fRF2FJ6mhe2xfMgDRONmkeZyTMsSk7RutMdLocCE/ RhG24EZRLGq6/+DgTQ9cJDxyS/h9ZfsXmeOCFUYovg6NAVegv9iPh0UVg0Zex8QgroogXs+2y Mf1Sjq/rb735T9GA0Ob4hxg90Hn18FIV1VvrqV+39XTyplfzyyuJa4fLaXTlORQqGysb/GMso 4e2MM/BH4GKHyG6g38bUzJ/VqFi4aP+ZVkN2hIBi2kUQjroGFyc46JTtSw4jFD7AgxuWupdjO Cz8HL5nDiA4vos1F6uDViYFP8SZVlDy4a9CqgkzMs9t/EZgQuzQxU1MMLI6Kr4A4CAvJgyXOv e4gjfgukXyoRH9dgQuXL+49kYgbPONSd1wRzucOSrzP374wezwR05VziOz6O8lnIvAPG2X+RG x9P46RD5llOxORJVKO3hvUEKD6iY2f6F6SdvbCTkCOUKSz/0fmOIQk3LszipgUrkETFGPoEbv skMQ+q17D9xP2mhb9KrK8T3Ec2z3KoxjB3D+MqK5Wh8L1HI+eGcBnx1YZv9nSRRjjRqEAkDt0 QhumfSFLjbkfuKQNZ0mV0slJe1S3viPvERnZSEoYQEvIVvRmv/Nzcj85IqNaR9z4oXFrQ0YcX Re+nC3tyeBwm4SWH7mGQXzRUzRUyhVs8tk1gpQ== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Moving the qrwlock struct definition into a header file introduced a subtle bug on all little-endian machines, where some files in some configurations would see the fields in an incorrect order. This was found by building with an LTO enabled compiler that warns every time we try to link together files with incompatible data structures. A second patch changes linux/kconfig.h to always define the symbols, but this seems to be the root cause of most of the issues, so I'd suggest we do both. On a current linux-next kernel, I verified that this header is responsible for all type mismatches as a result from the endianess confusion. Cc: stable@vger.kernel.org Cc: Will Deacon Cc: Peter Zijlstra Fixes: e0d02285f16e ("locking/qrwlock: Use 'struct qrwlock' instead of 'struct __qrwlock'") Signed-off-by: Arnd Bergmann --- include/asm-generic/qrwlock_types.h | 1 + 1 file changed, 1 insertion(+) -- 2.9.0 diff --git a/include/asm-generic/qrwlock_types.h b/include/asm-generic/qrwlock_types.h index 137ecdd16daa..c36f1d5a2572 100644 --- a/include/asm-generic/qrwlock_types.h +++ b/include/asm-generic/qrwlock_types.h @@ -3,6 +3,7 @@ #define __ASM_GENERIC_QRWLOCK_TYPES_H #include +#include #include /*