diff options
| author | Nitin Wankhade <nitin.wankhade333@gmail.com> | 2025-09-23 17:20:20 +0530 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2025-09-30 08:01:59 -0700 |
| commit | 15078fe63fdd3658b0922000335b28eaefedcb8e (patch) | |
| tree | 3088aafed8fc4879cd51290bdfa56454d23dca61 | |
| parent | 2a912b50658972f4e486adb8bf38c649be3e7aa0 (diff) | |
| download | poky-15078fe63fdd3658b0922000335b28eaefedcb8e.tar.gz | |
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 <Divyanshu.Rathore@bmwtechworks.in>
(From OE-Core rev: bae5ecea1c40847ffc3760173192f85e28ed9d7b)
Signed-off-by: Florian Westphal <fw@strlen.de>
(cherry picked from commit 54dea548d796653534645c6e3c8577eaf7d77411)
Signed-off-by: Divyanshu Rathore <divyanshu.rathore@bmwtechworks.in>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
| -rw-r--r-- | meta/recipes-extended/libmnl/files/0001-examples-genl-fix-wrong-attribute-size.patch | 44 | ||||
| -rw-r--r-- | meta/recipes-extended/libmnl/libmnl_1.0.5.bb | 5 |
2 files changed, 48 insertions, 1 deletions
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 @@ | |||
| 1 | From 67ad7abf1fe888c650f9e8ed326a499e1456285c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Florian Westphal <fw@strlen.de> | ||
| 3 | Date: Mon, 15 Sep 2025 14:40:30 +0200 | ||
| 4 | Subject: [PATCH] examples: genl: fix wrong attribute size | ||
| 5 | |||
| 6 | This example no longer works on more recent kernels: | ||
| 7 | |||
| 8 | genl-family-get | ||
| 9 | error: Invalid argument | ||
| 10 | |||
| 11 | dmesg says: | ||
| 12 | netlink: 'genl-family-get': attribute type 1 has an invalid length. | ||
| 13 | |||
| 14 | Fix this and also zero out the reserved field in the genl header, | ||
| 15 | while not validated yet for dumps this could change. | ||
| 16 | |||
| 17 | Upstream-Status: Backport [https://git.netfilter.org/libmnl/patch/?id=54dea548d796653534645c6e3c8577eaf7d77411] | ||
| 18 | |||
| 19 | Reported-by: Divyanshu Rathore <Divyanshu.Rathore@bmwtechworks.in> | ||
| 20 | Signed-off-by: Florian Westphal <fw@strlen.de> | ||
| 21 | (cherry picked from commit 54dea548d796653534645c6e3c8577eaf7d77411) | ||
| 22 | Signed-off-by: Divyanshu Rathore <divyanshu.rathore@bmwtechworks.in> | ||
| 23 | --- | ||
| 24 | examples/genl/genl-family-get.c | 3 ++- | ||
| 25 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 26 | |||
| 27 | diff --git a/examples/genl/genl-family-get.c b/examples/genl/genl-family-get.c | ||
| 28 | index ba8de12..0c20067 100644 | ||
| 29 | --- a/examples/genl/genl-family-get.c | ||
| 30 | +++ b/examples/genl/genl-family-get.c | ||
| 31 | @@ -199,8 +199,9 @@ int main(int argc, char *argv[]) | ||
| 32 | genl = mnl_nlmsg_put_extra_header(nlh, sizeof(struct genlmsghdr)); | ||
| 33 | genl->cmd = CTRL_CMD_GETFAMILY; | ||
| 34 | genl->version = 1; | ||
| 35 | + genl->reserved = 0; | ||
| 36 | |||
| 37 | - mnl_attr_put_u32(nlh, CTRL_ATTR_FAMILY_ID, GENL_ID_CTRL); | ||
| 38 | + mnl_attr_put_u16(nlh, CTRL_ATTR_FAMILY_ID, GENL_ID_CTRL); | ||
| 39 | if (argc >= 2) | ||
| 40 | mnl_attr_put_strz(nlh, CTRL_ATTR_FAMILY_NAME, argv[1]); | ||
| 41 | else | ||
| 42 | -- | ||
| 43 | 2.34.1 | ||
| 44 | |||
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" | |||
| 6 | LICENSE = "LGPL-2.1-or-later" | 6 | LICENSE = "LGPL-2.1-or-later" |
| 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" |
| 8 | 8 | ||
| 9 | SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2" | 9 | SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2 \ |
| 10 | file://0001-examples-genl-fix-wrong-attribute-size.patch \ | ||
| 11 | " | ||
| 12 | |||
| 10 | SRC_URI[sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525" | 13 | SRC_URI[sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525" |
| 11 | 14 | ||
| 12 | inherit autotools pkgconfig | 15 | inherit autotools pkgconfig |
