mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-11-10 20:48:12 +00:00
netlink: specs: nlctrl: fix the policy attribute numbering
mask and pad are declared the wrong way round, giving mask 11 and pad 12, while enum netlink_policy_type_attr has NL_POLICY_TYPE_ATTR_PAD at 11 and NL_POLICY_TYPE_ATTR_MASK at 12. The kernel emits the mask for every NLA_POLICY_MASK() attribute, so a Python YNL client parsing a policy dump maps it onto pad and throws it away - 30 of them in ethtool's policy alone. In the other direction the 64-bit alignment padding, which the kernel does emit on architectures without efficient unaligned access, is decoded as a u64 mask and blows up the whole dump. But those architectures are rare. The generated C parser is not affected, it keys the attributes off the uAPI symbol names rather than off the values the spec derives. Reviewed-by: Donald Hunter <donald.hunter@gmail.com> Link: https://patch.msgid.link/20260916021516.1701760-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
29f4b46371
commit
0fa13b71c3
1 changed files with 3 additions and 3 deletions
Loading…
Add table
Add a link
Reference in a new issue