2021-04-13 20:51:09

by Ben Widawsky

[permalink] [raw]
Subject: [PATCH] cxl/mem: Clarify UAPI documentation

Signed-off-by: Ben Widawsky <[email protected]>
---
include/uapi/linux/cxl_mem.h | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h
index f6e8a005b113..8dd516ddb098 100644
--- a/include/uapi/linux/cxl_mem.h
+++ b/include/uapi/linux/cxl_mem.h
@@ -81,6 +81,13 @@ static const struct {
* - @size_in = -1
* - @size_out = 0
*
+ * Commands which have a variable length input likely have a minimum length.
+ * This is not enforced by the UAPI, and therefore might look like the command
+ * succeeded when sending too small of an input payload. Caution should be taken
+ * by checking the @cxl_send_command.retval for such cases. For commands with a
+ * variable length output, the caller is free to consume as little or as much as
+ * they want.
+ *
* See struct cxl_mem_query_commands.
*/
struct cxl_command_info {
--
2.31.1


2021-04-14 15:54:49

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] cxl/mem: Clarify UAPI documentation

On Tue, 13 Apr 2021 07:32:47 -0700
Ben Widawsky <[email protected]> wrote:

> Signed-off-by: Ben Widawsky <[email protected]>

Sensible update.

Acked-by: Jonathan Cameron <[email protected]>

> ---
> include/uapi/linux/cxl_mem.h | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/include/uapi/linux/cxl_mem.h b/include/uapi/linux/cxl_mem.h
> index f6e8a005b113..8dd516ddb098 100644
> --- a/include/uapi/linux/cxl_mem.h
> +++ b/include/uapi/linux/cxl_mem.h
> @@ -81,6 +81,13 @@ static const struct {
> * - @size_in = -1
> * - @size_out = 0
> *
> + * Commands which have a variable length input likely have a minimum length.
> + * This is not enforced by the UAPI, and therefore might look like the command
> + * succeeded when sending too small of an input payload. Caution should be taken
> + * by checking the @cxl_send_command.retval for such cases. For commands with a
> + * variable length output, the caller is free to consume as little or as much as
> + * they want.
> + *
> * See struct cxl_mem_query_commands.
> */
> struct cxl_command_info {