From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 B5CA08494 for ; Thu, 5 Jan 2023 13:04:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F1DB3C433D2; Thu, 5 Jan 2023 13:04:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1672923867; bh=5fp7Buz/75yT4gm8YZ1l53804tnaOAUwxdbwifocroM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iIyxO3hr5kE/okc10SUaoLIBmg9ekgkXmo/mkwPbtsbESxICQwVhWBjyuro03dchR 79vSi4+GbbM49ixoy452eVJM8l1V2KjvU8fZ4C356FTcm1CVpApccdkIRqld3XbFxN bTFgHZXMagj1uIwiJKXf8s9Ql3DEMroYIaX3Sn7c= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Matt Redfearn , Florian Fainelli , Arnd Bergmann , Nathan Chancellor , =?UTF-8?q?Petr=20Van=C4=9Bk?= , Sasha Levin Subject: [PATCH 4.9 157/251] include/uapi/linux/swab: Fix potentially missing __always_inline Date: Thu, 5 Jan 2023 13:54:54 +0100 Message-Id: <20230105125342.018756934@linuxfoundation.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230105125334.727282894@linuxfoundation.org> References: <20230105125334.727282894@linuxfoundation.org> User-Agent: quilt/0.67 Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Matt Redfearn [ Upstream commit defbab270d45e32b068e7e73c3567232d745c60f ] Commit bc27fb68aaad ("include/uapi/linux/byteorder, swab: force inlining of some byteswap operations") added __always_inline to swab functions and commit 283d75737837 ("uapi/linux/stddef.h: Provide __always_inline to userspace headers") added a definition of __always_inline for use in exported headers when the kernel's compiler.h is not available. However, since swab.h does not include stddef.h, if the header soup does not indirectly include it, the definition of __always_inline is missing, resulting in a compilation failure, which was observed compiling the perf tool using exported headers containing this commit: In file included from /usr/include/linux/byteorder/little_endian.h:12:0, from /usr/include/asm/byteorder.h:14, from tools/include/uapi/linux/perf_event.h:20, from perf.h:8, from builtin-bench.c:18: /usr/include/linux/swab.h:160:8: error: unknown type name `__always_inline' static __always_inline __u16 __swab16p(const __u16 *p) Fix this by replacing the inclusion of linux/compiler.h with linux/stddef.h to ensure that we pick up that definition if required, without relying on it's indirect inclusion. compiler.h is then included indirectly, via stddef.h. Fixes: 283d75737837 ("uapi/linux/stddef.h: Provide __always_inline to userspace headers") Signed-off-by: Matt Redfearn Signed-off-by: Florian Fainelli Signed-off-by: Arnd Bergmann Tested-by: Nathan Chancellor Reviewed-by: Petr Vaněk Signed-off-by: Arnd Bergmann Signed-off-by: Sasha Levin --- include/uapi/linux/swab.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h index 51502eabdb05..0915a8781eae 100644 --- a/include/uapi/linux/swab.h +++ b/include/uapi/linux/swab.h @@ -2,7 +2,7 @@ #define _UAPI_LINUX_SWAB_H #include -#include +#include #include #include -- 2.35.1