2019-06-04 08:31:28

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH] s390: fix unrecognized __aligned() in uapi header

__aligned() is a shorthand that is only available in the kernel space
because it is defined in include/linux/compiler_attributes.h, which is
not exported to the user space.

Detected by compile-testing exported headers.

./usr/include/asm/runtime_instr.h:60:37: error: expected declaration specifiers or ‘...’ before numeric constant
} __attribute__((packed)) __aligned(8);
^

Signed-off-by: Masahiro Yamada <[email protected]>
---

arch/s390/include/uapi/asm/runtime_instr.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/s390/include/uapi/asm/runtime_instr.h b/arch/s390/include/uapi/asm/runtime_instr.h
index 45c9ec984e6b..455da46e3193 100644
--- a/arch/s390/include/uapi/asm/runtime_instr.h
+++ b/arch/s390/include/uapi/asm/runtime_instr.h
@@ -57,7 +57,7 @@ struct runtime_instr_cb {
__u64 sf;
__u64 rsic;
__u64 reserved8;
-} __packed __aligned(8);
+} __attribute__((__packed__, __aligned__(8)));

static inline void load_runtime_instr_cb(struct runtime_instr_cb *cb)
{
--
2.17.1


2019-06-04 14:56:44

by Heiko Carstens

[permalink] [raw]
Subject: Re: [PATCH] s390: fix unrecognized __aligned() in uapi header

On Tue, Jun 04, 2019 at 05:29:47PM +0900, Masahiro Yamada wrote:
> __aligned() is a shorthand that is only available in the kernel space
> because it is defined in include/linux/compiler_attributes.h, which is
> not exported to the user space.
>
> Detected by compile-testing exported headers.
>
> ./usr/include/asm/runtime_instr.h:60:37: error: expected declaration specifiers or ‘...’ before numeric constant
> } __attribute__((packed)) __aligned(8);
> ^
>
> Signed-off-by: Masahiro Yamada <[email protected]>
> ---
>
> arch/s390/include/uapi/asm/runtime_instr.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.