[PATCH] libbpf: Fix debian kernel version information parsing

Sudip Mukherjee posted 1 patch 3 weeks, 5 days ago
tools/lib/bpf/libbpf_probes.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
[PATCH] libbpf: Fix debian kernel version information parsing
Posted by Sudip Mukherjee 3 weeks, 5 days ago
Currently get_debian_kernel_version() expects the version to be in the
form of x.y.z but the Debian kernels uploaded to experimental are not
always LTS kernels. Like the current Debian kernel in experimental
is 7.2~rc7-1~exp1 and uname -v reported "Debian 7.2~rc7-1~exp1".

Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
---
 tools/lib/bpf/libbpf_probes.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/tools/lib/bpf/libbpf_probes.c b/tools/lib/bpf/libbpf_probes.c
index e40819465ddc7..5acf0f84a40a1 100644
--- a/tools/lib/bpf/libbpf_probes.c
+++ b/tools/lib/bpf/libbpf_probes.c
@@ -62,7 +62,7 @@ static __u32 get_ubuntu_kernel_version(void)
  */
 static __u32 get_debian_kernel_version(struct utsname *info)
 {
-	__u32 major, minor, patch;
+	__u32 major, minor, patch = 0;
 	char *p;
 
 	p = strstr(info->version, "Debian ");
@@ -71,10 +71,13 @@ static __u32 get_debian_kernel_version(struct utsname *info)
 		return 0;
 	}
 
-	if (sscanf(p, "Debian %u.%u.%u", &major, &minor, &patch) != 3)
-		return 0;
+	if (sscanf(p, "Debian %u.%u.%u", &major, &minor, &patch) == 3)
+		return KERNEL_VERSION(major, minor, patch);
 
-	return KERNEL_VERSION(major, minor, patch);
+	if (sscanf(p, "Debian %u.%u", &major, &minor) == 2)
+		return KERNEL_VERSION(major, minor, patch);
+
+	return 0;
 }
 
 __u32 get_kernel_version(void)
-- 
2.39.5
Re: [PATCH] libbpf: Fix debian kernel version information parsing
Posted by bot+bpf-ci@kernel.org 3 weeks, 4 days ago
> libbpf: Fix debian kernel version information parsing
>
> Currently get_debian_kernel_version() expects the version to be in the
> form of x.y.z but the Debian kernels uploaded to experimental are not
> always LTS kernels. Like the current Debian kernel in experimental
> is 7.2~rc7-1~exp1 and uname -v reported "Debian 7.2~rc7-1~exp1".
>
> Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>

This looks like a bug fix for get_debian_kernel_version() that was added
in an earlier commit. Should this include:

  Fixes: d1d7730ff875 ("libbpf: Correctly set the kernel code version in Debian kernel.")


---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md

CI run summary: https://github.com/kernel-patches/bpf/actions/runs/33399492426