diff --git a/drgn_tools/debuginfo.py b/drgn_tools/debuginfo.py index 1c30995d..1f798292 100644 --- a/drgn_tools/debuginfo.py +++ b/drgn_tools/debuginfo.py @@ -509,7 +509,7 @@ def parse(cls, original: str) -> "KernelVersion": version_re = re.compile( r"(?P\d+\.\d+\.\d+)-(?P[0-9.-]+)" r"(?P\.[0-9a-zA-Z._]+?)?" - r"\.el(?P\d+)(?Puek|_(?P\d+)|)" + r"\.el(?P\d+)(?Puek|ueknext|_(?P\d+)|)" r"(?P\.[0-9a-zA-Z._]+?)?" r"\.(?P.+)" ) @@ -531,7 +531,12 @@ def parse(cls, original: str) -> "KernelVersion": uek_ver = None if is_uek: uek_ver = _UEK_VER.get(match["version"]) - is_uek_next = is_uek and uek_ver is None and version_tuple >= (6, 8, 0) + is_uek_next = ( + match["extra"] == "ueknext" + # In the initial 6.8.0 releases of UEK-next, there was no "ueknext" + # in the extra part of the version. Since 6.9.0 this is present. + or (is_uek and uek_ver is None and version_tuple == (6, 8, 0)) + ) return cls( match["version"], version_tuple,