From 15078fe63fdd3658b0922000335b28eaefedcb8e Mon Sep 17 00:00:00 2001 From: Nitin Wankhade Date: Tue, 23 Sep 2025 17:20:20 +0530 Subject: examples: genl: fix wrong attribute size This example no longer works on more recent kernels: genl-family-get error: Invalid argument dmesg says: netlink: 'genl-family-get': attribute type 1 has an invalid length. Fix this and also zero out the reserved field in the genl header, while not validated yet for dumps this could change. Upstream-Status: Backport [https://git.netfilter.org/libmnl/patch/?id=54dea548d796653534645c6e3c8577eaf7d77411] Reported-by: Divyanshu Rathore (From OE-Core rev: bae5ecea1c40847ffc3760173192f85e28ed9d7b) Signed-off-by: Florian Westphal (cherry picked from commit 54dea548d796653534645c6e3c8577eaf7d77411) Signed-off-by: Divyanshu Rathore Signed-off-by: Steve Sakoman --- ...01-examples-genl-fix-wrong-attribute-size.patch | 44 ++++++++++++++++++++++ meta/recipes-extended/libmnl/libmnl_1.0.5.bb | 5 ++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/libmnl/files/0001-examples-genl-fix-wrong-attribute-size.patch diff --git a/meta/recipes-extended/libmnl/files/0001-examples-genl-fix-wrong-attribute-size.patch b/meta/recipes-extended/libmnl/files/0001-examples-genl-fix-wrong-attribute-size.patch new file mode 100644 index 0000000000..9e06abb9a4 --- /dev/null +++ b/meta/recipes-extended/libmnl/files/0001-examples-genl-fix-wrong-attribute-size.patch @@ -0,0 +1,44 @@ +From 67ad7abf1fe888c650f9e8ed326a499e1456285c Mon Sep 17 00:00:00 2001 +From: Florian Westphal +Date: Mon, 15 Sep 2025 14:40:30 +0200 +Subject: [PATCH] examples: genl: fix wrong attribute size + +This example no longer works on more recent kernels: + +genl-family-get +error: Invalid argument + +dmesg says: +netlink: 'genl-family-get': attribute type 1 has an invalid length. + +Fix this and also zero out the reserved field in the genl header, +while not validated yet for dumps this could change. + +Upstream-Status: Backport [https://git.netfilter.org/libmnl/patch/?id=54dea548d796653534645c6e3c8577eaf7d77411] + +Reported-by: Divyanshu Rathore +Signed-off-by: Florian Westphal +(cherry picked from commit 54dea548d796653534645c6e3c8577eaf7d77411) +Signed-off-by: Divyanshu Rathore +--- + examples/genl/genl-family-get.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/examples/genl/genl-family-get.c b/examples/genl/genl-family-get.c +index ba8de12..0c20067 100644 +--- a/examples/genl/genl-family-get.c ++++ b/examples/genl/genl-family-get.c +@@ -199,8 +199,9 @@ int main(int argc, char *argv[]) + genl = mnl_nlmsg_put_extra_header(nlh, sizeof(struct genlmsghdr)); + genl->cmd = CTRL_CMD_GETFAMILY; + genl->version = 1; ++ genl->reserved = 0; + +- mnl_attr_put_u32(nlh, CTRL_ATTR_FAMILY_ID, GENL_ID_CTRL); ++ mnl_attr_put_u16(nlh, CTRL_ATTR_FAMILY_ID, GENL_ID_CTRL); + if (argc >= 2) + mnl_attr_put_strz(nlh, CTRL_ATTR_FAMILY_NAME, argv[1]); + else +-- +2.34.1 + diff --git a/meta/recipes-extended/libmnl/libmnl_1.0.5.bb b/meta/recipes-extended/libmnl/libmnl_1.0.5.bb index 66b30d7f60..d0bf658eef 100644 --- a/meta/recipes-extended/libmnl/libmnl_1.0.5.bb +++ b/meta/recipes-extended/libmnl/libmnl_1.0.5.bb @@ -6,7 +6,10 @@ SECTION = "libs" LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" -SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2" +SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2 \ + file://0001-examples-genl-fix-wrong-attribute-size.patch \ +" + SRC_URI[sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525" inherit autotools pkgconfig -- cgit v1.2.3-54-g00ecf