[PATCH v2] cxl: Use fixed width predefined types in data structure.

Subsystems: the rest

STALE3649d

4 messages, 4 authors, 2016-08-09 · open the first message on its own page

[PATCH v2] cxl: Use fixed width predefined types in data structure.

From: Philippe Bergheaud <hidden>
Date: 2016-08-05 12:02:10

This patch fixes a regression introduced by commit b810253.

It substitutes the type __u8 to u8 in the uapi header cxl.h,
because the latter is not always defined in userland build
environments, in particular when cross-compiling libcxl on
x86_64 linux machines (RHEL6.7 and Ubuntu 16.04).

This patch also changes the size of the field data_size, and
makes it constant, to support 32-bit userland applications
running on big-endian ppc64 kernels transparently.

This breaks the (young) API that has been merged in v4.8.

Signed-off-by: Philippe Bergheaud <redacted>
---
Changes since v1:
  Added an explanation for the proposed API change in the log.

Note:
As far as I know, cxlflash is the only known user of the API.

 include/uapi/misc/cxl.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/uapi/misc/cxl.h b/include/uapi/misc/cxl.h
index cbae529..180d526 100644
--- a/include/uapi/misc/cxl.h
+++ b/include/uapi/misc/cxl.h
@@ -136,8 +136,8 @@ struct cxl_event_afu_driver_reserved {
 	 *
 	 * Of course the contents will be ABI, but that's up the AFU driver.
 	 */
-	size_t data_size;
-	u8 data[];
+	__u32 data_size;
+	__u8 data[];
 };
 
 struct cxl_event {
-- 
2.8.0

Re: [PATCH v2] cxl: Use fixed width predefined types in data structure.

From: Frederic Barrat <hidden>
Date: 2016-08-08 14:59:32

Le 05/08/2016 à 14:02, Philippe Bergheaud a écrit :
This patch fixes a regression introduced by commit b810253.

It substitutes the type __u8 to u8 in the uapi header cxl.h,
because the latter is not always defined in userland build
environments, in particular when cross-compiling libcxl on
x86_64 linux machines (RHEL6.7 and Ubuntu 16.04).

This patch also changes the size of the field data_size, and
makes it constant, to support 32-bit userland applications
running on big-endian ppc64 kernels transparently.

This breaks the (young) API that has been merged in v4.8.

Signed-off-by: Philippe Bergheaud <redacted>
---
Changes since v1:
  Added an explanation for the proposed API change in the log.

Note:
As far as I know, cxlflash is the only known user of the API.

Yes, ideally, we'd like to change the type of 'data_size' to something 
smaller/constant and were expecting it's still doable since the API was 
merged to 4.8 and the expected user (cxlflash) hasn't started using the 
API yet.

Reviewed-by: Frederic Barrat <redacted>

   Fred

Re: [PATCH v2] cxl: Use fixed width predefined types in data structure.

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-08-09 00:24:28

Frederic Barrat [off-list ref] writes:
Le 05/08/2016 =C3=A0 14:02, Philippe Bergheaud a =C3=A9crit :
quoted
This patch fixes a regression introduced by commit b810253.

It substitutes the type __u8 to u8 in the uapi header cxl.h,
because the latter is not always defined in userland build
environments, in particular when cross-compiling libcxl on
x86_64 linux machines (RHEL6.7 and Ubuntu 16.04).

This patch also changes the size of the field data_size, and
makes it constant, to support 32-bit userland applications
running on big-endian ppc64 kernels transparently.

This breaks the (young) API that has been merged in v4.8.

Signed-off-by: Philippe Bergheaud <redacted>
---
Changes since v1:
  Added an explanation for the proposed API change in the log.

Note:
As far as I know, cxlflash is the only known user of the API.

Yes, ideally, we'd like to change the type of 'data_size' to something=20
smaller/constant and were expecting it's still doable since the API was=20
merged to 4.8 and the expected user (cxlflash) hasn't started using the=20
API yet.
Yep that's fine, it just needed to be mentioned in the change log.

We don't guarantee that an ABI merged in -rc1 doesn't change in -rc2.
But we do (in general) guarantee that an ABI in a released kernel (ie.
4.8 final), never changes.

cheers

Re: [v2] cxl: Use fixed width predefined types in data structure.

From: Michael Ellerman <hidden>
Date: 2016-08-09 11:26:38

On Fri, 2016-05-08 at 12:02:00 UTC, Philippe Bergheaud wrote:
This patch fixes a regression introduced by commit b810253.

It substitutes the type __u8 to u8 in the uapi header cxl.h,
because the latter is not always defined in userland build
environments, in particular when cross-compiling libcxl on
x86_64 linux machines (RHEL6.7 and Ubuntu 16.04).

This patch also changes the size of the field data_size, and
makes it constant, to support 32-bit userland applications
running on big-endian ppc64 kernels transparently.

This breaks the (young) API that has been merged in v4.8.

Signed-off-by: Philippe Bergheaud <redacted>
Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/cbd74e1bc8129efb9908f130a8

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help