Thread (21 messages) flat view 21 messages, 3 authors, 1d ago

Re: [PATCH net-next v2 8/9] netlink: specs: devlink: add pad to the subsets carrying padded u64s

From: netdev-bot+sashiko@kernel.org
Date: 2026-09-16 19:15:31

Thank you for your contribution! Sashiko AI review found 1 potential
issue(s) to consider:

Critical: 0 · High: 0 · Medium: 0 · Low: 1

- [Low] Missing Fixes: tag on a spec change that repairs a real, user-
  visible parsing failure.

--

netlink: specs: devlink: add pad to the subsets carrying padded u64s

This adds the missing pad attribute to several devlink attribute subsets
that carry padded u64 values, and defines pad explicitly in the separate
dl-attr-stats space with value 61.
quoted hunk ↗ jump to hunk
diff --git a/Documentation/netlink/specs/devlink.yaml b/Documentation/netlink/specs/devlink.yaml
index 5535247faf14f..4fb64e71063dc 100644
--- a/Documentation/netlink/specs/devlink.yaml
+++ b/Documentation/netlink/specs/devlink.yaml
@@ -1065,6 +1065,8 @@ attribute-sets:
         name: dpipe-table-resource-id
       -
         name: dpipe-table-resource-units
+      -
+        name: pad
[ ... ]
quoted hunk ↗ jump to hunk
@@ -1343,6 +1353,10 @@ attribute-sets:
       -
         name: stats-rx-dropped
         type: u64
+      -
+        name: pad
+        type: pad
+        value: 61
[Severity: Low]
Should this carry a Fixes: tag?

The commit message describes a real user-visible failure rather than a
cosmetic spec cleanup:

    This would break parsing stats on
    an arch without CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS.

The kernel does emit that attribute type inside these nests:

net/devlink/devl_internal.h:
    static inline int devlink_nl_put_u64(struct sk_buff *msg, int attrtype, u64 val)
    {
            return nla_put_u64_64bit(msg, attrtype, val, DEVLINK_ATTR_PAD);
    }

and this helper feeds the u64s in every nest touched here, e.g.
DEVLINK_ATTR_DPIPE_TABLE_SIZE / _RESOURCE_ID / _RESOURCE_UNITS in
net/devlink/dpipe.c, the resource attributes in net/devlink/resource.c,
DEVLINK_ATTR_REGION_CHUNK_ADDR in net/devlink/region.c, the health reporter
attributes in net/devlink/health.c, and STATS_RX_PACKETS / _BYTES / _DROPPED
inside the DEVLINK_ATTR_STATS nest in net/devlink/trap.c.

On an arch where nla_need_padding_for_64bit() is true, ynl aborts rather
than skipping the unknown attribute, in YnlFamily._decode() of
tools/net/ynl/pyynl/lib/ynl.py:

            try:
                attr_spec = attr_space.attrs_by_val[attr.type]
            except (KeyError, UnboundLocalError) as err:
                if not self.process_unknown:
                    raise YnlException(f"Space '{space}' has no attribute "

Since the defective spec text came in via several different historical
commits (the individual subsets, and separately the dl-attr-stats space),
would it help backporters to name at least the commit that introduced
dl-attr-stats in a Fixes: trailer? Other patches in this series reference
culprit commits only in prose, for example the port function nest patch
mentions 5af3e3876d56 in the body, and nothing here states that leaving out
the trailer is intentional.

-- 
Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260915161341.1053476-1-kuba%40kernel.org
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help