Re: [PATCH net-next 8/8] netlink: specs: devlink: add pad to the subsets carrying padded u64s
From: netdev-bot+sashiko@kernel.org
Date: 2026-09-11 20:11:21
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 patch that repairs a concrete, user- visible parsing failure. -- netlink: specs: devlink: add pad to the subsets carrying padded u64s The devlink netlink spec is missing the pad attribute in several nested attribute subsets that carry padded u64 values, and the separate dl-attr-stats space had no pad definition of its own. This patch adds pad to those subsets and gives dl-attr-stats an explicit pad with value 61.
quoted hunk ↗ jump to hunk
diff --git a/Documentation/netlink/specs/devlink.yaml b/Documentation/netlink/specs/devlink.yaml index 54de1eeb22347..acb22856a6a85 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 says the missing pad
"would break parsing stats on an arch without
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS", which reads like a user-visible
bug fix rather than a spec cleanup.
The kernel really does emit the pad attribute 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 all of the touched spaces use it - dpipe table size/resource-id/
resource-units and dpipe entry index/counter in net/devlink/dpipe.c, the
resource attributes in net/devlink/resource.c, region-chunk-addr in
net/devlink/region.c, the health reporter counters in net/devlink/health.c,
and the stats attributes in net/devlink/trap.c.
On the decode side an unknown attribute value in a space is fatal rather
than skipped:
tools/net/ynl/pyynl/lib/ynl.py:YnlFamily._decode() {
...
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 "
f"with value '{attr.type}'") from err
...
}
So before this change devlink dpipe/resource/region/health-reporter and
trap stats replies were undecodable by ynl on those architectures. Would
adding something like:
Fixes: 74bf6477c18b ("netlink: specs: add partial specification for devlink")
help stable and backport tooling pick this up along with the ynl tooling?
--
Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260910200312.2665792-1-kuba%40kernel.org