diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/contrib/improve_kernel_cve_report.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/scripts/contrib/improve_kernel_cve_report.py b/scripts/contrib/improve_kernel_cve_report.py index 829cc4cd30..5c39df05a5 100755 --- a/scripts/contrib/improve_kernel_cve_report.py +++ b/scripts/contrib/improve_kernel_cve_report.py | |||
@@ -340,6 +340,10 @@ def cve_update(cve_data, cve, entry): | |||
340 | if cve_data[cve]['status'] == entry['status']: | 340 | if cve_data[cve]['status'] == entry['status']: |
341 | return | 341 | return |
342 | if entry['status'] == "Unpatched" and cve_data[cve]['status'] == "Patched": | 342 | if entry['status'] == "Unpatched" and cve_data[cve]['status'] == "Patched": |
343 | # Backported-patch (e.g. vendor kernel repo with cherry-picked CVE patch) | ||
344 | # has priority over unpatch from CNA | ||
345 | if cve_data[cve]['detail'] == "backported-patch": | ||
346 | return | ||
343 | logging.warning("CVE entry %s update from Patched to Unpatched from the scan result", cve) | 347 | logging.warning("CVE entry %s update from Patched to Unpatched from the scan result", cve) |
344 | cve_data[cve] = copy_data(cve_data[cve], entry) | 348 | cve_data[cve] = copy_data(cve_data[cve], entry) |
345 | return | 349 | return |
@@ -441,10 +445,12 @@ def main(): | |||
441 | is_kernel=True | 445 | is_kernel=True |
442 | if not is_kernel: | 446 | if not is_kernel: |
443 | continue | 447 | continue |
444 | 448 | # We remove custom versions after - | |
449 | upstream_version = Version(pkg["version"].split("-")[0]) | ||
450 | logging.info("Checking kernel %s", upstream_version) | ||
445 | kernel_cves = get_kernel_cves(args.datadir, | 451 | kernel_cves = get_kernel_cves(args.datadir, |
446 | compiled_files, | 452 | compiled_files, |
447 | Version(pkg["version"])) | 453 | upstream_version) |
448 | logging.info("Total kernel cves from kernel CNA: %s", len(kernel_cves)) | 454 | logging.info("Total kernel cves from kernel CNA: %s", len(kernel_cves)) |
449 | cves = {issue["id"]: issue for issue in pkg["issue"]} | 455 | cves = {issue["id"]: issue for issue in pkg["issue"]} |
450 | logging.info("Total kernel before processing cves: %s", len(cves)) | 456 | logging.info("Total kernel before processing cves: %s", len(cves)) |