Skip to content

Commit

Permalink
tools: ynl-gen: Allow multi-attr without nested-attributes again
Browse files Browse the repository at this point in the history
Since commit ce6cb81 ("tools: ynl-gen: individually free previous
values on double set"), specifying the "multi-attr" property raises an
error unless the "nested-attributes" property is specified as well:

  File "tools/net/ynl/./pyynl/ynl_gen_c.py", line 1147, in _load_nested_sets
    child = self.pure_nested_structs.get(nested)
                                         ^^^^^^
  UnboundLocalError: cannot access local variable 'nested' where it is not associated with a value

This appears to be a bug since there are existing specs which omit
"nested-attributes" on "multi-attr" attributes.  Also, according to
Documentation/userspace-api/netlink/specs.rst, multi-attr "is the
recommended way of implementing arrays (no extra nesting)", suggesting
that nesting should even be avoided in favor of multi-attr.

Fix the indentation of the if-block introduced by the commit to avoid
the error.

Fixes: ce6cb81 ("tools: ynl-gen: individually free previous values on double set")
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Link: https://patch.msgid.link/d6b58684b7e5bfb628f7313e6893d0097904e1d1.1746940107.git.lukas@wunner.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Lukas Wunner authored and Jakub Kicinski committed May 13, 2025
1 parent 4227ea9 commit 396786a
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions tools/net/ynl/pyynl/ynl_gen_c.py
Original file line number Diff line number Diff line change
Expand Up @@ -1143,10 +1143,9 @@ def _load_nested_sets(self):
self.pure_nested_structs[nested].request = True
if attr in rs_members['reply']:
self.pure_nested_structs[nested].reply = True

if spec.is_multi_val():
child = self.pure_nested_structs.get(nested)
child.in_multi_val = True
if spec.is_multi_val():
child = self.pure_nested_structs.get(nested)
child.in_multi_val = True

self._sort_pure_types()

Expand Down

0 comments on commit 396786a

Please sign in to comment.