2024-03-07 07:01:49

by Hangbin Liu

[permalink] [raw]
Subject: [PATCH net-next] Doc: netlink: support unterminated-ok

ynl-gen-c.py supports check unterminated-ok, but the yaml schemas don't
have this key. Add this to the yaml files.

Signed-off-by: Hangbin Liu <[email protected]>
---
Documentation/netlink/genetlink-c.yaml | 3 +++
Documentation/netlink/genetlink-legacy.yaml | 3 +++
Documentation/netlink/genetlink.yaml | 3 +++
Documentation/netlink/netlink-raw.yaml | 3 +++
4 files changed, 12 insertions(+)

diff --git a/Documentation/netlink/genetlink-c.yaml b/Documentation/netlink/genetlink-c.yaml
index c58f7153fcf8..7094d619cbb6 100644
--- a/Documentation/netlink/genetlink-c.yaml
+++ b/Documentation/netlink/genetlink-c.yaml
@@ -208,6 +208,9 @@ properties:
exact-len:
description: Exact length for a string or a binary attribute.
$ref: '#/$defs/len-or-define'
+ unterminated-ok:
+ description: Allow the string to not use terminator.
+ type: boolean
sub-type: *attr-type
display-hint: &display-hint
description: |
diff --git a/Documentation/netlink/genetlink-legacy.yaml b/Documentation/netlink/genetlink-legacy.yaml
index 938703088306..aceb72175365 100644
--- a/Documentation/netlink/genetlink-legacy.yaml
+++ b/Documentation/netlink/genetlink-legacy.yaml
@@ -251,6 +251,9 @@ properties:
exact-len:
description: Exact length for a string or a binary attribute.
$ref: '#/$defs/len-or-define'
+ unterminated-ok:
+ description: Allow the string to not use terminator.
+ type: boolean
sub-type: *attr-type
display-hint: *display-hint
# Start genetlink-c
diff --git a/Documentation/netlink/genetlink.yaml b/Documentation/netlink/genetlink.yaml
index 3283bf458ff1..f6d5ea44bf86 100644
--- a/Documentation/netlink/genetlink.yaml
+++ b/Documentation/netlink/genetlink.yaml
@@ -175,6 +175,9 @@ properties:
exact-len:
description: Exact length for a string or a binary attribute.
$ref: '#/$defs/len-or-define'
+ unterminated-ok:
+ description: Allow the string to not use terminator.
+ type: boolean
sub-type: *attr-type
display-hint: &display-hint
description: |
diff --git a/Documentation/netlink/netlink-raw.yaml b/Documentation/netlink/netlink-raw.yaml
index ac4e05415f2f..0e105f21080b 100644
--- a/Documentation/netlink/netlink-raw.yaml
+++ b/Documentation/netlink/netlink-raw.yaml
@@ -270,6 +270,9 @@ properties:
exact-len:
description: Exact length for a string or a binary attribute.
$ref: '#/$defs/len-or-define'
+ unterminated-ok:
+ description: Allow the string to not use terminator.
+ type: boolean
sub-type: *attr-type
display-hint: *display-hint
# Start genetlink-c
--
2.43.0



2024-03-08 04:35:37

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net-next] Doc: netlink: support unterminated-ok

On Thu, 7 Mar 2024 15:01:06 +0800 Hangbin Liu wrote:
> Subject: [PATCH net-next] Doc: netlink: support unterminated-ok

I'd use this subject:

netlink: specs: support unterminated-ok

> ynl-gen-c.py supports check unterminated-ok, but the yaml schemas don't
> have this key. Add this to the yaml files.

> diff --git a/Documentation/netlink/genetlink-c.yaml b/Documentation/netlink/genetlink-c.yaml
> index c58f7153fcf8..7094d619cbb6 100644
> --- a/Documentation/netlink/genetlink-c.yaml
> +++ b/Documentation/netlink/genetlink-c.yaml
> @@ -208,6 +208,9 @@ properties:
> exact-len:
> description: Exact length for a string or a binary attribute.
> $ref: '#/$defs/len-or-define'
> + unterminated-ok:
> + description: Allow the string to not use terminator.
> + type: boolean

Can we expand the doc a little? How about:

description: |
For string attributes, do not check whether attribute
contains the terminating null character.

Also maybe let's leave this out of the spec for:

Documentation/netlink/genetlink.yaml

that spec is supposed to be simplified, supporting both string flavors
just complicates things.