diff options
author | Nathan Lynch <nathanl@linux.ibm.com> | 2024-02-03 01:26:46 +0100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2024-02-05 07:01:25 +0100 |
commit | 8ded03ae48b3657e0fbca99d8a9d8fa1bfb8c9be (patch) | |
tree | 6955c0157b2b81c717f4f033443691820af05319 | |
parent | Linux 6.8-rc2 (diff) | |
download | linux-8ded03ae48b3657e0fbca99d8a9d8fa1bfb8c9be.tar.xz linux-8ded03ae48b3657e0fbca99d8a9d8fa1bfb8c9be.zip |
powerpc/pseries/papr-sysparm: use u8 arrays for payloads
Some PAPR system parameter values are formatted by firmware as
nul-terminated strings (e.g. LPAR name, shared processor attributes).
But the values returned for other parameters, such as processor module
info and TLB block invalidate characteristics, are binary data with
parameter-specific layouts. So char[] isn't the appropriate type for
the general case. Use u8/__u8.
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Fixes: 905b9e48786e ("powerpc/pseries/papr-sysparm: Expose character device to user space")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240202-papr-sysparm-ioblock-data-use-u8-v1-1-f5c6c89f65ec@linux.ibm.com
-rw-r--r-- | arch/powerpc/include/asm/papr-sysparm.h | 2 | ||||
-rw-r--r-- | arch/powerpc/include/uapi/asm/papr-sysparm.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/papr-sysparm.h b/arch/powerpc/include/asm/papr-sysparm.h index 0dbbff59101d..c3cd5b131033 100644 --- a/arch/powerpc/include/asm/papr-sysparm.h +++ b/arch/powerpc/include/asm/papr-sysparm.h @@ -32,7 +32,7 @@ typedef struct { */ struct papr_sysparm_buf { __be16 len; - char val[PAPR_SYSPARM_MAX_OUTPUT]; + u8 val[PAPR_SYSPARM_MAX_OUTPUT]; }; struct papr_sysparm_buf *papr_sysparm_buf_alloc(void); diff --git a/arch/powerpc/include/uapi/asm/papr-sysparm.h b/arch/powerpc/include/uapi/asm/papr-sysparm.h index 9f9a0f267ea5..f733467b1534 100644 --- a/arch/powerpc/include/uapi/asm/papr-sysparm.h +++ b/arch/powerpc/include/uapi/asm/papr-sysparm.h @@ -14,7 +14,7 @@ enum { struct papr_sysparm_io_block { __u32 parameter; __u16 length; - char data[PAPR_SYSPARM_MAX_OUTPUT]; + __u8 data[PAPR_SYSPARM_MAX_OUTPUT]; }; /** |