diff mbox

cxl: Use fixed width predefined types in data structure.

Message ID 1470318964-19995-1-git-send-email-felix@linux.vnet.ibm.com (mailing list archive)
State Superseded
Headers show

Commit Message

Philippe Bergheaud Aug. 4, 2016, 1:56 p.m. UTC
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).

It also makes the definition of cxl_event_afu_driver_reserved
more consistent with the other definitions in the header file.

Signed-off-by: Philippe Bergheaud <felix@linux.vnet.ibm.com>
---
 include/uapi/misc/cxl.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

David Laight Aug. 4, 2016, 2:26 p.m. UTC | #1
From: Philippe Bergheaud
> Sent: 04 August 2016 14:56
> 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).
> 
> It also makes the definition of cxl_event_afu_driver_reserved
> more consistent with the other definitions in the header file.
...
> 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[];
>  };

You've just changed 'data_size' from 64bit to 32bit (on 64bit systems).
This isn't mentioned in the commit message and changes the API.

I've NFI what it need to be...

	David
Michael Ellerman Aug. 5, 2016, 7:09 a.m. UTC | #2
David Laight <David.Laight@ACULAB.COM> writes:

> From: Philippe Bergheaud
>> Sent: 04 August 2016 14:56
>> 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).
>> 
>> It also makes the definition of cxl_event_afu_driver_reserved
>> more consistent with the other definitions in the header file.
> ...
>> 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[];
>>  };
>
> You've just changed 'data_size' from 64bit to 32bit (on 64bit systems).
> This isn't mentioned in the commit message and changes the API.

Yeah that's pretty fishy.

In practice I suspect there aren't thousands of users of that API, the
commit is only a month old, so we can probably still change it. But
please call it out in the change log.

cheers
diff mbox

Patch

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 {