From: Thomas Weißschuh Date: Wed, 14 Jan 2026 07:28:15 +0000 (+0100) Subject: nios2: uapi: Remove custom asm/swab.h from UAPI X-Git-Tag: ceph-for-7.0-rc4~271^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9b21aa9f038184aa49f894e663957933507718d1;p=ceph-client.git nios2: uapi: Remove custom asm/swab.h from UAPI UAPI headers are not supposed to leak references to kconfig symbols. They are undefined there in any case. As all actual definitions of this header are guarded behind a kconfig symbol, for userspace the header is always identical to its asm-generic variant. Make the custom UAPI header a kernel-internal one, so the leaks of kconfig symbols are fixed and userspace will instead use asm-generic/swab.h directly. Suggested-by: Arnd Bergmann Link: https://lore.kernel.org/lkml/93c55086-931a-4282-a94c-de4954047fa9@app.fastmail.com/ Signed-off-by: Thomas Weißschuh Signed-off-by: Arnd Bergmann --- diff --git a/arch/nios2/include/asm/swab.h b/arch/nios2/include/asm/swab.h new file mode 100644 index 000000000000..9750547a5f82 --- /dev/null +++ b/arch/nios2/include/asm/swab.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2012 Tobias Klauser + * Copyright (C) 2011 Pyramid Technical Consultants, Inc. + * + * This file is subject to the terms and conditions of the GNU General + * Public License. See the file COPYING in the main directory of this + * archive for more details. + */ + +#ifndef _ASM_NIOS2_SWAB_H +#define _ASM_NIOS2_SWAB_H + +#include +#include + +#ifdef CONFIG_NIOS2_CI_SWAB_SUPPORT +#ifdef __GNUC__ + +#define __nios2_swab(x) \ + __builtin_custom_ini(CONFIG_NIOS2_CI_SWAB_NO, (x)) + +static inline __attribute__((const)) __u16 __arch_swab16(__u16 x) +{ + return (__u16) __nios2_swab(((__u32) x) << 16); +} +#define __arch_swab16 __arch_swab16 + +static inline __attribute__((const)) __u32 __arch_swab32(__u32 x) +{ + return (__u32) __nios2_swab(x); +} +#define __arch_swab32 __arch_swab32 + +#endif /* __GNUC__ */ +#endif /* CONFIG_NIOS2_CI_SWAB_SUPPORT */ + +#endif /* _ASM_NIOS2_SWAB_H */ diff --git a/arch/nios2/include/uapi/asm/swab.h b/arch/nios2/include/uapi/asm/swab.h deleted file mode 100644 index 9750547a5f82..000000000000 --- a/arch/nios2/include/uapi/asm/swab.h +++ /dev/null @@ -1,38 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -/* - * Copyright (C) 2012 Tobias Klauser - * Copyright (C) 2011 Pyramid Technical Consultants, Inc. - * - * This file is subject to the terms and conditions of the GNU General - * Public License. See the file COPYING in the main directory of this - * archive for more details. - */ - -#ifndef _ASM_NIOS2_SWAB_H -#define _ASM_NIOS2_SWAB_H - -#include -#include - -#ifdef CONFIG_NIOS2_CI_SWAB_SUPPORT -#ifdef __GNUC__ - -#define __nios2_swab(x) \ - __builtin_custom_ini(CONFIG_NIOS2_CI_SWAB_NO, (x)) - -static inline __attribute__((const)) __u16 __arch_swab16(__u16 x) -{ - return (__u16) __nios2_swab(((__u32) x) << 16); -} -#define __arch_swab16 __arch_swab16 - -static inline __attribute__((const)) __u32 __arch_swab32(__u32 x) -{ - return (__u32) __nios2_swab(x); -} -#define __arch_swab32 __arch_swab32 - -#endif /* __GNUC__ */ -#endif /* CONFIG_NIOS2_CI_SWAB_SUPPORT */ - -#endif /* _ASM_NIOS2_SWAB_H */ diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh index 4f03521f4026..613f400a67d1 100755 --- a/scripts/headers_install.sh +++ b/scripts/headers_install.sh @@ -70,8 +70,6 @@ configs=$(sed -e ' # # The format is : in each line. config_leak_ignores=" -arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_NO -arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_SUPPORT arch/x86/include/uapi/asm/auxvec.h:CONFIG_IA32_EMULATION arch/x86/include/uapi/asm/auxvec.h:CONFIG_X86_64 "