{
    "summary": {
        "snap": {
            "added": [],
            "removed": [],
            "diff": []
        },
        "deb": {
            "added": [
                "linux-headers-6.17.0-22-generic",
                "linux-image-6.17.0-22-generic",
                "linux-modules-6.17.0-22-generic",
                "linux-riscv-headers-6.17.0-22",
                "linux-riscv-tools-6.17.0-22",
                "linux-tools-6.17.0-22-generic"
            ],
            "removed": [
                "linux-headers-6.17.0-20-generic",
                "linux-image-6.17.0-20-generic",
                "linux-modules-6.17.0-20-generic",
                "linux-riscv-headers-6.17.0-20",
                "linux-riscv-tools-6.17.0-20",
                "linux-tools-6.17.0-20-generic"
            ],
            "diff": [
                "gir1.2-packagekitglib-1.0",
                "jq",
                "libcap2:riscv64",
                "libcap2-bin",
                "libjq1:riscv64",
                "libntfs-3g89t64:riscv64",
                "libpackagekit-glib2-18:riscv64",
                "libpam-cap:riscv64",
                "linux-headers-generic",
                "linux-headers-virtual",
                "linux-image-virtual",
                "linux-virtual",
                "ntfs-3g",
                "packagekit",
                "packagekit-tools",
                "python3-distupgrade",
                "rsyslog",
                "snapd",
                "ubuntu-pro-client",
                "ubuntu-pro-client-l10n",
                "ubuntu-release-upgrader-core",
                "vim",
                "vim-common",
                "vim-runtime",
                "vim-tiny",
                "xxd"
            ]
        }
    },
    "diff": {
        "deb": [
            {
                "name": "gir1.2-packagekitglib-1.0",
                "from_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1",
                    "version": "1.3.1-1ubuntu1"
                },
                "to_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1.1",
                    "version": "1.3.1-1ubuntu1.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148512
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: TOCTOU Race on Transaction Flags (LP: #2148512)",
                            "    - debian/patches/Do-not-allow-re-invoking-methods-on-non-new-txn.patch:",
                            "      do not allow re-invoking methods on non-new transactions in",
                            "      src/pk-transaction.c.",
                            "    - CVE number pending",
                            ""
                        ],
                        "package": "packagekit",
                        "version": "1.3.1-1ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [
                            2148512
                        ],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Mon, 20 Apr 2026 07:24:35 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "jq",
                "from_version": {
                    "source_package_name": "jq",
                    "source_package_version": "1.8.1-3ubuntu1",
                    "version": "1.8.1-3ubuntu1"
                },
                "to_version": {
                    "source_package_name": "jq",
                    "source_package_version": "1.8.1-3ubuntu1.1",
                    "version": "1.8.1-3ubuntu1.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-32316",
                        "url": "https://ubuntu.com/security/CVE-2026-32316",
                        "cve_description": "jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer overflow in the buffer allocation size calculation, resulting in a drastically undersized heap buffer. Subsequent memory copy operations then write the full string data into this undersized buffer, causing a heap buffer overflow classified as CWE-190 (Integer Overflow) leading to CWE-122 (Heap-based Buffer Overflow). Any system evaluating untrusted jq queries is affected, as an attacker can crash the process or potentially achieve further exploitation through heap corruption by crafting queries that produce extremely large strings. The root cause is the absence of string size bounds checking, unlike arrays and objects which already have size limits. The issue has been addressed in commit e47e56d226519635768e6aab2f38f0ab037c09e5.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-33947",
                        "url": "https://ubuntu.com/security/CVE-2026-33947",
                        "cve_description": "jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 22:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-33948",
                        "url": "https://ubuntu.com/security/CVE-2026-33948",
                        "cve_description": "jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead of the actual byte count from fgets(), causing it to truncate input at the first NUL byte and parse only the preceding prefix. This enables an attacker to craft input with a benign JSON prefix before a NUL byte followed by malicious trailing data, where jq validates only the prefix as valid JSON while silently discarding the suffix. Workflows relying on jq to validate untrusted JSON before forwarding it to downstream consumers are susceptible to parser differential attacks, as those consumers may process the full input including the malicious trailing bytes. This issue has been patched by commit 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-14 00:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39956",
                        "url": "https://ubuntu.com/security/CVE-2026-39956",
                        "cve_description": "jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 23:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39979",
                        "url": "https://ubuntu.com/security/CVE-2026-39979",
                        "cve_description": "jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 23:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-40164",
                        "url": "https://ubuntu.com/security/CVE-2026-40164",
                        "cve_description": "jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-14 00:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-32316",
                                "url": "https://ubuntu.com/security/CVE-2026-32316",
                                "cve_description": "jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer overflow in the buffer allocation size calculation, resulting in a drastically undersized heap buffer. Subsequent memory copy operations then write the full string data into this undersized buffer, causing a heap buffer overflow classified as CWE-190 (Integer Overflow) leading to CWE-122 (Heap-based Buffer Overflow). Any system evaluating untrusted jq queries is affected, as an attacker can crash the process or potentially achieve further exploitation through heap corruption by crafting queries that produce extremely large strings. The root cause is the absence of string size bounds checking, unlike arrays and objects which already have size limits. The issue has been addressed in commit e47e56d226519635768e6aab2f38f0ab037c09e5.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-33947",
                                "url": "https://ubuntu.com/security/CVE-2026-33947",
                                "cve_description": "jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 22:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-33948",
                                "url": "https://ubuntu.com/security/CVE-2026-33948",
                                "cve_description": "jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead of the actual byte count from fgets(), causing it to truncate input at the first NUL byte and parse only the preceding prefix. This enables an attacker to craft input with a benign JSON prefix before a NUL byte followed by malicious trailing data, where jq validates only the prefix as valid JSON while silently discarding the suffix. Workflows relying on jq to validate untrusted JSON before forwarding it to downstream consumers are susceptible to parser differential attacks, as those consumers may process the full input including the malicious trailing bytes. This issue has been patched by commit 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-14 00:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39956",
                                "url": "https://ubuntu.com/security/CVE-2026-39956",
                                "cve_description": "jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 23:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39979",
                                "url": "https://ubuntu.com/security/CVE-2026-39979",
                                "cve_description": "jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 23:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-40164",
                                "url": "https://ubuntu.com/security/CVE-2026-40164",
                                "cve_description": "jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-14 00:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Heap Buffer Overflow",
                            "    - debian/patches/CVE-2026-32316.patch: Fix heap buffer overflow in",
                            "      `jvp_string_append` and `jvp_string_copy_replace_bad`",
                            "    - CVE-2026-32316",
                            "  * SECURITY UPDATE: Stack Buffer Overflow",
                            "    - debian/patches/CVE-2026-33947.patch: Limit path depth to prevent",
                            "      stack overflow",
                            "    - CVE-2026-33947",
                            "  * SECURITY UPDATE: Improper Null Termination",
                            "    - debian/patches/CVE-2026-33948.patch: Fix NUL truncation in the",
                            "      JSON parser",
                            "    - CVE-2026-33948",
                            "  * SECURITY UPDATE: Out of Bounds Read",
                            "    - debian/patches/CVE-2026-39956.patch: Add runtime type checks to",
                            "      f_string_indexes",
                            "    - debian/patches/CVE-2026-39979.patch: Fix out-of-bounds read in",
                            "      jv_parse_sized()",
                            "    - CVE-2026-39956",
                            "    - CVE-2026-39979",
                            "  * SECURITY UPDATE: Denial of Service",
                            "    - debian/patches/CVE-2026-40164.patch: Randomize hash seed to",
                            "      mitigate hash collision DoS attacks",
                            "    - CVE-2026-40164",
                            ""
                        ],
                        "package": "jq",
                        "version": "1.8.1-3ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Bruce Cable <bruce.cable@canonical.com>",
                        "date": "Mon, 20 Apr 2026 17:24:54 +1000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libcap2:riscv64",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2",
                    "version": "1:2.75-7ubuntu2"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2.2",
                    "version": "1:2.75-7ubuntu2.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4878",
                        "url": "https://ubuntu.com/security/CVE-2026-4878",
                        "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-09 16:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4878",
                                "url": "https://ubuntu.com/security/CVE-2026-4878",
                                "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-09 16:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: potential TOCTOU race condition in cap_set_file()",
                            "    - debian/patches/CVE-2026-4878.patch: fix race in libcap/cap_file.c,",
                            "      progs/quicktest.sh.",
                            "    - CVE-2026-4878",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.75-7ubuntu2.2",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 09 Apr 2026 11:04:10 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libcap2-bin",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2",
                    "version": "1:2.75-7ubuntu2"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2.2",
                    "version": "1:2.75-7ubuntu2.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4878",
                        "url": "https://ubuntu.com/security/CVE-2026-4878",
                        "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-09 16:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4878",
                                "url": "https://ubuntu.com/security/CVE-2026-4878",
                                "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-09 16:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: potential TOCTOU race condition in cap_set_file()",
                            "    - debian/patches/CVE-2026-4878.patch: fix race in libcap/cap_file.c,",
                            "      progs/quicktest.sh.",
                            "    - CVE-2026-4878",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.75-7ubuntu2.2",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 09 Apr 2026 11:04:10 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libjq1:riscv64",
                "from_version": {
                    "source_package_name": "jq",
                    "source_package_version": "1.8.1-3ubuntu1",
                    "version": "1.8.1-3ubuntu1"
                },
                "to_version": {
                    "source_package_name": "jq",
                    "source_package_version": "1.8.1-3ubuntu1.1",
                    "version": "1.8.1-3ubuntu1.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-32316",
                        "url": "https://ubuntu.com/security/CVE-2026-32316",
                        "cve_description": "jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer overflow in the buffer allocation size calculation, resulting in a drastically undersized heap buffer. Subsequent memory copy operations then write the full string data into this undersized buffer, causing a heap buffer overflow classified as CWE-190 (Integer Overflow) leading to CWE-122 (Heap-based Buffer Overflow). Any system evaluating untrusted jq queries is affected, as an attacker can crash the process or potentially achieve further exploitation through heap corruption by crafting queries that produce extremely large strings. The root cause is the absence of string size bounds checking, unlike arrays and objects which already have size limits. The issue has been addressed in commit e47e56d226519635768e6aab2f38f0ab037c09e5.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-33947",
                        "url": "https://ubuntu.com/security/CVE-2026-33947",
                        "cve_description": "jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 22:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-33948",
                        "url": "https://ubuntu.com/security/CVE-2026-33948",
                        "cve_description": "jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead of the actual byte count from fgets(), causing it to truncate input at the first NUL byte and parse only the preceding prefix. This enables an attacker to craft input with a benign JSON prefix before a NUL byte followed by malicious trailing data, where jq validates only the prefix as valid JSON while silently discarding the suffix. Workflows relying on jq to validate untrusted JSON before forwarding it to downstream consumers are susceptible to parser differential attacks, as those consumers may process the full input including the malicious trailing bytes. This issue has been patched by commit 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-14 00:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39956",
                        "url": "https://ubuntu.com/security/CVE-2026-39956",
                        "cve_description": "jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 23:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39979",
                        "url": "https://ubuntu.com/security/CVE-2026-39979",
                        "cve_description": "jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-13 23:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-40164",
                        "url": "https://ubuntu.com/security/CVE-2026-40164",
                        "cve_description": "jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-14 00:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-32316",
                                "url": "https://ubuntu.com/security/CVE-2026-32316",
                                "cve_description": "jq is a command-line JSON processor. An integer overflow vulnerability exists through version 1.8.1 within the jvp_string_append() and jvp_string_copy_replace_bad functions, where concatenating strings with a combined length exceeding 2^31 bytes causes a 32-bit unsigned integer overflow in the buffer allocation size calculation, resulting in a drastically undersized heap buffer. Subsequent memory copy operations then write the full string data into this undersized buffer, causing a heap buffer overflow classified as CWE-190 (Integer Overflow) leading to CWE-122 (Heap-based Buffer Overflow). Any system evaluating untrusted jq queries is affected, as an attacker can crash the process or potentially achieve further exploitation through heap corruption by crafting queries that produce extremely large strings. The root cause is the absence of string size bounds checking, unlike arrays and objects which already have size limits. The issue has been addressed in commit e47e56d226519635768e6aab2f38f0ab037c09e5.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-33947",
                                "url": "https://ubuntu.com/security/CVE-2026-33947",
                                "cve_description": "jq is a command-line JSON processor. In versions 1.8.1 and below, functions jv_setpath(), jv_getpath(), and delpaths_sorted() in jq's src/jv_aux.c use unbounded recursion whose depth is controlled by the length of a caller-supplied path array, with no depth limit enforced. An attacker can supply a JSON document containing a flat array of ~65,000 integers (~200 KB) that, when used as a path argument by a trusted jq filter, exhausts the C call stack and crashes the process with a segmentation fault (SIGSEGV). This bypass works because the existing MAX_PARSING_DEPTH (10,000) limit only protects the JSON parser, not runtime path operations where arrays can be programmatically constructed to arbitrary lengths. The impact is denial of service (unrecoverable crash) affecting any application or service that processes untrusted JSON input through jq's setpath, getpath, or delpaths builtins. This issue has been addressed in commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 22:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-33948",
                                "url": "https://ubuntu.com/security/CVE-2026-33948",
                                "cve_description": "jq is a command-line JSON processor. Commits before 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b contain a vulnerability where CLI input parsing allows validation bypass via embedded NUL bytes. When reading JSON from files or stdin, jq uses strlen() to determine buffer length instead of the actual byte count from fgets(), causing it to truncate input at the first NUL byte and parse only the preceding prefix. This enables an attacker to craft input with a benign JSON prefix before a NUL byte followed by malicious trailing data, where jq validates only the prefix as valid JSON while silently discarding the suffix. Workflows relying on jq to validate untrusted JSON before forwarding it to downstream consumers are susceptible to parser differential attacks, as those consumers may process the full input including the malicious trailing bytes. This issue has been patched by commit 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-14 00:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39956",
                                "url": "https://ubuntu.com/security/CVE-2026-39956",
                                "cve_description": "jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 23:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39979",
                                "url": "https://ubuntu.com/security/CVE-2026-39979",
                                "cve_description": "jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-13 23:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-40164",
                                "url": "https://ubuntu.com/security/CVE-2026-40164",
                                "cve_description": "jq is a command-line JSON processor. Before commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784, jq used MurmurHash3 with a hardcoded, publicly visible seed (0x432A9843) for all JSON object hash table operations, which allowed an attacker to precompute key collisions offline. By supplying a crafted JSON object (~100 KB) where all keys hashed to the same bucket, hash table lookups degraded from O(1) to O(n), turning any jq expression into an O(n²) operation and causing significant CPU exhaustion. This affected common jq use cases such as CI/CD pipelines, web services, and data processing scripts, and was far more practical to exploit than existing heap overflow issues since it required only a small payload. This issue has been patched in commit 0c7d133c3c7e37c00b6d46b658a02244fdd3c784.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-14 00:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Heap Buffer Overflow",
                            "    - debian/patches/CVE-2026-32316.patch: Fix heap buffer overflow in",
                            "      `jvp_string_append` and `jvp_string_copy_replace_bad`",
                            "    - CVE-2026-32316",
                            "  * SECURITY UPDATE: Stack Buffer Overflow",
                            "    - debian/patches/CVE-2026-33947.patch: Limit path depth to prevent",
                            "      stack overflow",
                            "    - CVE-2026-33947",
                            "  * SECURITY UPDATE: Improper Null Termination",
                            "    - debian/patches/CVE-2026-33948.patch: Fix NUL truncation in the",
                            "      JSON parser",
                            "    - CVE-2026-33948",
                            "  * SECURITY UPDATE: Out of Bounds Read",
                            "    - debian/patches/CVE-2026-39956.patch: Add runtime type checks to",
                            "      f_string_indexes",
                            "    - debian/patches/CVE-2026-39979.patch: Fix out-of-bounds read in",
                            "      jv_parse_sized()",
                            "    - CVE-2026-39956",
                            "    - CVE-2026-39979",
                            "  * SECURITY UPDATE: Denial of Service",
                            "    - debian/patches/CVE-2026-40164.patch: Randomize hash seed to",
                            "      mitigate hash collision DoS attacks",
                            "    - CVE-2026-40164",
                            ""
                        ],
                        "package": "jq",
                        "version": "1.8.1-3ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Bruce Cable <bruce.cable@canonical.com>",
                        "date": "Mon, 20 Apr 2026 17:24:54 +1000"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libntfs-3g89t64:riscv64",
                "from_version": {
                    "source_package_name": "ntfs-3g",
                    "source_package_version": "1:2022.10.3-5",
                    "version": "1:2022.10.3-5"
                },
                "to_version": {
                    "source_package_name": "ntfs-3g",
                    "source_package_version": "1:2022.10.3-5ubuntu0.25.10.1",
                    "version": "1:2022.10.3-5ubuntu0.25.10.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-40706",
                        "url": "https://ubuntu.com/security/CVE-2026-40706",
                        "cve_description": "In NTFS-3G 2022.10.3, a heap buffer overflow exists in  ntfs_build_permissions_posix() in acls.c that allows an attacker to  corrupt heap memory in the SUID-root ntfs-3g binary by crafting a  malicious NTFS image. The overflow is triggered on the READ path (stat,  readdir, open) when processing a security descriptor with multiple  ACCESS_DENIED ACEs containing WRITE_OWNER from distinct group SIDs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-21 12:00:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-40706",
                                "url": "https://ubuntu.com/security/CVE-2026-40706",
                                "cve_description": "In NTFS-3G 2022.10.3, a heap buffer overflow exists in  ntfs_build_permissions_posix() in acls.c that allows an attacker to  corrupt heap memory in the SUID-root ntfs-3g binary by crafting a  malicious NTFS image. The overflow is triggered on the READ path (stat,  readdir, open) when processing a security descriptor with multiple  ACCESS_DENIED ACEs containing WRITE_OWNER from distinct group SIDs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-21 12:00:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: heap overflow in ntfs_build_permissions_posix()",
                            "    - debian/patches/CVE-2026-40706.patch: allocate space for the worst",
                            "      case number of ACE entries in libntfs-3g/acls.c.",
                            "    - CVE-2026-40706",
                            ""
                        ],
                        "package": "ntfs-3g",
                        "version": "1:2022.10.3-5ubuntu0.25.10.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Fri, 17 Apr 2026 13:51:23 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libpackagekit-glib2-18:riscv64",
                "from_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1",
                    "version": "1.3.1-1ubuntu1"
                },
                "to_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1.1",
                    "version": "1.3.1-1ubuntu1.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148512
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: TOCTOU Race on Transaction Flags (LP: #2148512)",
                            "    - debian/patches/Do-not-allow-re-invoking-methods-on-non-new-txn.patch:",
                            "      do not allow re-invoking methods on non-new transactions in",
                            "      src/pk-transaction.c.",
                            "    - CVE number pending",
                            ""
                        ],
                        "package": "packagekit",
                        "version": "1.3.1-1ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [
                            2148512
                        ],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Mon, 20 Apr 2026 07:24:35 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "libpam-cap:riscv64",
                "from_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2",
                    "version": "1:2.75-7ubuntu2"
                },
                "to_version": {
                    "source_package_name": "libcap2",
                    "source_package_version": "1:2.75-7ubuntu2.2",
                    "version": "1:2.75-7ubuntu2.2"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-4878",
                        "url": "https://ubuntu.com/security/CVE-2026-4878",
                        "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-09 16:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-4878",
                                "url": "https://ubuntu.com/security/CVE-2026-4878",
                                "cve_description": "A flaw was found in libcap. A local unprivileged user can exploit a Time-of-check-to-time-of-use (TOCTOU) race condition in the `cap_set_file()` function. This allows an attacker with write access to a parent directory to redirect file capability updates to an attacker-controlled file. By doing so, capabilities can be injected into or stripped from unintended executables, leading to privilege escalation.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-09 16:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: potential TOCTOU race condition in cap_set_file()",
                            "    - debian/patches/CVE-2026-4878.patch: fix race in libcap/cap_file.c,",
                            "      progs/quicktest.sh.",
                            "    - CVE-2026-4878",
                            ""
                        ],
                        "package": "libcap2",
                        "version": "1:2.75-7ubuntu2.2",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Thu, 09 Apr 2026 11:04:10 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-headers-generic",
                "from_version": {
                    "source_package_name": "linux-meta-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": "linux-meta-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 6.17.0-22.22.1",
                            ""
                        ],
                        "package": "linux-meta-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 17:51:11 +0100"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-headers-virtual",
                "from_version": {
                    "source_package_name": "linux-meta-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": "linux-meta-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 6.17.0-22.22.1",
                            ""
                        ],
                        "package": "linux-meta-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 17:51:11 +0100"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-image-virtual",
                "from_version": {
                    "source_package_name": "linux-meta-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": "linux-meta-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 6.17.0-22.22.1",
                            ""
                        ],
                        "package": "linux-meta-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 17:51:11 +0100"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-virtual",
                "from_version": {
                    "source_package_name": "linux-meta-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": "linux-meta-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Main version: 6.17.0-22.22.1",
                            ""
                        ],
                        "package": "linux-meta-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 17:51:11 +0100"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "ntfs-3g",
                "from_version": {
                    "source_package_name": "ntfs-3g",
                    "source_package_version": "1:2022.10.3-5",
                    "version": "1:2022.10.3-5"
                },
                "to_version": {
                    "source_package_name": "ntfs-3g",
                    "source_package_version": "1:2022.10.3-5ubuntu0.25.10.1",
                    "version": "1:2022.10.3-5ubuntu0.25.10.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-40706",
                        "url": "https://ubuntu.com/security/CVE-2026-40706",
                        "cve_description": "In NTFS-3G 2022.10.3, a heap buffer overflow exists in  ntfs_build_permissions_posix() in acls.c that allows an attacker to  corrupt heap memory in the SUID-root ntfs-3g binary by crafting a  malicious NTFS image. The overflow is triggered on the READ path (stat,  readdir, open) when processing a security descriptor with multiple  ACCESS_DENIED ACEs containing WRITE_OWNER from distinct group SIDs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-21 12:00:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-40706",
                                "url": "https://ubuntu.com/security/CVE-2026-40706",
                                "cve_description": "In NTFS-3G 2022.10.3, a heap buffer overflow exists in  ntfs_build_permissions_posix() in acls.c that allows an attacker to  corrupt heap memory in the SUID-root ntfs-3g binary by crafting a  malicious NTFS image. The overflow is triggered on the READ path (stat,  readdir, open) when processing a security descriptor with multiple  ACCESS_DENIED ACEs containing WRITE_OWNER from distinct group SIDs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-21 12:00:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: heap overflow in ntfs_build_permissions_posix()",
                            "    - debian/patches/CVE-2026-40706.patch: allocate space for the worst",
                            "      case number of ACE entries in libntfs-3g/acls.c.",
                            "    - CVE-2026-40706",
                            ""
                        ],
                        "package": "ntfs-3g",
                        "version": "1:2022.10.3-5ubuntu0.25.10.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Fri, 17 Apr 2026 13:51:23 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "packagekit",
                "from_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1",
                    "version": "1.3.1-1ubuntu1"
                },
                "to_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1.1",
                    "version": "1.3.1-1ubuntu1.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148512
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: TOCTOU Race on Transaction Flags (LP: #2148512)",
                            "    - debian/patches/Do-not-allow-re-invoking-methods-on-non-new-txn.patch:",
                            "      do not allow re-invoking methods on non-new transactions in",
                            "      src/pk-transaction.c.",
                            "    - CVE number pending",
                            ""
                        ],
                        "package": "packagekit",
                        "version": "1.3.1-1ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [
                            2148512
                        ],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Mon, 20 Apr 2026 07:24:35 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "packagekit-tools",
                "from_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1",
                    "version": "1.3.1-1ubuntu1"
                },
                "to_version": {
                    "source_package_name": "packagekit",
                    "source_package_version": "1.3.1-1ubuntu1.1",
                    "version": "1.3.1-1ubuntu1.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2148512
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: TOCTOU Race on Transaction Flags (LP: #2148512)",
                            "    - debian/patches/Do-not-allow-re-invoking-methods-on-non-new-txn.patch:",
                            "      do not allow re-invoking methods on non-new transactions in",
                            "      src/pk-transaction.c.",
                            "    - CVE number pending",
                            ""
                        ],
                        "package": "packagekit",
                        "version": "1.3.1-1ubuntu1.1",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [
                            2148512
                        ],
                        "author": "Marc Deslauriers <marc.deslauriers@ubuntu.com>",
                        "date": "Mon, 20 Apr 2026 07:24:35 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "python3-distupgrade",
                "from_version": {
                    "source_package_name": "ubuntu-release-upgrader",
                    "source_package_version": "1:25.10.8",
                    "version": "1:25.10.8"
                },
                "to_version": {
                    "source_package_name": "ubuntu-release-upgrader",
                    "source_package_version": "1:25.10.9",
                    "version": "1:25.10.9"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2146830
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * all: clean forgotten -m references (LP: #2146830)",
                            "  * DistUpgrade: correct version number in EOL announcements",
                            "  * Run pre-build.sh: updating mirrors.",
                            ""
                        ],
                        "package": "ubuntu-release-upgrader",
                        "version": "1:25.10.9",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2146830
                        ],
                        "author": "Nick Rosbrook <enr0n@ubuntu.com>",
                        "date": "Mon, 30 Mar 2026 15:13:41 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "rsyslog",
                "from_version": {
                    "source_package_name": "rsyslog",
                    "source_package_version": "8.2504.0-1ubuntu2",
                    "version": "8.2504.0-1ubuntu2"
                },
                "to_version": {
                    "source_package_name": "rsyslog",
                    "source_package_version": "8.2504.0-1ubuntu2.1",
                    "version": "8.2504.0-1ubuntu2.1"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2138647
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * Update rsyslog apparmor profile to cope with log sockets in",
                            "    chroot directories (LP: #2138647):",
                            "    - d/usr.sbin.rsyslogd: add attach_disconnected flag to profile",
                            "    - d/t/{control,haproxy-logging}: new test to confirm the fix",
                            "  * d/t/control: skip mysql test on armhf, since mysql is not available on",
                            "    that arch",
                            ""
                        ],
                        "package": "rsyslog",
                        "version": "8.2504.0-1ubuntu2.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2138647
                        ],
                        "author": "Andreas Hasenack <andreas.hasenack@canonical.com>",
                        "date": "Tue, 10 Mar 2026 17:28:09 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "snapd",
                "from_version": {
                    "source_package_name": "snapd",
                    "source_package_version": "2.73+ubuntu25.10.1",
                    "version": "2.73+ubuntu25.10.1"
                },
                "to_version": {
                    "source_package_name": "snapd",
                    "source_package_version": "2.74.1+ubuntu25.10.4",
                    "version": "2.74.1+ubuntu25.10.4"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-3888",
                        "url": "https://ubuntu.com/security/CVE-2026-3888",
                        "cve_description": "Local privilege escalation in snapd on Linux allows local attackers to get root privilege by re-creating snap's private /tmp directory when systemd-tmpfiles is configured to automatically clean up this directory. This issue affects Ubuntu 16.04 LTS, 18.04 LTS, 20.04 LTS, 22.04 LTS, and 24.04 LTS.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-03-17 14:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2138629,
                    2141328,
                    2139611,
                    2139300,
                    2139099,
                    2141607,
                    2116949,
                    2068493,
                    2134364,
                    2124239,
                    2122054,
                    2117558,
                    1916244,
                    2121238,
                    2117121,
                    2112626,
                    2114704
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-3888",
                                "url": "https://ubuntu.com/security/CVE-2026-3888",
                                "cve_description": "Local privilege escalation in snapd on Linux allows local attackers to get root privilege by re-creating snap's private /tmp directory when systemd-tmpfiles is configured to automatically clean up this directory. This issue affects Ubuntu 16.04 LTS, 18.04 LTS, 20.04 LTS, 22.04 LTS, and 24.04 LTS.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-03-17 14:16:00 UTC"
                            }
                        ],
                        "log": [
                            " ",
                            "   * New upstream release, LP: #2138629",
                            "    - FDE: secboot fixes",
                            "    - Security: CVE-2026-3888",
                            "    - Packaging: fix deb package version number",
                            "    - Packaging: fix autopkgtest failure to install spread",
                            "    - Packaging: revert dropping transitional packages",
                            ""
                        ],
                        "package": "snapd",
                        "version": "2.74.1+ubuntu25.10.4",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2138629
                        ],
                        "author": "Ernest Lotter <ernest.lotter@canonical.com>",
                        "date": "Thu, 02 Apr 2026 08:44:00 +0200"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "    - FDE: measure DeployedMode and AuditMode variables if they appear",
                            "      as disabled in the event log to avoid a potential reseal-failure",
                            "      boot loop",
                            "    - LP: #2141328 FDE: reuse preinstall check context during install to",
                            "      account for user-ignored errors",
                            "    - LP: #2139611 FDE: fix db updates by allowing multiple payloads",
                            "    - LP: #2139300 snap-confine: add CAP_SYS_RESOURCE to allow raising",
                            "      memory lock limit when required",
                            "    - LP: #2139099 snap-confine: bump the max element count of the BPF",
                            "      map used to store IDs of allowed/matched devices to 1000",
                            "    - LP: #2141607 Desktop: revert change that caused user daemons",
                            "      declaring the desktop plug to implicitly depend on graphical-",
                            "      session.target",
                            "    - Interfaces: Added pidfd_open and memfd_secret to seccomp template",
                            "    - Interfaces: camera | add locking permission for /dev/video",
                            ""
                        ],
                        "package": "snapd",
                        "version": "2.74.1+ubuntu25.10",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2141328,
                            2139611,
                            2139300,
                            2139099,
                            2141607
                        ],
                        "author": "Ernest Lotter <ernest.lotter@canonical.com>",
                        "date": "Thu, 12 Feb 2026 21:27:23 +0200"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "    - FDE: use new activation API from secboot",
                            "    - FDE: use activation API also with non keydata keys",
                            "    - FDE: ignore internal recovery key expiration during install",
                            "    - FDE: support adding/removing PINs post-installation",
                            "    - FDE: support changing PINs post-installation",
                            "    - FDE: support adding a recovery key post-installation",
                            "    - FDE: provide activation status via new endpoint v2/system-",
                            "      info/storage-encrypted",
                            "    - FDE: support sealing and resealing using the preinstall check",
                            "      result",
                            "    - FDE: disable passphrase support during install",
                            "    - FDE: add keyboard configuration helpers",
                            "    - FDE: lazily inject keyboard layout configuration in kernel cmdline",
                            "    - FDE: enable pin tries and limits PIN entry attempts to 3",
                            "    - FDE: extend secureboot endpoint to accept DB, KEK, and PK",
                            "    - FDE: simplify /v2/system-volumes keyslots handling by allowing",
                            "      name-only entries, implicitly expanding to all system containers",
                            "    - FDE: support extra non-system key slot names to support agents",
                            "      such as Landscape to set dedicated recovery keys",
                            "    - FDE: initialize fde state after device state",
                            "    - FDE: use device node to find the storage container and keys",
                            "    - FDE: provide user visible name for disk based on ID_MODEL",
                            "    - FDE: update secboot in snapd with latest additions and fixes",
                            "    - core-initrd: add systemd service for setting plymouth keyboard",
                            "      layout and X11 keyboard layouts",
                            "    - core-initrd: set plymouth cleartext toggle option",
                            "    - core-initrd: fix plymouth missing font issue",
                            "    - core-initrd: update dependency from libteec1 to libteec2",
                            "    - core-initrd: add new dlopened libs",
                            "    - LP: #2116949 Preseeding: add support for preseeding of hybrid",
                            "      systems via the installer API$",
                            "    - Preseeding: check whether a path is a mountpoint before remounting",
                            "    - Confdb: support tagging paths as secret in storage schemas",
                            "    - Confdb: support filtering on placeholder sub-keys",
                            "    - Confdb: support filtering in API and confdbstate",
                            "    - Confdb: support field filtering on reads",
                            "    - Confdb: support \"parameters\" stanza and check filters against them",
                            "    - Confdb: add support for '--with' contraints",
                            "    - Confdb: parsing fixes and error handling improvements",
                            "    - Assertions: restrict serials to new format in confdb-control",
                            "    - Assertions: add verify signature function",
                            "    - Remote device management: modify request-message assertion to",
                            "      expose its time constraints for remote device management",
                            "    - Remote device management: support polling of store messages",
                            "    - Remote device management: add signing of response messages with",
                            "      device key",
                            "    - Prompting: enable notify protocol v5 and test prompt restoration",
                            "      after snapd restart",
                            "    - snap: change malformed '--channel=' warning to error",
                            "    - snap: add 'snap report-issue' command to get the available contact",
                            "      details for the specified snap",
                            "    - snap: add 'snap version --verbose' flag to include information on",
                            "      snap binaries origin",
                            "    - snap: create the XDG_RUNTIME_DIR folder",
                            "    - LP: #2068493 snap: add support for 'snap refresh --tracking'",
                            "    - snapctl: add '--tracking' flag to 'snapctl refresh'",
                            "    - Reexec: include the info filepath in the version compare debug log",
                            "    - Reexec: add support for forcing reexec into and older snapd snap",
                            "      by setting SNAP_REEXEC=force in the environment",
                            "    - snap-confine: correct error message related to snap-confine group",
                            "      policy validation",
                            "    - snap-confine: ensure we only mount existing directories",
                            "    - LP: #2134364 snap-confine: handle potential race when creating",
                            "      /tmp/snap-private-tmp when lacking systemd-tmpfiles support",
                            "    - snap-confine: filter plus characters from security tags",
                            "    - Desktop: use desktop file IDs as desktop IDs",
                            "    - Desktop: store the common ID in the desktop file",
                            "    - Desktop: allow graphical daemons to show icons in the dock",
                            "    - Desktop: change user daemons with desktop plug defined to depend",
                            "      on graphical-session.target",
                            "    - dm-verity for essential snaps: made change to prerequisite struct",
                            "    - Cross-distro: modify SELinux profile to allow connecting to squid",
                            "      proxy",
                            "    - Cross-distro: add support for migrating snap mount directory",
                            "    - Packaging: drop ubuntu-14.04 packaging",
                            "    - Packaging: drop ubuntu-{14.04,16.04} transitional binary packages",
                            "    - Packaging: remove desktop files and state lock file during snapd",
                            "      purge",
                            "    - Packaging: fix inhibition hint file being left behind on failed",
                            "      unlink-current-snap",
                            "    - Disallow timeouts < 1us in systemd units",
                            "    - Add snap-store to the user-daemons support overrides",
                            "    - Support for SuccessExitStatus= generation for systemd daemon",
                            "    - Make standby output more verbose",
                            "    - Add prepare-serial-request hook",
                            "    - Try to discard snap mount namespaces when no processes are running",
                            "      during snap updates",
                            "    - Improve handling of snap downloads cache by introducing periodic",
                            "      cleanup with more aggressive policy",
                            "    - Interfaces: mediatek-accel | create new interface",
                            "    - Interfaces: nvidia-video-driver-libs | create new interface",
                            "    - Interfaces: *-driver-libs | accept component paths",
                            "    - Interfaces: desktop-legacy, unity7 | remove workaround for slash",
                            "      filtering in ibus address",
                            "    - Interfaces: fwupd | allow writing reboot notification in /run",
                            "    - Interfaces: add 'install' coreutil to base AppArmor template",
                            "    - Interfaces: u2f-devices | add apparmor permissions to allow the",
                            "      use of the libfido2 library in snaps",
                            "    - Interfaces: u2f-devices | add support for Thetis security key",
                            "    - Interfaces: add AppArmor workaround for mmap MAP_HUGETLB",
                            "    - Interfaces: timeserver-control | manage per-link ntp settings via",
                            "      systemd-networkd",
                            ""
                        ],
                        "package": "snapd",
                        "version": "2.74+ubuntu25.10",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2116949,
                            2068493,
                            2134364
                        ],
                        "author": "Ernest Lotter <ernest.lotter@canonical.com>",
                        "date": "Tue, 20 Jan 2026 18:54:17 +0200"
                    },
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * New upstream release, LP: #2124239",
                            "    - FDE: support replacing TPM protected keys at runtime via the",
                            "      /v2/system-volumes endpoint",
                            "    - FDE: support secboot preinstall check fix actions for 25.10+",
                            "      hybrid installs via the /v2/system/{label} endpoint",
                            "    - FDE: tweak polkit message to remove jargon",
                            "    - FDE: ensure proper sealing with kernel command line defaults",
                            "    - FDE: provide generic reseal function",
                            "    - FDE: support using OPTEE for protecting keys, as an alternative to",
                            "      existing fde-setup hooks (Ubuntu Core only)",
                            "    - Confdb: 'snapctl get --view' supports passing default values",
                            "    - Confdb: content sub-rules in confdb-schemas inherit their parent",
                            "      rule's \"access\"",
                            "    - Confdb: make confdb error kinds used in API more generic",
                            "    - Confdb: fully support lists and indexed paths (including unset)",
                            "    - Prompting: add notice backend for prompting types (unused for now)",
                            "    - Prompting: include request cgroup in prompt",
                            "    - Prompting: handle unsupported xattrs",
                            "    - Prompting: add permission mapping for the camera interface",
                            "    - Notices: read notices from state without state lock",
                            "    - Notices: add methods to get notice fields and create, reoccur, and",
                            "      deepcopy notice",
                            "    - Notices: add notice manager to coordinate separate notice backends",
                            "    - Notices: support draining notices from state when notice backend",
                            "      registered as producer of a particular notice type",
                            "    - Notices: query notice manager from daemon instead of querying",
                            "      state for notices directly",
                            "    - Packaging: Ubuntu | ignore .git directory",
                            "    - Packaging: FIPS | bump deb Go FIPS to 1.23",
                            "    - Packaging: snap | bump FIPS toolchain to 1.23",
                            "    - Packaging: debian | sync most upstream changes",
                            "    - Packaging: debian-sid | depends on libcap2-bin for postint",
                            "    - Packaging: Fedora | drop fakeroot",
                            "    - Packaging: snap | modify snapd.mk to pass build tags when running",
                            "      unit tests",
                            "    - Packaging: snap | modify snapd.mk to pass nooptee build tag",
                            "    - Packaging: modify Makefile.am to fix snap-confine install profile",
                            "      with 'make hack'",
                            "    - Packaging: modify Makefile.am to fix out-of-tree use of 'make",
                            "      hack'",
                            "    - LP: #2122054 Snap installation: skip snap icon download when",
                            "      running in a cloud or using a proxy store",
                            "    - Snap installation: add timeout to http client when downloading",
                            "      snap icon",
                            "    - Snap installation: use http(s) proxy for icon downloads",
                            "    - LP: #2117558 snap-confine: fix error message with /root/snap not",
                            "      accessible",
                            "    - snap-confine: fix non-suid limitation by switching to root:root to",
                            "      operate v1 freezer",
                            "    - core-initrd: do not use writable-paths when not available",
                            "    - core-initrd: remove debian folder",
                            "    - LP: #1916244 Interfaces: gpio-chardev | re-enable the gpio-chardev",
                            "      interface now with the more robust gpio-aggregator configfs kernel",
                            "      interface",
                            "    - Interfaces: gpio-chardev | exclusive snap connections, raise a",
                            "      conflict when both gpio-chardev and gpio are connected",
                            "    - Interfaces: gpio-chardev | fix gpio-aggregator module load order",
                            "    - Interfaces: ros-snapd-support | grant access to /v2/changes",
                            "    - Interfaces: uda-driver-libs, egl-driver-libs, gbm-driver-libs,",
                            "      opengl-driver-libs, opengles-driver-libs | new interfaces to",
                            "      support nvidia driver components",
                            "    - Interfaces: microstack-support | allow DPDK (hugepage related",
                            "      permissions)",
                            "    - Interfaces: system-observe | allow reading additional files in",
                            "      /proc, needed by node-exporter",
                            "    - Interfaces: u2f | add Cano Key, Thesis FIDO2 BioFP+ Security Key",
                            "      and Kensington VeriMark DT Fingerprint Key to device list",
                            "    - Interfaces: snap-interfaces-requests-control | allow shell API",
                            "      control",
                            "    - Interfaces: fwupd | allow access to Intel CVS sysfs",
                            "    - Interfaces: hardware-observe | allow read access to Kernel",
                            "      Samepage Merging (KSM)",
                            "    - Interfaces: xilinx-dma | support Multi Queue DMA (QDMA) IP",
                            "    - Interfaces: spi | relax sysfs permission rules to allow access to",
                            "      SPI device node attributes",
                            "    - Interfaces: content | introduce compatibility label",
                            "    - LP: #2121238 Interfaces: do not expose Kerberos tickets for",
                            "      classic snaps",
                            "    - Interfaces: ssh-public-keys | allow ro access to public host keys",
                            "      with ssh-key",
                            "    - Interfaces: Modify AppArmor template to allow listing systemd",
                            "      credentials and invoking systemd-creds",
                            "    - Interfaces: modify AppArmor template with workarounds for Go 1.35",
                            "      cgroup aware GOMAXPROCS",
                            "    - Interfaces: modify seccomp template to allow landlock_*",
                            "    - Prevent snap hooks from running while relevant snaps are unlinked",
                            "    - Make refreshes wait before unlinking snaps if running hooks can be",
                            "      affected",
                            "    - Fix systemd unit generation by moving \"WantedBy=\" from section",
                            "      \"unit\" to \"install\"",
                            "    - Add opt-in logging support for snap-update-ns",
                            "    - Unhide 'snap help' sign and export-key under Development category",
                            "    - LP: #2117121 Cleanly support socket activation for classic snap",
                            "    - Add architecture to 'snap version' output",
                            "    - Add 'snap debug api' option to disable authentication through",
                            "      auth.json",
                            "    - Show grade in notes for 'snap info --verbose'",
                            "    - Fix preseeding failure due to scan-disk issue on RPi",
                            "    - Support 'snap debug api' queries to user session agents",
                            "    - LP: #2112626 Improve progress reporting for snap install/refresh",
                            "    - Drop legacy BAMF_DESKTOP_FILE_HINT in desktop files",
                            "    - Fix /v2/apps error for root user when user services are present",
                            "    - LP: #2114704 Extend output to indicate when snap data snapshot was",
                            "      created during remove",
                            "    - Improve how we handle emmc volumes",
                            "    - Improve handling of system-user extra assertions",
                            ""
                        ],
                        "package": "snapd",
                        "version": "2.72",
                        "urgency": "medium",
                        "distributions": "xenial",
                        "launchpad_bugs_fixed": [
                            2124239,
                            2122054,
                            2117558,
                            1916244,
                            2121238,
                            2117121,
                            2112626,
                            2114704
                        ],
                        "author": "Ernest Lotter <ernest.lotter@canonical.com>",
                        "date": "Thu, 18 Sep 2025 10:00:54 +0200"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "ubuntu-pro-client",
                "from_version": {
                    "source_package_name": "ubuntu-advantage-tools",
                    "source_package_version": "37.1ubuntu0~25.10",
                    "version": "37.1ubuntu0~25.10"
                },
                "to_version": {
                    "source_package_name": "ubuntu-advantage-tools",
                    "source_package_version": "37.2ubuntu~25.10",
                    "version": "37.2ubuntu~25.10"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2131292
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/apparmor/ubuntu_pro_esm_cache.jinja2: fix \"DENIED\" messages when",
                            "    devicetree exists (LP: #2131292)",
                            ""
                        ],
                        "package": "ubuntu-advantage-tools",
                        "version": "37.2ubuntu~25.10",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2131292
                        ],
                        "author": "Renan Rodrigo <rr@ubuntu.com>",
                        "date": "Tue, 07 Apr 2026 15:18:57 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "ubuntu-pro-client-l10n",
                "from_version": {
                    "source_package_name": "ubuntu-advantage-tools",
                    "source_package_version": "37.1ubuntu0~25.10",
                    "version": "37.1ubuntu0~25.10"
                },
                "to_version": {
                    "source_package_name": "ubuntu-advantage-tools",
                    "source_package_version": "37.2ubuntu~25.10",
                    "version": "37.2ubuntu~25.10"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2131292
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * d/apparmor/ubuntu_pro_esm_cache.jinja2: fix \"DENIED\" messages when",
                            "    devicetree exists (LP: #2131292)",
                            ""
                        ],
                        "package": "ubuntu-advantage-tools",
                        "version": "37.2ubuntu~25.10",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2131292
                        ],
                        "author": "Renan Rodrigo <rr@ubuntu.com>",
                        "date": "Tue, 07 Apr 2026 15:18:57 -0300"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "ubuntu-release-upgrader-core",
                "from_version": {
                    "source_package_name": "ubuntu-release-upgrader",
                    "source_package_version": "1:25.10.8",
                    "version": "1:25.10.8"
                },
                "to_version": {
                    "source_package_name": "ubuntu-release-upgrader",
                    "source_package_version": "1:25.10.9",
                    "version": "1:25.10.9"
                },
                "cves": [],
                "launchpad_bugs_fixed": [
                    2146830
                ],
                "changes": [
                    {
                        "cves": [],
                        "log": [
                            "",
                            "  * all: clean forgotten -m references (LP: #2146830)",
                            "  * DistUpgrade: correct version number in EOL announcements",
                            "  * Run pre-build.sh: updating mirrors.",
                            ""
                        ],
                        "package": "ubuntu-release-upgrader",
                        "version": "1:25.10.9",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2146830
                        ],
                        "author": "Nick Rosbrook <enr0n@ubuntu.com>",
                        "date": "Mon, 30 Mar 2026 15:13:41 -0400"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "vim",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "vim-common",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "vim-runtime",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "vim-tiny",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "xxd",
                "from_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.2",
                    "version": "2:9.1.0967-1ubuntu6.2"
                },
                "to_version": {
                    "source_package_name": "vim",
                    "source_package_version": "2:9.1.0967-1ubuntu6.3",
                    "version": "2:9.1.0967-1ubuntu6.3"
                },
                "cves": [
                    {
                        "cve": "CVE-2026-35177",
                        "url": "https://ubuntu.com/security/CVE-2026-35177",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-06 18:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-39881",
                        "url": "https://ubuntu.com/security/CVE-2026-39881",
                        "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-04-08 21:17:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2026-35177",
                                "url": "https://ubuntu.com/security/CVE-2026-35177",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0280, a path traversal bypass in Vim's zip.vim plugin allows overwriting of arbitrary files when opening specially crafted zip archives, circumventing the previous fix for CVE-2025-53906. This vulnerability is fixed in 9.2.0280.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-06 18:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-39881",
                                "url": "https://ubuntu.com/security/CVE-2026-39881",
                                "cve_description": "Vim is an open source, command line text editor. Prior to 9.2.0316, a command injection vulnerability in Vim's netbeans interface allows a malicious netbeans server to execute arbitrary Ex commands when Vim connects to it, via unsanitized strings in the defineAnnoType and specialKeys protocol messages. This vulnerability is fixed in 9.2.0316.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-04-08 21:17:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * SECURITY UPDATE: Path Traversal in zip.vim",
                            "    - debian/patches/CVE-2026-35177.patch: Detect malicious zip files before",
                            "      writing in runtime/autoload/zip.vim",
                            "    - CVE-2026-35177",
                            "  * SECURITY UPDATE: Command Injection in netbeans",
                            "    - debian/patches/CVE-2026-39881.patch: Validate typename, fg, and bg",
                            "      before passing to coloncmd in src/netbeans.c",
                            "    - CVE-2026-39881",
                            ""
                        ],
                        "package": "vim",
                        "version": "2:9.1.0967-1ubuntu6.3",
                        "urgency": "medium",
                        "distributions": "questing-security",
                        "launchpad_bugs_fixed": [],
                        "author": "Kyle Kernick <kyle.kernick@canonical.com>",
                        "date": "Tue, 21 Apr 2026 13:38:35 -0600"
                    }
                ],
                "notes": null,
                "is_version_downgrade": false
            }
        ],
        "snap": []
    },
    "added": {
        "deb": [
            {
                "name": "linux-headers-6.17.0-22-generic",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-68791",
                        "url": "https://ubuntu.com/security/CVE-2025-68791",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68805",
                        "url": "https://ubuntu.com/security/CVE-2025-68805",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68812",
                        "url": "https://ubuntu.com/security/CVE-2025-68812",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71117",
                        "url": "https://ubuntu.com/security/CVE-2025-71117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71070",
                        "url": "https://ubuntu.com/security/CVE-2025-71070",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71124",
                        "url": "https://ubuntu.com/security/CVE-2025-71124",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71115",
                        "url": "https://ubuntu.com/security/CVE-2025-71115",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68823",
                        "url": "https://ubuntu.com/security/CVE-2025-68823",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68793",
                        "url": "https://ubuntu.com/security/CVE-2025-68793",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68807",
                        "url": "https://ubuntu.com/security/CVE-2025-68807",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68768",
                        "url": "https://ubuntu.com/security/CVE-2025-68768",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71140",
                        "url": "https://ubuntu.com/security/CVE-2025-71140",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71156",
                        "url": "https://ubuntu.com/security/CVE-2025-71156",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-36347",
                        "url": "https://ubuntu.com/security/CVE-2024-36347",
                        "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-06-27 23:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71068",
                        "url": "https://ubuntu.com/security/CVE-2025-71068",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68772",
                        "url": "https://ubuntu.com/security/CVE-2025-68772",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71105",
                        "url": "https://ubuntu.com/security/CVE-2025-71105",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71130",
                        "url": "https://ubuntu.com/security/CVE-2025-71130",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71138",
                        "url": "https://ubuntu.com/security/CVE-2025-71138",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71083",
                        "url": "https://ubuntu.com/security/CVE-2025-71083",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71099",
                        "url": "https://ubuntu.com/security/CVE-2025-71099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71079",
                        "url": "https://ubuntu.com/security/CVE-2025-71079",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71129",
                        "url": "https://ubuntu.com/security/CVE-2025-71129",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71093",
                        "url": "https://ubuntu.com/security/CVE-2025-71093",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71084",
                        "url": "https://ubuntu.com/security/CVE-2025-71084",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71096",
                        "url": "https://ubuntu.com/security/CVE-2025-71096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71136",
                        "url": "https://ubuntu.com/security/CVE-2025-71136",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71143",
                        "url": "https://ubuntu.com/security/CVE-2025-71143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71078",
                        "url": "https://ubuntu.com/security/CVE-2025-71078",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71089",
                        "url": "https://ubuntu.com/security/CVE-2025-71089",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71081",
                        "url": "https://ubuntu.com/security/CVE-2025-71081",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71153",
                        "url": "https://ubuntu.com/security/CVE-2025-71153",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71135",
                        "url": "https://ubuntu.com/security/CVE-2025-71135",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71157",
                        "url": "https://ubuntu.com/security/CVE-2025-71157",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71133",
                        "url": "https://ubuntu.com/security/CVE-2025-71133",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71080",
                        "url": "https://ubuntu.com/security/CVE-2025-71080",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71086",
                        "url": "https://ubuntu.com/security/CVE-2025-71086",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71097",
                        "url": "https://ubuntu.com/security/CVE-2025-71097",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71085",
                        "url": "https://ubuntu.com/security/CVE-2025-71085",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71095",
                        "url": "https://ubuntu.com/security/CVE-2025-71095",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71137",
                        "url": "https://ubuntu.com/security/CVE-2025-71137",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71101",
                        "url": "https://ubuntu.com/security/CVE-2025-71101",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71094",
                        "url": "https://ubuntu.com/security/CVE-2025-71094",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71132",
                        "url": "https://ubuntu.com/security/CVE-2025-71132",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71154",
                        "url": "https://ubuntu.com/security/CVE-2025-71154",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71091",
                        "url": "https://ubuntu.com/security/CVE-2025-71091",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71098",
                        "url": "https://ubuntu.com/security/CVE-2025-71098",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71082",
                        "url": "https://ubuntu.com/security/CVE-2025-71082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71131",
                        "url": "https://ubuntu.com/security/CVE-2025-71131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71087",
                        "url": "https://ubuntu.com/security/CVE-2025-71087",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71100",
                        "url": "https://ubuntu.com/security/CVE-2025-71100",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68821",
                        "url": "https://ubuntu.com/security/CVE-2025-68821",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71071",
                        "url": "https://ubuntu.com/security/CVE-2025-71071",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71111",
                        "url": "https://ubuntu.com/security/CVE-2025-71111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71113",
                        "url": "https://ubuntu.com/security/CVE-2025-71113",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71149",
                        "url": "https://ubuntu.com/security/CVE-2025-71149",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68778",
                        "url": "https://ubuntu.com/security/CVE-2025-68778",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71119",
                        "url": "https://ubuntu.com/security/CVE-2025-71119",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71120",
                        "url": "https://ubuntu.com/security/CVE-2025-71120",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68811",
                        "url": "https://ubuntu.com/security/CVE-2025-68811",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68803",
                        "url": "https://ubuntu.com/security/CVE-2025-68803",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71148",
                        "url": "https://ubuntu.com/security/CVE-2025-71148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68788",
                        "url": "https://ubuntu.com/security/CVE-2025-68788",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71125",
                        "url": "https://ubuntu.com/security/CVE-2025-71125",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68784",
                        "url": "https://ubuntu.com/security/CVE-2025-68784",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71104",
                        "url": "https://ubuntu.com/security/CVE-2025-71104",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71116",
                        "url": "https://ubuntu.com/security/CVE-2025-71116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71121",
                        "url": "https://ubuntu.com/security/CVE-2025-71121",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71102",
                        "url": "https://ubuntu.com/security/CVE-2025-71102",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68804",
                        "url": "https://ubuntu.com/security/CVE-2025-68804",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68771",
                        "url": "https://ubuntu.com/security/CVE-2025-68771",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68808",
                        "url": "https://ubuntu.com/security/CVE-2025-68808",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68810",
                        "url": "https://ubuntu.com/security/CVE-2025-68810",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68769",
                        "url": "https://ubuntu.com/security/CVE-2025-68769",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71069",
                        "url": "https://ubuntu.com/security/CVE-2025-71069",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68796",
                        "url": "https://ubuntu.com/security/CVE-2025-68796",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71065",
                        "url": "https://ubuntu.com/security/CVE-2025-71065",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71107",
                        "url": "https://ubuntu.com/security/CVE-2025-71107",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68782",
                        "url": "https://ubuntu.com/security/CVE-2025-68782",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71075",
                        "url": "https://ubuntu.com/security/CVE-2025-71075",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68818",
                        "url": "https://ubuntu.com/security/CVE-2025-68818",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68797",
                        "url": "https://ubuntu.com/security/CVE-2025-68797",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68781",
                        "url": "https://ubuntu.com/security/CVE-2025-68781",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68819",
                        "url": "https://ubuntu.com/security/CVE-2025-68819",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71126",
                        "url": "https://ubuntu.com/security/CVE-2025-71126",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68820",
                        "url": "https://ubuntu.com/security/CVE-2025-68820",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71123",
                        "url": "https://ubuntu.com/security/CVE-2025-71123",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71077",
                        "url": "https://ubuntu.com/security/CVE-2025-71077",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68814",
                        "url": "https://ubuntu.com/security/CVE-2025-68814",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71147",
                        "url": "https://ubuntu.com/security/CVE-2025-71147",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71151",
                        "url": "https://ubuntu.com/security/CVE-2025-71151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71109",
                        "url": "https://ubuntu.com/security/CVE-2025-71109",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71108",
                        "url": "https://ubuntu.com/security/CVE-2025-71108",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71114",
                        "url": "https://ubuntu.com/security/CVE-2025-71114",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68783",
                        "url": "https://ubuntu.com/security/CVE-2025-68783",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68776",
                        "url": "https://ubuntu.com/security/CVE-2025-68776",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68773",
                        "url": "https://ubuntu.com/security/CVE-2025-68773",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68822",
                        "url": "https://ubuntu.com/security/CVE-2025-68822",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71073",
                        "url": "https://ubuntu.com/security/CVE-2025-71073",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68777",
                        "url": "https://ubuntu.com/security/CVE-2025-68777",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68806",
                        "url": "https://ubuntu.com/security/CVE-2025-68806",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71150",
                        "url": "https://ubuntu.com/security/CVE-2025-71150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68786",
                        "url": "https://ubuntu.com/security/CVE-2025-68786",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71076",
                        "url": "https://ubuntu.com/security/CVE-2025-71076",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68802",
                        "url": "https://ubuntu.com/security/CVE-2025-68802",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68789",
                        "url": "https://ubuntu.com/security/CVE-2025-68789",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71112",
                        "url": "https://ubuntu.com/security/CVE-2025-71112",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71064",
                        "url": "https://ubuntu.com/security/CVE-2025-71064",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68775",
                        "url": "https://ubuntu.com/security/CVE-2025-68775",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68816",
                        "url": "https://ubuntu.com/security/CVE-2025-68816",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68795",
                        "url": "https://ubuntu.com/security/CVE-2025-68795",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71122",
                        "url": "https://ubuntu.com/security/CVE-2025-71122",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68815",
                        "url": "https://ubuntu.com/security/CVE-2025-68815",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68799",
                        "url": "https://ubuntu.com/security/CVE-2025-68799",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68813",
                        "url": "https://ubuntu.com/security/CVE-2025-68813",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68785",
                        "url": "https://ubuntu.com/security/CVE-2025-68785",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68770",
                        "url": "https://ubuntu.com/security/CVE-2025-68770",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68800",
                        "url": "https://ubuntu.com/security/CVE-2025-68800",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68801",
                        "url": "https://ubuntu.com/security/CVE-2025-68801",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71066",
                        "url": "https://ubuntu.com/security/CVE-2025-71066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68787",
                        "url": "https://ubuntu.com/security/CVE-2025-68787",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68809",
                        "url": "https://ubuntu.com/security/CVE-2025-68809",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68817",
                        "url": "https://ubuntu.com/security/CVE-2025-68817",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68767",
                        "url": "https://ubuntu.com/security/CVE-2025-68767",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68774",
                        "url": "https://ubuntu.com/security/CVE-2025-68774",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71067",
                        "url": "https://ubuntu.com/security/CVE-2025-71067",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71118",
                        "url": "https://ubuntu.com/security/CVE-2025-71118",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68780",
                        "url": "https://ubuntu.com/security/CVE-2025-68780",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68798",
                        "url": "https://ubuntu.com/security/CVE-2025-68798",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68794",
                        "url": "https://ubuntu.com/security/CVE-2025-68794",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71072",
                        "url": "https://ubuntu.com/security/CVE-2025-71072",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68351",
                        "url": "https://ubuntu.com/security/CVE-2025-68351",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68736",
                        "url": "https://ubuntu.com/security/CVE-2025-68736",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68353",
                        "url": "https://ubuntu.com/security/CVE-2025-68353",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68745",
                        "url": "https://ubuntu.com/security/CVE-2025-68745",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68365",
                        "url": "https://ubuntu.com/security/CVE-2025-68365",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68368",
                        "url": "https://ubuntu.com/security/CVE-2025-68368",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68725",
                        "url": "https://ubuntu.com/security/CVE-2025-68725",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23111",
                        "url": "https://ubuntu.com/security/CVE-2026-23111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-02-13 14:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23209",
                        "url": "https://ubuntu.com/security/CVE-2026-23209",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-14 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23074",
                        "url": "https://ubuntu.com/security/CVE-2026-23074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23060",
                        "url": "https://ubuntu.com/security/CVE-2026-23060",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2143424,
                    2143428,
                    2134400,
                    2137613,
                    2141276,
                    2141377,
                    2137272,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-68791",
                                "url": "https://ubuntu.com/security/CVE-2025-68791",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68805",
                                "url": "https://ubuntu.com/security/CVE-2025-68805",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68812",
                                "url": "https://ubuntu.com/security/CVE-2025-68812",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71117",
                                "url": "https://ubuntu.com/security/CVE-2025-71117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71070",
                                "url": "https://ubuntu.com/security/CVE-2025-71070",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71124",
                                "url": "https://ubuntu.com/security/CVE-2025-71124",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71115",
                                "url": "https://ubuntu.com/security/CVE-2025-71115",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68823",
                                "url": "https://ubuntu.com/security/CVE-2025-68823",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68793",
                                "url": "https://ubuntu.com/security/CVE-2025-68793",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68807",
                                "url": "https://ubuntu.com/security/CVE-2025-68807",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68768",
                                "url": "https://ubuntu.com/security/CVE-2025-68768",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71140",
                                "url": "https://ubuntu.com/security/CVE-2025-71140",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71156",
                                "url": "https://ubuntu.com/security/CVE-2025-71156",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-36347",
                                "url": "https://ubuntu.com/security/CVE-2024-36347",
                                "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-06-27 23:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71068",
                                "url": "https://ubuntu.com/security/CVE-2025-71068",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68772",
                                "url": "https://ubuntu.com/security/CVE-2025-68772",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71105",
                                "url": "https://ubuntu.com/security/CVE-2025-71105",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71130",
                                "url": "https://ubuntu.com/security/CVE-2025-71130",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71138",
                                "url": "https://ubuntu.com/security/CVE-2025-71138",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71083",
                                "url": "https://ubuntu.com/security/CVE-2025-71083",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71099",
                                "url": "https://ubuntu.com/security/CVE-2025-71099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71079",
                                "url": "https://ubuntu.com/security/CVE-2025-71079",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71129",
                                "url": "https://ubuntu.com/security/CVE-2025-71129",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71093",
                                "url": "https://ubuntu.com/security/CVE-2025-71093",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71084",
                                "url": "https://ubuntu.com/security/CVE-2025-71084",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71096",
                                "url": "https://ubuntu.com/security/CVE-2025-71096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71136",
                                "url": "https://ubuntu.com/security/CVE-2025-71136",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71143",
                                "url": "https://ubuntu.com/security/CVE-2025-71143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71078",
                                "url": "https://ubuntu.com/security/CVE-2025-71078",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71089",
                                "url": "https://ubuntu.com/security/CVE-2025-71089",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71081",
                                "url": "https://ubuntu.com/security/CVE-2025-71081",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71153",
                                "url": "https://ubuntu.com/security/CVE-2025-71153",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71135",
                                "url": "https://ubuntu.com/security/CVE-2025-71135",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71157",
                                "url": "https://ubuntu.com/security/CVE-2025-71157",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71133",
                                "url": "https://ubuntu.com/security/CVE-2025-71133",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71080",
                                "url": "https://ubuntu.com/security/CVE-2025-71080",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71086",
                                "url": "https://ubuntu.com/security/CVE-2025-71086",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71097",
                                "url": "https://ubuntu.com/security/CVE-2025-71097",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71085",
                                "url": "https://ubuntu.com/security/CVE-2025-71085",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71095",
                                "url": "https://ubuntu.com/security/CVE-2025-71095",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71137",
                                "url": "https://ubuntu.com/security/CVE-2025-71137",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71101",
                                "url": "https://ubuntu.com/security/CVE-2025-71101",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71094",
                                "url": "https://ubuntu.com/security/CVE-2025-71094",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71132",
                                "url": "https://ubuntu.com/security/CVE-2025-71132",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71154",
                                "url": "https://ubuntu.com/security/CVE-2025-71154",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71091",
                                "url": "https://ubuntu.com/security/CVE-2025-71091",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71098",
                                "url": "https://ubuntu.com/security/CVE-2025-71098",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71082",
                                "url": "https://ubuntu.com/security/CVE-2025-71082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71131",
                                "url": "https://ubuntu.com/security/CVE-2025-71131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71087",
                                "url": "https://ubuntu.com/security/CVE-2025-71087",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71100",
                                "url": "https://ubuntu.com/security/CVE-2025-71100",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68821",
                                "url": "https://ubuntu.com/security/CVE-2025-68821",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71071",
                                "url": "https://ubuntu.com/security/CVE-2025-71071",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71111",
                                "url": "https://ubuntu.com/security/CVE-2025-71111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71113",
                                "url": "https://ubuntu.com/security/CVE-2025-71113",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71149",
                                "url": "https://ubuntu.com/security/CVE-2025-71149",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68778",
                                "url": "https://ubuntu.com/security/CVE-2025-68778",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71119",
                                "url": "https://ubuntu.com/security/CVE-2025-71119",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71120",
                                "url": "https://ubuntu.com/security/CVE-2025-71120",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68811",
                                "url": "https://ubuntu.com/security/CVE-2025-68811",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68803",
                                "url": "https://ubuntu.com/security/CVE-2025-68803",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71148",
                                "url": "https://ubuntu.com/security/CVE-2025-71148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68788",
                                "url": "https://ubuntu.com/security/CVE-2025-68788",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71125",
                                "url": "https://ubuntu.com/security/CVE-2025-71125",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68784",
                                "url": "https://ubuntu.com/security/CVE-2025-68784",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71104",
                                "url": "https://ubuntu.com/security/CVE-2025-71104",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71116",
                                "url": "https://ubuntu.com/security/CVE-2025-71116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71121",
                                "url": "https://ubuntu.com/security/CVE-2025-71121",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71102",
                                "url": "https://ubuntu.com/security/CVE-2025-71102",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68804",
                                "url": "https://ubuntu.com/security/CVE-2025-68804",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68771",
                                "url": "https://ubuntu.com/security/CVE-2025-68771",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68808",
                                "url": "https://ubuntu.com/security/CVE-2025-68808",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68810",
                                "url": "https://ubuntu.com/security/CVE-2025-68810",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68769",
                                "url": "https://ubuntu.com/security/CVE-2025-68769",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71069",
                                "url": "https://ubuntu.com/security/CVE-2025-71069",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68796",
                                "url": "https://ubuntu.com/security/CVE-2025-68796",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71065",
                                "url": "https://ubuntu.com/security/CVE-2025-71065",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71107",
                                "url": "https://ubuntu.com/security/CVE-2025-71107",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68782",
                                "url": "https://ubuntu.com/security/CVE-2025-68782",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71075",
                                "url": "https://ubuntu.com/security/CVE-2025-71075",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68818",
                                "url": "https://ubuntu.com/security/CVE-2025-68818",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68797",
                                "url": "https://ubuntu.com/security/CVE-2025-68797",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68781",
                                "url": "https://ubuntu.com/security/CVE-2025-68781",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68819",
                                "url": "https://ubuntu.com/security/CVE-2025-68819",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71126",
                                "url": "https://ubuntu.com/security/CVE-2025-71126",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68820",
                                "url": "https://ubuntu.com/security/CVE-2025-68820",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71123",
                                "url": "https://ubuntu.com/security/CVE-2025-71123",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71077",
                                "url": "https://ubuntu.com/security/CVE-2025-71077",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68814",
                                "url": "https://ubuntu.com/security/CVE-2025-68814",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71147",
                                "url": "https://ubuntu.com/security/CVE-2025-71147",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71151",
                                "url": "https://ubuntu.com/security/CVE-2025-71151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71109",
                                "url": "https://ubuntu.com/security/CVE-2025-71109",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71108",
                                "url": "https://ubuntu.com/security/CVE-2025-71108",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71114",
                                "url": "https://ubuntu.com/security/CVE-2025-71114",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68783",
                                "url": "https://ubuntu.com/security/CVE-2025-68783",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68776",
                                "url": "https://ubuntu.com/security/CVE-2025-68776",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68773",
                                "url": "https://ubuntu.com/security/CVE-2025-68773",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68822",
                                "url": "https://ubuntu.com/security/CVE-2025-68822",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71073",
                                "url": "https://ubuntu.com/security/CVE-2025-71073",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68777",
                                "url": "https://ubuntu.com/security/CVE-2025-68777",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68806",
                                "url": "https://ubuntu.com/security/CVE-2025-68806",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71150",
                                "url": "https://ubuntu.com/security/CVE-2025-71150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68786",
                                "url": "https://ubuntu.com/security/CVE-2025-68786",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71076",
                                "url": "https://ubuntu.com/security/CVE-2025-71076",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68802",
                                "url": "https://ubuntu.com/security/CVE-2025-68802",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68789",
                                "url": "https://ubuntu.com/security/CVE-2025-68789",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71112",
                                "url": "https://ubuntu.com/security/CVE-2025-71112",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71064",
                                "url": "https://ubuntu.com/security/CVE-2025-71064",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68775",
                                "url": "https://ubuntu.com/security/CVE-2025-68775",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68816",
                                "url": "https://ubuntu.com/security/CVE-2025-68816",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68795",
                                "url": "https://ubuntu.com/security/CVE-2025-68795",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71122",
                                "url": "https://ubuntu.com/security/CVE-2025-71122",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68815",
                                "url": "https://ubuntu.com/security/CVE-2025-68815",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68799",
                                "url": "https://ubuntu.com/security/CVE-2025-68799",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68813",
                                "url": "https://ubuntu.com/security/CVE-2025-68813",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68785",
                                "url": "https://ubuntu.com/security/CVE-2025-68785",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68770",
                                "url": "https://ubuntu.com/security/CVE-2025-68770",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68800",
                                "url": "https://ubuntu.com/security/CVE-2025-68800",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68801",
                                "url": "https://ubuntu.com/security/CVE-2025-68801",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71066",
                                "url": "https://ubuntu.com/security/CVE-2025-71066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68787",
                                "url": "https://ubuntu.com/security/CVE-2025-68787",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68809",
                                "url": "https://ubuntu.com/security/CVE-2025-68809",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68817",
                                "url": "https://ubuntu.com/security/CVE-2025-68817",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68767",
                                "url": "https://ubuntu.com/security/CVE-2025-68767",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68774",
                                "url": "https://ubuntu.com/security/CVE-2025-68774",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71067",
                                "url": "https://ubuntu.com/security/CVE-2025-71067",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71118",
                                "url": "https://ubuntu.com/security/CVE-2025-71118",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68780",
                                "url": "https://ubuntu.com/security/CVE-2025-68780",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68798",
                                "url": "https://ubuntu.com/security/CVE-2025-68798",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68794",
                                "url": "https://ubuntu.com/security/CVE-2025-68794",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71072",
                                "url": "https://ubuntu.com/security/CVE-2025-71072",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68351",
                                "url": "https://ubuntu.com/security/CVE-2025-68351",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68736",
                                "url": "https://ubuntu.com/security/CVE-2025-68736",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68353",
                                "url": "https://ubuntu.com/security/CVE-2025-68353",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68745",
                                "url": "https://ubuntu.com/security/CVE-2025-68745",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68365",
                                "url": "https://ubuntu.com/security/CVE-2025-68365",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68368",
                                "url": "https://ubuntu.com/security/CVE-2025-68368",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68725",
                                "url": "https://ubuntu.com/security/CVE-2025-68725",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23111",
                                "url": "https://ubuntu.com/security/CVE-2026-23111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-02-13 14:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23209",
                                "url": "https://ubuntu.com/security/CVE-2026-23209",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-14 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23074",
                                "url": "https://ubuntu.com/security/CVE-2026-23074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23060",
                                "url": "https://ubuntu.com/security/CVE-2026-23060",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * questing/linux-riscv: 6.17.0-22.22.1 -proposed tracker (LP: #2143424)",
                            "",
                            "  [ Ubuntu: 6.17.0-22.22 ]",
                            "",
                            "  * questing/linux: 6.17.0-22.22 -proposed tracker (LP: #2143428)",
                            "  * Questing preinstalled server fails to boot on QCS8300 based boards",
                            "    (LP: #2134400)",
                            "    - [Config] move qcom interconnect/pinctrl/gcc as built-in for QCS8300",
                            "  * TBT call trace while connecting TBT4 monitor on TBT5 port (LP: #2137613)",
                            "    - SAUCE: thunderbolt: log path activation failures without WARN backtraces",
                            "  * efi: Fix swapped arguments to bsearch() in efi_status_to_*() SAUCE patch",
                            "    (LP: #2141276)",
                            "    - SAUCE efi: Fix swapped arguments to bsearch() in efi_status_to_*()",
                            "  * [SRU]Fix xe GPU suspend/resume crash on Battlemage (LP: #2141377)",
                            "    - drm/xe: make xe_gt_idle_disable_c6() handle the forcewake internally",
                            "  * Accumulative updates for Intel PTL-H component enabling PV rev3.0",
                            "    (LP: #2137272)",
                            "    - drm/i915/display: Optimize panel power-on wait time",
                            "    - HID: intel-ish-hid: Use dedicated unbound workqueues to prevent resume",
                            "      blocking",
                            "    - drm/xe/guc: Recommend GUC v70.49.4 for PTL, BMG",
                            "    - HID: Intel-thc-hid: Intel-thc: Use str_true_false() helper",
                            "    - HID: intel-thc-hid: intel-quicki2c: support ACPI config for advanced",
                            "      features",
                            "    - usb: typec: ucsi: Add SET_POWER_LEVEL UCSI command to debugfs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250)",
                            "    - bpf: Fix sleepable context for async callbacks",
                            "    - bpf: extract generic helper from process_timer_func()",
                            "    - bpf: Fix handling maps with no BTF and non-constant offsets for the",
                            "      bpf_wq",
                            "    - irqchip: Drop leftover brackets",
                            "    - irqchip: Pass platform device to platform drivers",
                            "    - arm64: dts: exynos: gs101: fix clock module unit reg sizes",
                            "    - ice: move service task start out of ice_init_pf()",
                            "    - ice: move ice_init_interrupt_scheme() prior ice_init_pf()",
                            "    - ice: ice_init_pf: destroy mutexes and xarrays on memory alloc failure",
                            "    - ice: move udp_tunnel_nic and misc IRQ setup into ice_init_pf()",
                            "    - ice: move ice_init_pf() out of ice_init_dev()",
                            "    - ice: extract ice_init_dev() from ice_init()",
                            "    - ice: move ice_deinit_dev() to the end of deinit paths",
                            "    - ice: remove duplicate call to ice_deinit_hw() on error paths",
                            "    - arm64: dts: qcom: lemans: Add missing quirk for HS only USB controller",
                            "    - tools/nolibc: x86: fix section mismatch caused by asm \"mem*\" functions",
                            "    - arm64: dts: ti: k3-j784s4: Fix I2C pinmux pull configuration",
                            "    - wifi: ath12k: enforce vdev limit in ath12k_mac_vdev_create()",
                            "    - ARM: dts: am33xx: Add missing serial console speed",
                            "    - arm64: tegra: Add pinctrl definitions for pcie-ep nodes",
                            "    - arm64: mm: Move KPTI helpers to mmu.c",
                            "    - arm64/mm: Allow __create_pgd_mapping() to propagate pgtable_alloc()",
                            "      errors",
                            "    - pwm: Simplify printf to emit chip->npwm in $debugfs/pwm",
                            "    - pwm: Use %u to printf unsigned int pwm_chip::npwm and pwm_chip::id",
                            "    - soc/tegra: fuse: speedo-tegra210: Update speedo IDs",
                            "    - iio: core: add missing mutex_destroy in iio_dev_release()",
                            "    - iio: core: Clean up device correctly on iio_device_alloc() failure",
                            "    - iommu/vt-d: Set INTEL_IOMMU_FLOPPY_WA depend on BLK_DEV_FD",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_elfcorehdr()",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_usable_mem_range()",
                            "    - rtla/tests: Extend action tests to 5s",
                            "    - rtla: Fix -a overriding -t argument",
                            "    - btrfs: make sure extent and csum paths are always released in",
                            "      scrub_raid56_parity_stripe()",
                            "    - iomap: allocate s_dio_done_wq for async reads as well",
                            "    - RDMA/irdma: Remove doorbell elision logic",
                            "    - selftests/landlock: Fix makefile header list",
                            "    - io_uring/kbuf: use READ_ONCE() for userspace-mapped memory",
                            "    - ALSA: wavefront: Clear substream pointers on close",
                            "    - btrfs: do not skip logging new dentries when logging a new name",
                            "    - btrfs: fix a potential path leak in print_data_reloc_error()",
                            "    - bpf, arm64: Do not audit capability check in do_jit()",
                            "    - btrfs: fix memory leak of fs_devices in degraded seed device path",
                            "    - iomap: account for unaligned end offsets when truncating read range",
                            "    - scripts/faddr2line: Fix \"Argument list too long\" error",
                            "    - sched/fair: Revert max_newidle_lb_cost bump",
                            "    - x86/ptrace: Always inline trivial accessors",
                            "    - ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint()",
                            "      only",
                            "    - cpufreq: dt-platdev: Add JH7110S SOC to the allowlist",
                            "    - ACPI: fan: Workaround for 64-bit firmware bug",
                            "    - cpufreq: s5pv210: fix refcount leak",
                            "    - cpuidle: menu: Use residency threshold in polling state override",
                            "      decisions",
                            "    - livepatch: Match old_sympos 0 and 1 in klp_find_func()",
                            "    - fs/ntfs3: Support timestamps prior to epoch",
                            "    - kbuild: Use objtree for module signing key path",
                            "    - hfsplus: fix volume corruption issue for generic/070",
                            "    - hfsplus: fix volume corruption issue for generic/073",
                            "    - fs/ntfs3: check for shutdown in fsync",
                            "    - wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU",
                            "    - wifi: cfg80211: stop radar detection in cfg80211_leave()",
                            "    - wifi: cfg80211: use cfg80211_leave() in iftype change",
                            "    - wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC",
                            "      load",
                            "    - wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet",
                            "    - btrfs: scrub: always update btrfs_scrub_progress::last_physical",
                            "    - gfs2: fix remote evict for read-only filesystems",
                            "    - gfs2: Fix \"gfs2: Switch to wait_event in gfs2_quotad\"",
                            "    - smb/server: fix return value of smb2_ioctl()",
                            "    - Bluetooth: btusb: Add new VID/PID 2b89/6275 for RTL8761BUV",
                            "    - Bluetooth: btusb: MT7922: Add VID/PID 0489/e170",
                            "    - Bluetooth: btusb: MT7920: Add VID/PID 0489/e135",
                            "    - Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE",
                            "    - Bluetooth: btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT",
                            "    - net: fec: ERR007885 Workaround for XDP TX path",
                            "    - ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2()",
                            "    - mlxsw: spectrum_router: Fix possible neighbour reference count leak",
                            "    - broadcom: b44: prevent uninitialized value usage",
                            "    - netfilter: nf_conncount: fix leaked ct in error paths",
                            "    - nfc: pn533: Fix error code in pn533_acr122_poweron_rdr()",
                            "    - netfilter: nf_nat: remove bogus direction check",
                            "    - netfilter: nf_tables: remove redundant chain validation on register",
                            "      store",
                            "    - selftests: netfilter: packetdrill: avoid failure on HZ=100 kernel",
                            "    - iommufd/selftest: Make it clearer to gcc that the access is not out of",
                            "      bounds",
                            "    - net/mlx5: fw reset, clear reset requested on drain_fw_reset",
                            "    - net/mlx5: Drain firmware reset in shutdown callback",
                            "    - net/mlx5: fw_tracer, Handle escaped percent properly",
                            "    - net/mlx5: Serialize firmware reset with devlink",
                            "    - net: enetc: do not transmit redirected XDP frames when the link is down",
                            "    - net: hns3: using the num_tqps to check whether tqp_index is out of range",
                            "      when vf get ring info from mbx",
                            "    - hwmon: (dell-smm) Limit fan multiplier to avoid overflow",
                            "    - hwmon: (tmp401) fix overflow caused by default conversion rate value",
                            "    - drm/me/gsc: mei interrupt top half should be in irq disabled context",
                            "    - drm/xe: Restore engine registers before restarting schedulers after GT",
                            "      reset",
                            "    - MIPS: Fix a reference leak bug in ip22_check_gio()",
                            "    - drm/panel: sony-td4353-jdi: Enable prepare_prev_first",
                            "    - x86/xen: Fix sparse warning in enlighten_pv.c",
                            "    - arm64: kdump: Fix elfcorehdr overlap caused by reserved memory",
                            "      processing reorder",
                            "    - spi: cadence-quadspi: Fix clock disable on probe failure path",
                            "    - block: rnbd-clt: Fix leaked ID in init_dev()",
                            "    - hwmon: (ltc4282): Fix reset_history file permissions",
                            "    - HID: input: map HID_GD_Z to ABS_DISTANCE for stylus/pen",
                            "    - Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk",
                            "      table",
                            "    - xfs: don't leak a locked dquot when xfs_dquot_attach_buf fails",
                            "    - can: gs_usb: gs_can_open(): fix error handling",
                            "    - soc/tegra: fuse: Do not register SoC device on ACPI boot",
                            "    - ACPI: PCC: Fix race condition by removing static qualifier",
                            "    - ACPI: CPPC: Fix missing PCC check for guaranteed_perf",
                            "    - mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig",
                            "    - mmc: sdhci-of-arasan: Increase CD stable timeout to 2 seconds",
                            "    - dt-bindings: mmc: sdhci-of-aspeed: Switch ref to sdhci-common.yaml",
                            "    - x86/fpu: Fix FPU state core dump truncation on CPUs with no extended",
                            "      xfeatures",
                            "    - ALSA: vxpocket: Fix resource leak in vxpocket_probe error path",
                            "    - ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path",
                            "    - ASoC: ak4458: remove the reset operation in probe and remove",
                            "    - nfsd: fix memory leak in nfsd_create_serv error paths",
                            "    - ipmi: Fix the race between __scan_channels() and deliver_response()",
                            "    - ipmi: Fix __scan_channels() failing to rescan channels",
                            "    - scsi: ufs: host: mediatek: Fix shutdown/suspend race condition",
                            "    - firmware: imx: scu-irq: Init workqueue before request mbox channel",
                            "    - ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx",
                            "    - scsi: smartpqi: Add support for Hurray Data new controller PCI device",
                            "    - clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4",
                            "    - powerpc/addnote: Fix overflow on 32-bit builds",
                            "    - scsi: qla2xxx: Fix lost interrupts with qlini_mode=disabled",
                            "    - scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive",
                            "    - scsi: qla2xxx: Use reinit_completion on mbx_intr_comp",
                            "    - fuse: Always flush the page cache before FOPEN_DIRECT_IO write",
                            "    - fuse: Invalidate the page cache after FOPEN_DIRECT_IO write",
                            "    - reset: fix BIT macro reference",
                            "    - exfat: fix remount failure in different process environments",
                            "    - exfat: zero out post-EOF page cache on file extension",
                            "    - usbip: Fix locking bug in RT-enabled kernels",
                            "    - iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains",
                            "    - usb: xhci: limit run_graceperiod for only usb 3.0 devices",
                            "    - usb: usb-storage: No additional quirks need to be added to the EL-R12",
                            "      optical drive.",
                            "    - serial: sprd: Return -EPROBE_DEFER when uart clock is not ready",
                            "    - libperf cpumap: Fix perf_cpu_map__max for an empty/NULL map",
                            "    - clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk0_clk_src",
                            "    - i2c: designware: Disable SMBus interrupts to prevent storms from mis-",
                            "      configured firmware",
                            "    - nvme-fc: don't hold rport lock when putting ctrl",
                            "    - nvme-fabrics: add ENOKEY to no retry criteria for authentication",
                            "      failures",
                            "    - scsi: scsi_debug: Fix atomic write enable module param description",
                            "    - block: rnbd-clt: Fix signedness bug in init_dev()",
                            "    - vhost/vsock: improve RCU read sections around vhost_vsock_get()",
                            "    - x86/mce: Do not clear bank's poll bit in mce_poll_banks on AMD SMCA",
                            "      systems",
                            "    - mmc: sdhci-msm: Avoid early clock doubling during HS400 transition",
                            "    - perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister()",
                            "    - lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit",
                            "    - s390/dasd: Fix gendisk parent after copy pair swap",
                            "    - wifi: mt76: Fix DTS power-limits on little endian systems",
                            "    - block: rate-limit capacity change info log",
                            "    - floppy: fix for PAGE_SIZE != 4KB",
                            "    - kallsyms: Fix wrong \"big\" kernel symbol type read from procfs",
                            "    - fs/ntfs3: fix mount failure for sparse runs in run_unpack()",
                            "    - ktest.pl: Fix uninitialized var in config-bisect.pl",
                            "    - ext4: clear i_state_flags when alloc inode",
                            "    - ext4: fix incorrect group number assertion in mb_check_buddy",
                            "    - ext4: align max orphan file size with e2fsprogs limit",
                            "    - jbd2: use a per-journal lock_class_key for jbd2_trans_commit_key",
                            "    - jbd2: use a weaker annotation in journal handling",
                            "    - media: v4l2-mem2mem: Fix outdated documentation",
                            "    - selftests: mptcp: pm: ensure unknown flags are ignored",
                            "    - mptcp: schedule rtx timer only after pushing data",
                            "    - usb: usb-storage: Maintain minimal modifications to the bcdDevice range.",
                            "    - media: pvrusb2: Fix incorrect variable used in trace message",
                            "    - phy: broadcom: bcm63xx-usbh: fix section mismatches",
                            "    - usb: ohci-nxp: fix device leak on probe failure",
                            "    - usb: typec: altmodes/displayport: Drop the device reference in",
                            "      dp_altmode_probe()",
                            "    - USB: lpc32xx_udc: Fix error handling in probe",
                            "    - usb: phy: isp1301: fix non-OF device reference imbalance",
                            "    - usb: gadget: lpc32xx_udc: fix clock imbalance in error path",
                            "    - usb: dwc3: of-simple: fix clock resource leak in dwc3_of_simple_probe",
                            "    - usb: dwc3: keep susphy enabled during exit to avoid controller faults",
                            "    - usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()",
                            "    - intel_th: Fix error handling in intel_th_output_open",
                            "    - mei: gsc: add dependency on Xe driver",
                            "    - serial: sh-sci: Check that the DMA cookie is valid",
                            "    - cpuidle: governors: teo: Drop misguided target residency check",
                            "    - cpufreq: nforce2: fix reference count leak in nforce2",
                            "    - NFSD: use correct reservation type in nfsd4_scsi_fence_client",
                            "    - scsi: mpi3mr: Read missing IOCFacts flag for reply queue full overflow",
                            "    - scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error",
                            "    - f2fs: fix age extent cache insertion skip on counter overflow",
                            "    - f2fs: fix uninitialized one_time_gc in victim_sel_policy",
                            "    - tools/testing/nvdimm: Use per-DIMM device handle",
                            "    - KVM: x86: Don't clear async #PF queue when CR0.PG is disabled (e.g. on",
                            "      #SMI)",
                            "    - powerpc: Add reloc_offset() to font bitmap pointer used for",
                            "      bootx_printf()",
                            "    - KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with",
                            "      period=0",
                            "    - KVM: x86: Explicitly set new periodic hrtimer expiration in",
                            "      apic_timer_fn()",
                            "    - KVM: nSVM: Avoid incorrect injection of SVM_EXIT_CR0_SEL_WRITE",
                            "    - KVM: SVM: Mark VMCB_NPT as dirty on nested VMRUN",
                            "    - KVM: nSVM: Propagate SVM_EXIT_CR0_SEL_WRITE correctly for LMSW emulation",
                            "    - KVM: SVM: Mark VMCB_PERM_MAP as dirty on nested VMRUN",
                            "    - KVM: nVMX: Immediately refresh APICv controls as needed on nested VM-",
                            "      Exit",
                            "    - KVM: nSVM: Set exit_code_hi to -1 when synthesizing SVM_EXIT_ERR (failed",
                            "      VMRUN)",
                            "    - KVM: nSVM: Clear exit_code_hi in VMCB when synthesizing nested VM-Exits",
                            "    - xfs: fix a memory leak in xfs_buf_item_init()",
                            "    - xfs: fix stupid compiler warning",
                            "    - PM: runtime: Do not clear needs_force_resume with enabled runtime PM",
                            "    - r8169: fix RTL8117 Wake-on-Lan in DASH mode",
                            "    - net: phy: marvell-88q2xxx: Fix clamped value in mv88q2xxx_hwmon_write",
                            "    - NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap",
                            "    - nfsd: Mark variable __maybe_unused to avoid W=1 build break",
                            "    - svcrdma: return 0 on success from svc_rdma_copy_inline_range",
                            "    - s390/ipl: Clear SBP flag when bootprog is set",
                            "    - gpio: regmap: Fix memleak in error path in gpio_regmap_register()",
                            "    - io_uring: fix min_wait wakeups for SQPOLL",
                            "    - drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state()",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN35",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN351",
                            "    - drm/displayid: pass iter to drm_find_displayid_extension()",
                            "    - ALSA: wavefront: Use guard() for spin locks",
                            "    - pinctrl: renesas: rzg2l: Fix ISEL restore on resume",
                            "    - arm64: Revamp HCR_EL2.E2H RES1 detection",
                            "    - dt-bindings: PCI: qcom,pcie-sc7280: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sc8280xp: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8150: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8250: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8350: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8450: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8550: Add missing required power-domains",
                            "      and resets",
                            "    - crypto: caam - Add check for kcalloc() in test_len()",
                            "    - amba: tegra-ahb: Fix device leak on SMMU enable",
                            "    - virtio: vdpa: Fix reference count leak in octep_sriov_enable()",
                            "    - tracing: Fix fixed array of synthetic event",
                            "    - soc: samsung: exynos-pmu: fix device leak on regmap lookup",
                            "    - soc: qcom: pbs: fix device leak on lookup",
                            "    - soc: qcom: ocmem: fix device leak on lookup",
                            "    - soc: apple: mailbox: fix device leak on lookup",
                            "    - soc: amlogic: canvas: fix device leak on lookup",
                            "    - rpmsg: glink: fix rpmsg device leak",
                            "    - platform/x86: intel: chtwc_int33fe: don't dereference swnode args",
                            "    - i2c: amd-mp2: fix reference leak in MP2 PCI device",
                            "    - interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes",
                            "    - hwmon: (max16065) Use local variable to avoid TOCTOU",
                            "    - hwmon: (max6697) fix regmap leak on probe failure",
                            "    - hwmon: (w83l786ng) Convert macros to functions to avoid TOCTOU",
                            "    - ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32",
                            "    - x86/msi: Make irq_retrigger() functional for posted MSI",
                            "    - wifi: rtw88: limit indirect IO under powered off for RTL8822CS",
                            "    - wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()",
                            "    - wifi: mac80211: do not use old MBSSID elements",
                            "    - i40e: fix scheduling in set_rx_mode",
                            "    - i40e: validate ring_len parameter against hardware-specific values",
                            "    - idpf: reduce mbx_task schedule delay to 300us",
                            "    - net: mdio: aspeed: add dummy read to avoid read-after-write issue",
                            "    - net: openvswitch: Avoid needlessly taking the RTNL on vport destroy",
                            "    - platform/mellanox: mlxbf-pmc: Remove trailing whitespaces from event",
                            "      names",
                            "    - platform/x86: msi-laptop: add missing sysfs_remove_group()",
                            "    - platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic",
                            "    - net: dsa: fix missing put_device() in dsa_tree_find_first_conduit()",
                            "    - amd-xgbe: reset retries and mode on RX adapt failures",
                            "    - Revert \"UBUNTU: SAUCE: selftests: net: fix \"buffer overflow detected\"",
                            "      for tap.c\"",
                            "    - selftests: net: fix \"buffer overflow detected\" for tap.c",
                            "    - genalloc.h: fix htmldocs warning",
                            "    - firewire: nosy: Fix dma_free_coherent() size",
                            "    - net: dsa: b53: skip multicast entries for fdb_dump()",
                            "    - kbuild: fix compilation of dtb specified on command-line without make",
                            "      rule",
                            "    - net: bridge: Describe @tunnel_hash member in net_bridge_vlan_group",
                            "      struct",
                            "    - vfio/pds: Fix memory leak in pds_vfio_dirty_enable()",
                            "    - RDMA/efa: Remove possible negative shift",
                            "    - RDMA/core: Fix logic error in ib_get_gids_from_rdma_hdr()",
                            "    - RDMA/bnxt_re: Fix incorrect BAR check in bnxt_qplib_map_creq_db()",
                            "    - RDMA/bnxt_re: Fix IB_SEND_IP_CSUM handling in post_send",
                            "    - RDMA/bnxt_re: Fix to use correct page size for PDE table",
                            "    - md: Fix static checker warning in analyze_sbs",
                            "    - RDMA/rtrs: Fix clt_path::max_pages_per_mr calculation",
                            "    - RDMA/bnxt_re: fix dma_free_coherent() pointer",
                            "    - blk-mq: skip CPU offline notify on unmapped hctx",
                            "    - selftests/ftrace: traceonoff_triggers: strip off names",
                            "    - ntfs: Do not overwrite uptodate pages",
                            "    - ASoC: codecs: wcd939x: fix regmap leak on probe failure",
                            "    - ASoC: stm32: sai: fix device leak on probe",
                            "    - ASoC: stm32: sai: fix clk prepare imbalance on probe failure",
                            "    - ASoC: codecs: lpass-tx-macro: fix SM6115 support",
                            "    - ASoC: qcom: q6apm-dai: set flags to reflect correct operation of",
                            "      appl_ptr",
                            "    - ASoC: qcom: q6asm-dai: perform correct state check before closing",
                            "    - ASoC: qcom: q6adm: the the copp device only during last instance",
                            "    - ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.",
                            "    - iommu/amd: Fix pci_segment memleak in alloc_pci_segment()",
                            "    - iommu/amd: Propagate the error code returned by __modify_irte_ga() in",
                            "      modify_irte_ga()",
                            "    - iommu/apple-dart: fix device leak on of_xlate()",
                            "    - iommu/exynos: fix device leak on of_xlate()",
                            "    - iommu/ipmmu-vmsa: fix device leak on of_xlate()",
                            "    - iommu/mediatek-v1: fix device leak on probe_device()",
                            "    - iommu/mediatek-v1: fix device leaks on probe()",
                            "    - iommu/mediatek: fix device leak on of_xlate()",
                            "    - iommu/omap: fix device leaks on probe_device()",
                            "    - iommu/qcom: fix device leak on of_xlate()",
                            "    - iommu/sun50i: fix device leak on of_xlate()",
                            "    - iommu/tegra: fix device leak on probe_device()",
                            "    - HID: logitech-dj: Remove duplicate error logging",
                            "    - fgraph: Initialize ftrace_ops->private for function graph ops",
                            "    - fgraph: Check ftrace_pids_enabled on registration for early filtering",
                            "    - PCI/PM: Reinstate clearing state_saved in legacy and !PM codepaths",
                            "    - arm64: dts: ti: k3-j721e-sk: Fix pinmux for pin Y1 used by power",
                            "      regulator",
                            "    - powerpc, mm: Fix mprotect on book3s 32-bit",
                            "    - leds: leds-cros_ec: Skip LEDs without color components",
                            "    - leds: leds-lp50xx: Allow LED 0 to be added to module bank",
                            "    - leds: leds-lp50xx: LP5009 supports 3 modules for a total of 9 LEDs",
                            "    - leds: leds-lp50xx: Enable chip before any communication",
                            "    - block: Clear BLK_ZONE_WPLUG_PLUGGED when aborting plugged BIOs",
                            "    - mfd: altera-sysmgr: Fix device leak on sysmgr regmap lookup",
                            "    - mfd: max77620: Fix potential IRQ chip conflict when probing two devices",
                            "    - media: rc: st_rc: Fix reset control resource leak",
                            "    - media: verisilicon: Fix CPU stalls on G2 bus error",
                            "    - mtd: mtdpart: ignore error -ENOENT from parsers on subpartitions",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIQ chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q02NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H512NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H01NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H02NWxxAM chips",
                            "    - parisc: entry.S: fix space adjustment on interruption for 64-bit",
                            "      userspace",
                            "    - parisc: entry: set W bit for !compat tasks in syscall_restore_rfi()",
                            "    - perf/x86/amd/uncore: Fix the return value of amd_uncore_df_event_init()",
                            "      on error",
                            "    - powerpc/pseries/cmm: call balloon_devinfo_init() also without",
                            "      CONFIG_BALLOON_COMPACTION",
                            "    - firmware: stratix10-svc: Add mutex in stratix10 memory management",
                            "    - dm-ebs: Mark full buffer dirty even on partial write",
                            "    - dm-bufio: align write boundary on physical block size",
                            "    - fbdev: gbefb: fix to use physical address instead of dma address",
                            "    - fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing",
                            "    - fbdev: tcx.c fix mem_map to correct smem_start offset",
                            "    - media: cec: Fix debugfs leak on bus_register() failure",
                            "    - media: msp3400: Avoid possible out-of-bounds array accesses in",
                            "      msp3400c_thread()",
                            "    - media: platform: mtk-mdp3: fix device leaks at probe",
                            "    - media: renesas: rcar_drif: fix device node reference leak in",
                            "      rcar_drif_bond_enabled",
                            "    - media: samsung: exynos4-is: fix potential ABBA deadlock on init",
                            "    - media: TDA1997x: Remove redundant cancel_delayed_work in probe",
                            "    - media: verisilicon: Protect G2 HEVC decoder against invalid DPB index",
                            "    - media: videobuf2: Fix device reference leak in vb2_dc_alloc error path",
                            "    - media: vpif_capture: fix section mismatch",
                            "    - media: vpif_display: fix section mismatch",
                            "    - media: amphion: Cancel message work before releasing the VPU core",
                            "    - media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe",
                            "    - media: i2c: adv7842: Remove redundant cancel_delayed_work in probe",
                            "    - media: mediatek: vcodec: Fix a reference leak in",
                            "      mtk_vcodec_fw_vpu_init()",
                            "    - LoongArch: Add new PCI ID for pci_fixup_vgadev()",
                            "    - LoongArch: Correct the calculation logic of thread_count",
                            "    - LoongArch: Fix build errors for CONFIG_RANDSTRUCT",
                            "    - LoongArch: Use __pmd()/__pte() for swap entry conversions",
                            "    - LoongArch: Use unsigned long for _end and _text",
                            "    - mm/damon/tests/sysfs-kunit: handle alloc failures on",
                            "      damon_sysfs_test_add_targets()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures in",
                            "      damon_test_split_evenly_fail()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_test_split_evenly_succ()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_at()",
                            "    - mm/damon/tests/core-kunit: handle allocation failures in",
                            "      damon_test_regions()",
                            "    - mm/damon/tests/core-kunit: handle memory failure from",
                            "      damon_test_target()",
                            "    - mm/damon/tests/core-kunit: handle memory alloc failure from",
                            "      damon_test_aggregate()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      dasmon_test_merge_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_merge_two()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_set_regions()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_update_monitoring_result()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_ops_registration()",
                            "    - mm/damon/tests/core-kunit: handle alloc failure on",
                            "      damon_test_set_attrs()",
                            "    - pmdomain: imx: Fix reference count leak in imx_gpc_probe()",
                            "    - compiler_types.h: add \"auto\" as a macro for \"__auto_type\"",
                            "    - mm/kasan: fix incorrect unpoisoning in vrealloc for KASAN",
                            "    - kasan: refactor pcpu kasan vmalloc unpoison",
                            "    - kasan: unpoison vms[area] addresses with a common tag",
                            "    - lockd: fix vfs_test_lock() calls",
                            "    - idr: fix idr_alloc() returning an ID out of range",
                            "    - mm/page_owner: fix memory leak in page_owner_stack_fops->release()",
                            "    - tools/mm/page_owner_sort: fix timestamp comparison for stable sorting",
                            "    - samples/ftrace: Adjust LoongArch register restore order in direct calls",
                            "    - fjes: Add missing iounmap in fjes_hw_init()",
                            "    - LoongArch: Refactor register restoration in ftrace_common_return",
                            "    - LoongArch: BPF: Zero-extend bpf_tail_call() index",
                            "    - nfsd: Drop the client reference in client_states_open()",
                            "    - net: usb: sr9700: fix incorrect command used to write single register",
                            "    - net: macb: Relocate mog_init_rings() callback from macb_mac_link_up() to",
                            "      macb_open()",
                            "    - drm/amdgpu/gmc12: add amdgpu_vm_handle_fault() handling",
                            "    - drm/amdgpu: add missing lock to amdgpu_ttm_access_memory_sdma",
                            "    - drm/amdgpu/gmc11: add amdgpu_vm_handle_fault() handling",
                            "    - drm/msm/a6xx: Fix out of bound IO access in a6xx_get_gmu_registers",
                            "    - drm/buddy: Optimize free block management with RB tree",
                            "    - drm/buddy: Separate clear and dirty free block trees",
                            "    - drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg()",
                            "    - drm/edid: add DRM_EDID_IDENT_INIT() to initialize struct drm_edid_ident",
                            "    - drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse()",
                            "    - drm/mediatek: Fix probe resource leaks",
                            "    - drm/mediatek: Fix probe memory leak",
                            "    - drm/mediatek: Fix probe device leaks",
                            "    - drm/amdkfd: Trap handler support for expert scheduling mode",
                            "    - drm/i915: Fix format string truncation warning",
                            "    - drm/mgag200: Fix big-endian support",
                            "    - drm/xe/bo: Don't include the CCS metadata in the dma-buf sg-table",
                            "    - drm/xe/oa: Disallow 0 OA property values",
                            "    - drm/xe: Adjust long-running workload timeslices to reasonable values",
                            "    - drm/xe: Use usleep_range for accurate long-running workload timeslicing",
                            "    - drm/xe: Drop preempt-fences when destroying imported dma-bufs.",
                            "    - drm/nouveau/dispnv50: Don't call drm_atomic_get_crtc_state() in",
                            "      prepare_fb",
                            "    - drm/imagination: Disallow exporting of PM/FW protected objects",
                            "    - lib/crypto: riscv/chacha: Avoid s0/fp register",
                            "    - gfs2: fix freeze error handling",
                            "    - btrfs: don't rewrite ret from inode_permission",
                            "    - sched/eevdf: Fix min_vruntime vs avg_vruntime",
                            "    - erofs: fix unexpected EIO under memory pressure",
                            "    - sched_ext: Fix incorrect sched_class settings for per-cpu migration",
                            "      tasks",
                            "    - jbd2: fix the inconsistency between checksum and data in memory for",
                            "      journal sb",
                            "    - xhci: dbgtty: fix device unregister: fixup",
                            "    - f2fs: fix to detect recoverable inode during dryrun of",
                            "      find_fsync_dnodes()",
                            "    - serial: core: Restore sysfs fwnode information",
                            "    - mptcp: pm: ignore unknown endpoint flags",
                            "    - mm/ksm: fix exec/fork inheritance support for prctl",
                            "    - ARM: dts: microchip: sama7g5: fix uart fifo size to 32",
                            "    - tpm2-sessions: Fix out of range indexing in name_size",
                            "    - tpm2-sessions: Fix tpm2_read_public range checks",
                            "    - sched_ext: Factor out local_dsq_post_enq() from dispatch_enqueue()",
                            "    - sched_ext: Fix missing post-enqueue handling in",
                            "      move_local_task_to_local_dsq()",
                            "    - drm/displayid: add quirk to ignore DisplayID checksum errors",
                            "    - serial: xilinx_uartps: fix rs485 delay_rts_after_send",
                            "    - f2fs: add timeout in f2fs_enable_checkpoint()",
                            "    - f2fs: dump more information for f2fs_{enable,disable}_checkpoint()",
                            "    - f2fs: fix to propagate error from f2fs_enable_checkpoint()",
                            "    - gpiolib: acpi: Add quirk for Dell Precision 7780",
                            "    - serial: core: Fix serial device initialization",
                            "    - media: i2c: imx219: Fix 1920x1080 mode to use 1:1 pixel aspect ratio",
                            "    - ASoC: renesas: rz-ssi: Fix channel swap issue in full duplex mode",
                            "    - block: handle zone management operations completions",
                            "    - ASoC: qcom: sdw: fix memory leak for sdw_stream_runtime",
                            "    - ASoC: renesas: rz-ssi: Fix rz_ssi_priv::hw_params_cache::sample_width",
                            "    - PCI: brcmstb: Fix disabling L0s capability",
                            "    - powerpc/pseries/cmm: adjust BALLOON_MIGRATE when migrating pages",
                            "    - media: amphion: Make some vpu_v4l2 functions static",
                            "    - media: amphion: Remove vpu_vb_is_codecconfig",
                            "    - vfio/pci: Disable qword access to the PCI ROM bar",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failres in",
                            "      damon_test_new_filter()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_do_test_apply_three_regions()",
                            "    - block: fix NULL pointer dereference in blk_zone_reset_all_bio_endio()",
                            "    - bpf: Fix truncated dmabuf iterator reads",
                            "    - bpf: Fix verifier assumptions of bpf_d_path's output buffer",
                            "    - btrfs: fix changeset leak on mmap write after failure to reserve",
                            "      metadata",
                            "    - scripts: kdoc_parser.py: warn about Python version only once",
                            "    - crypto: ccp - Add support for PCI device 0x115A",
                            "    - hfsplus: fix volume corruption issue for generic/101",
                            "    - Bluetooth: btusb: add new custom firmwares",
                            "    - net/mlx5: make enable_mpesw idempotent",
                            "    - net: phy: realtek: eliminate priv->phycr2 variable",
                            "    - net: phy: realtek: eliminate has_phycr2 variable",
                            "    - net: phy: realtek: allow CLKOUT to be disabled on RTL8211F(D)(I)-VD-CG",
                            "    - net: phy: realtek: eliminate priv->phycr1 variable",
                            "    - net: phy: realtek: create rtl8211f_config_phy_eee() helper",
                            "    - net: phy: RTL8211FVD: Restore disabling of PHY-mode EEE",
                            "    - net: ti: icssg-prueth: add PTP_1588_CLOCK_OPTIONAL dependency",
                            "    - selftests: net: Fix build warnings",
                            "    - selftests: net: tfo: Fix build warning",
                            "    - inet: frags: avoid theoretical race in ip_frag_reinit()",
                            "    - inet: frags: add inet_frag_queue_flush()",
                            "    - selftests: netfilter: prefer xfail in case race wasn't triggered",
                            "    - can: j1939: make j1939_sk_bind() fail if device is no longer registered",
                            "    - net/mlx5e: Use ip6_dst_lookup instead of ipv6_dst_lookup_flow for MAC",
                            "      init",
                            "    - net/mlx5e: Trigger neighbor resolution for unresolved destinations",
                            "    - drm/tests: hdmi: Handle drm_kunit_helper_enable_crtc_connector()",
                            "      returning EDEADLK",
                            "    - drm/tests: Handle EDEADLK in drm_test_check_valid_clones()",
                            "    - drm/tests: Handle EDEADLK in set_up_atomic_state()",
                            "    - selftests: ublk: fix overflow in ublk_queue_auto_zc_fallback()",
                            "    - block: unify elevator tags and type xarrays into struct elv_change_ctx",
                            "    - block: move elevator tags into struct elevator_resources",
                            "    - block: introduce alloc_sched_data and free_sched_data elevator methods",
                            "    - block: use {alloc|free}_sched data methods",
                            "    - spi: microchip: rename driver file and internal identifiers",
                            "    - [Config] Remove CONFIG_SPI_MICROCHIP_CORE",
                            "    - spi: mpfs: Fix an error handling path in mpfs_spi_probe()",
                            "    - drm/xe: Fix freq kobject leak on sysfs_create_files failure",
                            "    - drm/xe: Apply Wa_14020316580 in xe_gt_idle_enable_pg()",
                            "    - drm/xe: Increase TDF timeout",
                            "    - io_uring: fix nr_segs calculation in io_import_kbuf",
                            "    - ublk: add parameter `struct io_uring_cmd *` to ublk_prep_auto_buf_reg()",
                            "    - ublk: add `union ublk_io_buf` with improved naming",
                            "    - ublk: refactor auto buffer register in ublk_dispatch_req()",
                            "    - drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME",
                            "    - amd/iommu: Preserve domain ids inside the kdump kernel",
                            "    - arm64: dts: mediatek: Apply mt8395-radxa DT overlay at build time",
                            "    - Input: apple_z2 - fix reading incorrect reports after exiting sleep",
                            "    - Input: xpad - add support for CRKD Guitars",
                            "    - platform/x86: intel_pmc_ipc: fix ACPI buffer memory leak",
                            "    - x86/mm/tlb/trace: Export the TLB_REMOTE_WRONG_CPU enum in",
                            "      <trace/events/tlb.h>",
                            "    - ASoC: fsl_sai: Constrain sample rates from audio PLLs only in master",
                            "      mode",
                            "    - ASoC: SDCA: support Q7.8 volume format",
                            "    - ASoC: ops: fix snd_soc_get_volsw for sx controls",
                            "    - scsi: lpfc: Fix reusing an ndlp that is marked NLP_DROPPED during FLOGI",
                            "    - usb: xhci: Don't unchain link TRBs on quirky HCs",
                            "    - platform/x86: wmi-gamezone: Add Legion Go 2 Quirks",
                            "    - hwmon: (emc2305) fix device node refcount leak in error path",
                            "    - hwmon: (emc2305) fix double put in emc2305_probe_childs_from_dt",
                            "    - ublk: add helpers to check ublk_device flags",
                            "    - rust/drm/gem: Fix missing header in `Object` rustdoc",
                            "    - rust: dma: add helpers for architectures without CONFIG_HAS_DMA",
                            "    - samples: rust: fix endianness issue in rust_driver_pci",
                            "    - rust: io: define ResourceSize as resource_size_t",
                            "    - rust: io: move ResourceSize to top-level io module",
                            "    - rust: io: add typedef for phys_addr_t",
                            "    - clk: keystone: syscon-clk: fix regmap leak on probe failure",
                            "    - printk: Avoid scheduling irq_work on suspend",
                            "    - sched_ext: Fix the memleak for sch->helper objects",
                            "    - sched_ext: Fix bypass depth leak on scx_enable() failure",
                            "    - dt-bindings: clock: mmcc-sdm660: Add missing MDSS reset",
                            "    - phy: exynos5-usbdrd: fix clock prepare imbalance",
                            "    - efi: Add missing static initializer for efi_mm::cpus_allowed_lock",
                            "    - crypto: scatterwalk - Fix memcpy_sglist() to always succeed",
                            "    - printk: Allow printk_trigger_flush() to flush all types",
                            "    - printk: Avoid irq_work for printk_deferred() on suspend",
                            "    - mm/huge_memory: add pmd folio to ds_queue in do_huge_zero_wp_pmd()",
                            "    - crash: let architecture decide crash memory export to iomem_resource",
                            "    - usb: typec: ucsi: huawei-gaokin: add DRM dependency",
                            "    - f2fs: clean up w/ get_left_section_blocks()",
                            "    - f2fs: fix to not account invalid blocks in get_left_section_blocks()",
                            "    - KVM: selftests: Forcefully override ARCH from x86_64 to x86",
                            "    - KVM: Fix last_boosted_vcpu index assignment bug",
                            "    - KVM: TDX: Explicitly set user-return MSRs that *may* be clobbered by the",
                            "      TDX-Module",
                            "    - KVM: x86: Apply runtime updates to current CPUID during",
                            "      KVM_SET_CPUID{,2}",
                            "    - KVM: selftests: Add missing \"break\" in rseq_test's param parsing",
                            "    - xfs: fix the zoned RT growfs check for zone alignment",
                            "    - xfs: validate that zoned RT devices are zone aligned",
                            "    - arm64/gcs: Flush the GCS locking state on exec",
                            "    - ALSA: hda/realtek: Add Asus quirk for TAS amplifiers",
                            "    - NFSD: Clear TIME_DELEG in the suppattr_exclcreat bitmap",
                            "    - cgroup: rstat: use LOCK CMPXCHG in css_rstat_updated",
                            "    - gpio: loongson: Switch 2K2000/3000 GPIO to BYTE_CTRL_MODE",
                            "    - crypto: arm64/ghash - Fix incorrect output from ghash-neon",
                            "    - zloop: fail zone append operations that are targeting full zones",
                            "    - zloop: make the write pointer of full zones invalid",
                            "    - vfio: Fix ksize arg while copying user struct in",
                            "      vfio_df_ioctl_bind_iommufd()",
                            "    - rtla/timerlat_bpf: Stop tracing on user latency",
                            "    - pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling",
                            "      channel is enabled",
                            "    - lib/crypto: riscv: Depend on RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS",
                            "    - [Config] Disable accelerated crypto for riscv64 by default",
                            "    - io_uring/rsrc: fix lost entries after cloned range",
                            "    - ARM: dts: microchip: sama7d65: fix uart fifo size to 32",
                            "    - ice: add missing ice_deinit_hw() in devlink reinit path",
                            "    - arp: do not assume dev_hard_header() does not change skb->head",
                            "    - firmware: imx: scu-irq: Set mu_resource_id before get handle",
                            "    - tpm: Compare HMAC values in constant time",
                            "    - keys/trusted_keys: fix handle passed to tpm_buf_append_name during",
                            "      unseal",
                            "    - intel_th: fix device leak on output open()",
                            "    - Upstream stable to v6.18.2, v6.12.64, v6.18.3",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68791",
                            "    - fuse: missing copy_finish in fuse-over-io-uring argument copies",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68805",
                            "    - fuse: fix io-uring list corruption for terminated non-committed requests",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68812",
                            "    - media: iris: Add sanity check for stop streaming",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71117",
                            "    - block: Remove queue freezing from several sysfs store callbacks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71070",
                            "    - ublk: clean up user copy references on ublk server exit",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71124",
                            "    - drm/msm/a6xx: move preempt_prepare_postamble after error check",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71115",
                            "    - um: init cpu_tasks[] earlier",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68823",
                            "    - ublk: fix deadlock when reading partition table",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68793",
                            "    - drm/amdgpu: fix a job->pasid access race in gpu recovery",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68807",
                            "    - block: fix race between wbt_enable_default and IO submission",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68768",
                            "    - inet: frags: flush pending skbs in fqdir_pre_exit()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71140",
                            "    - media: mediatek: vcodec: Use spinlock for context list protection lock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71156",
                            "    - gve: defer interrupt enabling until NAPI registration",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2024-36347",
                            "    - x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo",
                            "    - x86/microcode/AMD: Select which microcode patch to load",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71068",
                            "    - svcrdma: bound check rq_pages index in inline path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68772",
                            "    - f2fs: fix to avoid updating compression context during writeback",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71105",
                            "    - f2fs: use global inline_xattr_slab instead of per-sb slab cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71130",
                            "    - drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71138",
                            "    - drm/msm/dpu: Add missing NULL pointer check for pingpong interface",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71083",
                            "    - drm/ttm: Avoid NULL pointer deref for evicted BOs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71099",
                            "    - drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71079",
                            "    - net: nfc: fix deadlock between nfc_unregister_device and",
                            "      rfkill_fop_write",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71129",
                            "    - LoongArch: BPF: Sign extend kfunc call arguments",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71093",
                            "    - e1000: fix OOB in e1000_tbi_should_accept()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71084",
                            "    - RDMA/cm: Fix leaking the multicast GID table reference",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71096",
                            "    - RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71136",
                            "    - media: adv7842: Avoid possible out-of-bounds array accesses in",
                            "      adv7842_cp_log_status()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71143",
                            "    - clk: samsung: exynos-clkout: Assign .num before accessing .hws",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71078",
                            "    - powerpc/64s/slb: Fix SLB multihit issue during SLB preload",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71089",
                            "    - iommu: disable SVA when CONFIG_X86 is set",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71081",
                            "    - ASoC: stm32: sai: fix OF node leak on probe",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71153",
                            "    - ksmbd: Fix memory leak in get_file_all_info()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71135",
                            "    - md/raid5: fix possible null-pointer dereferences in",
                            "      raid5_store_group_thread_cnt()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71157",
                            "    - RDMA/core: always drop device refcount in ib_del_sub_device_and_put()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71133",
                            "    - RDMA/irdma: avoid invalid read in irdma_net_event",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71080",
                            "    - ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71086",
                            "    - net: rose: fix invalid array index in rose_kill_by_device()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71097",
                            "    - ipv4: Fix reference count leak when using error routes with nexthop",
                            "      objects",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71085",
                            "    - ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71095",
                            "    - net: stmmac: fix the crash issue for zero copy XDP_TX action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71137",
                            "    - octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71101",
                            "    - platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package",
                            "      parsing",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71094",
                            "    - net: usb: asix: validate PHY address before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71132",
                            "    - smc91x: fix broken irq-context in PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71154",
                            "    - net: usb: rtl8150: fix memory leak on usb_submit_urb() failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71091",
                            "    - team: fix check for port enabled in",
                            "      team_queue_override_port_prio_changed()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71098",
                            "    - ip6_gre: make ip6gre_header() robust",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71082",
                            "    - Bluetooth: btusb: revert use of devm_kzalloc in btusb",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71131",
                            "    - crypto: seqiv - Do not use req->iv after crypto_aead_encrypt",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71087",
                            "    - iavf: fix off-by-one issues in iavf_config_rss_reg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71100",
                            "    - wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68821",
                            "    - fuse: fix readahead reclaim deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71071",
                            "    - iommu/mediatek: fix use-after-free on probe deferral",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71111",
                            "    - hwmon: (w83791d) Convert macros to functions to avoid TOCTOU",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71113",
                            "    - crypto: af_alg - zero initialize memory allocated via sock_kmalloc",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71149",
                            "    - io_uring/poll: correctly handle io_poll_add() return value on update",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68778",
                            "    - btrfs: don't log conflicting inode if it's a dir moved in the current",
                            "      transaction",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71119",
                            "    - powerpc/kexec: Enable SMT before waking offline CPUs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71120",
                            "    - SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in",
                            "      gss_read_proxy_verf",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68811",
                            "    - svcrdma: use rc_pageoff for memcpy byte offset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68803",
                            "    - NFSD: NFSv4 file creation neglects setting ACL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71148",
                            "    - net/handshake: restore destructor on submit failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68788",
                            "    - fsnotify: do not generate ACCESS/MODIFY events on child for special",
                            "      files",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71125",
                            "    - tracing: Do not register unsupported perf events",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68784",
                            "    - xfs: fix a UAF problem in xattr repair",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71104",
                            "    - KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV",
                            "      timer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71116",
                            "    - libceph: make decode_pool() more resilient against corrupted osdmaps",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71121",
                            "    - parisc: Do not reprogram affinitiy on ASP chip",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71102",
                            "    - scs: fix a wrong parameter in __scs_magic",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68804",
                            "    - platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68771",
                            "    - ocfs2: fix kernel BUG in ocfs2_find_victim_chain",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68808",
                            "    - media: vidtv: initialize local pointers upon transfer of memory",
                            "      ownership",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68810",
                            "    - KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68769",
                            "    - f2fs: fix return value of f2fs_recover_fsync_data()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71069",
                            "    - f2fs: invalidate dentry cache on failed whiteout creation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68796",
                            "    - f2fs: fix to avoid updating zero-sized extent in extent cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71065",
                            "    - f2fs: fix to avoid potential deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71107",
                            "    - f2fs: ensure node page reads complete before f2fs_put_super() finishes",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68782",
                            "    - scsi: target: Reset t_task_cdb pointer in error case",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71075",
                            "    - scsi: aic94xx: fix use-after-free in device removal path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68818",
                            "    - scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in",
                            "      abort path\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68797",
                            "    - char: applicom: fix NULL pointer dereference in ac_ioctl",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68781",
                            "    - usb: phy: fsl-usb: Fix use-after-free in delayed work during device",
                            "      removal",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68819",
                            "    - media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71126",
                            "    - mptcp: avoid deadlock on fallback while reinjecting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68820",
                            "    - ext4: xattr: fix null pointer deref in ext4_raw_inode()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71123",
                            "    - ext4: fix string copying in parse_apply_sb_mount_options()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71077",
                            "    - tpm: Cap the number of PCR banks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68814",
                            "    - io_uring: fix filename leak in __io_openat_prep()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71147",
                            "    - KEYS: trusted: Fix a memory leak in tpm2_load_cmd",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71151",
                            "    - cifs: Fix memory and information leak in smb3_reconfigure()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71109",
                            "    - MIPS: ftrace: Fix memory corruption when kernel is located beyond 32",
                            "      bits",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71108",
                            "    - usb: typec: ucsi: Handle incorrect num_connectors capability",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71114",
                            "    - via_wdt: fix critical boot hang due to unnamed resource allocation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68783",
                            "    - ALSA: usb-mixer: us16x08: validate meter packet indices",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68776",
                            "    - net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68773",
                            "    - spi: fsl-cpm: Check length parity before switching to 16 bit mode",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68822",
                            "    - Input: alps - fix use-after-free bugs caused by dev3_register_work",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71073",
                            "    - Input: lkkbd - disable pending work before freeing device",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68777",
                            "    - Input: ti_am335x_tsc - fix off-by-one error in wire_order validation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68806",
                            "    - ksmbd: fix buffer validation by including null terminator size in EA",
                            "      length",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71150",
                            "    - ksmbd: Fix refcount leak when invalid session is found on session lookup",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68786",
                            "    - ksmbd: skip lock-range check on equal size to avoid size==0 underflow",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71076",
                            "    - drm/xe/oa: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68802",
                            "    - drm/xe: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68789",
                            "    - hwmon: (ibmpex) fix use-after-free in high/low store",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71112",
                            "    - net: hns3: add VLAN id validation before using",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71064",
                            "    - net: hns3: using the num_tqps in the vf driver to apply for resources",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68775",
                            "    - net/handshake: duplicate handshake cancellations leak socket",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68816",
                            "    - net/mlx5: fw_tracer, Validate format string parameters",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68795",
                            "    - ethtool: Avoid overflowing userspace buffer on stats query",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71122",
                            "    - iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68815",
                            "    - net/sched: ets: Remove drr class from the active list if it changes to",
                            "      strict",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68799",
                            "    - caif: fix integer underflow in cffrml_receive()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68813",
                            "    - ipvs: fix ipv4 null-ptr-deref in route error path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68785",
                            "    - net: openvswitch: fix middle attribute validation in push_nsh() action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68770",
                            "    - bnxt_en: Fix XDP_TX path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68800",
                            "    - mlxsw: spectrum_mr: Fix use-after-free when updating multicast route",
                            "      stats",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68801",
                            "    - mlxsw: spectrum_router: Fix neighbour use-after-free",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71066",
                            "    - net/sched: ets: Always remove class from active list before deleting in",
                            "      ets_qdisc_change",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68787",
                            "    - netrom: Fix memory leak in nr_sendmsg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68809",
                            "    - ksmbd: vfs: fix race on m_flags in vfs_cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68817",
                            "    - ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68767",
                            "    - hfsplus: Verify inode mode when loading from disk",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68774",
                            "    - hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71067",
                            "    - ntfs: set dummy blocksize to read boot_block when mounting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71118",
                            "    - ACPICA: Avoid walking the Namespace if start_node is NULL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68780",
                            "    - sched/deadline: only set free_cpus for online runqueues",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68798",
                            "    - perf/x86/amd: Check event before enable to avoid GPF",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68794",
                            "    - iomap: adjust read range correctly for non-block-aligned positions",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71072",
                            "    - shmem: fix recovery on rename failures",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68351",
                            "    - exfat: fix refcount leak in exfat_find",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68736",
                            "    - landlock: Fix handling of disconnected directories",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68353",
                            "    - net: vxlan: prevent NULL deref in vxlan_xmit_one",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68745",
                            "    - scsi: qla2xxx: Clear cmds after chip reset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68365",
                            "    - fs/ntfs3: Initialize allocated memory before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68368",
                            "    - md: init bioset in mddev_init",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68725",
                            "    - bpf: Do not let BPF test infra emit invalid GSO types to stack",
                            "  * CVE-2026-23111",
                            "    - netfilter: nf_tables: fix inverted genmask check in",
                            "      nft_map_catchall_activate()",
                            "  * CVE-2026-23209",
                            "    - macvlan: fix error recovery in macvlan_common_newlink()",
                            "  * CVE-2026-23074",
                            "    - net/sched: Enforce that teql can only be used as root qdisc",
                            "  * CVE-2026-23060",
                            "    - crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN",
                            "      spec",
                            ""
                        ],
                        "package": "linux-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2143424,
                            2143428,
                            2134400,
                            2137613,
                            2141276,
                            2141377,
                            2137272,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250
                        ],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 12:01:17 +0100"
                    }
                ],
                "notes": "linux-headers-6.17.0-22-generic version '6.17.0-22.22.1' (source package linux-riscv version '6.17.0-22.22.1') was added. linux-headers-6.17.0-22-generic version '6.17.0-22.22.1' has the same source package name, linux-riscv, as removed package linux-headers-6.17.0-20-generic. As such we can use the source package version of the removed package, '6.17.0-20.20.1', as the starting point in our changelog diff. Kernel packages are an example of where the binary package name changes for the same source package. Using the removed package source package version as our starting point means we can still get meaningful changelog diffs even for what appears to be a new package.",
                "is_version_downgrade": false
            },
            {
                "name": "linux-image-6.17.0-22-generic",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-68791",
                        "url": "https://ubuntu.com/security/CVE-2025-68791",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68805",
                        "url": "https://ubuntu.com/security/CVE-2025-68805",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68812",
                        "url": "https://ubuntu.com/security/CVE-2025-68812",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71117",
                        "url": "https://ubuntu.com/security/CVE-2025-71117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71070",
                        "url": "https://ubuntu.com/security/CVE-2025-71070",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71124",
                        "url": "https://ubuntu.com/security/CVE-2025-71124",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71115",
                        "url": "https://ubuntu.com/security/CVE-2025-71115",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68823",
                        "url": "https://ubuntu.com/security/CVE-2025-68823",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68793",
                        "url": "https://ubuntu.com/security/CVE-2025-68793",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68807",
                        "url": "https://ubuntu.com/security/CVE-2025-68807",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68768",
                        "url": "https://ubuntu.com/security/CVE-2025-68768",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71140",
                        "url": "https://ubuntu.com/security/CVE-2025-71140",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71156",
                        "url": "https://ubuntu.com/security/CVE-2025-71156",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-36347",
                        "url": "https://ubuntu.com/security/CVE-2024-36347",
                        "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-06-27 23:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71068",
                        "url": "https://ubuntu.com/security/CVE-2025-71068",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68772",
                        "url": "https://ubuntu.com/security/CVE-2025-68772",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71105",
                        "url": "https://ubuntu.com/security/CVE-2025-71105",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71130",
                        "url": "https://ubuntu.com/security/CVE-2025-71130",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71138",
                        "url": "https://ubuntu.com/security/CVE-2025-71138",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71083",
                        "url": "https://ubuntu.com/security/CVE-2025-71083",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71099",
                        "url": "https://ubuntu.com/security/CVE-2025-71099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71079",
                        "url": "https://ubuntu.com/security/CVE-2025-71079",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71129",
                        "url": "https://ubuntu.com/security/CVE-2025-71129",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71093",
                        "url": "https://ubuntu.com/security/CVE-2025-71093",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71084",
                        "url": "https://ubuntu.com/security/CVE-2025-71084",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71096",
                        "url": "https://ubuntu.com/security/CVE-2025-71096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71136",
                        "url": "https://ubuntu.com/security/CVE-2025-71136",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71143",
                        "url": "https://ubuntu.com/security/CVE-2025-71143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71078",
                        "url": "https://ubuntu.com/security/CVE-2025-71078",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71089",
                        "url": "https://ubuntu.com/security/CVE-2025-71089",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71081",
                        "url": "https://ubuntu.com/security/CVE-2025-71081",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71153",
                        "url": "https://ubuntu.com/security/CVE-2025-71153",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71135",
                        "url": "https://ubuntu.com/security/CVE-2025-71135",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71157",
                        "url": "https://ubuntu.com/security/CVE-2025-71157",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71133",
                        "url": "https://ubuntu.com/security/CVE-2025-71133",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71080",
                        "url": "https://ubuntu.com/security/CVE-2025-71080",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71086",
                        "url": "https://ubuntu.com/security/CVE-2025-71086",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71097",
                        "url": "https://ubuntu.com/security/CVE-2025-71097",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71085",
                        "url": "https://ubuntu.com/security/CVE-2025-71085",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71095",
                        "url": "https://ubuntu.com/security/CVE-2025-71095",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71137",
                        "url": "https://ubuntu.com/security/CVE-2025-71137",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71101",
                        "url": "https://ubuntu.com/security/CVE-2025-71101",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71094",
                        "url": "https://ubuntu.com/security/CVE-2025-71094",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71132",
                        "url": "https://ubuntu.com/security/CVE-2025-71132",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71154",
                        "url": "https://ubuntu.com/security/CVE-2025-71154",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71091",
                        "url": "https://ubuntu.com/security/CVE-2025-71091",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71098",
                        "url": "https://ubuntu.com/security/CVE-2025-71098",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71082",
                        "url": "https://ubuntu.com/security/CVE-2025-71082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71131",
                        "url": "https://ubuntu.com/security/CVE-2025-71131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71087",
                        "url": "https://ubuntu.com/security/CVE-2025-71087",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71100",
                        "url": "https://ubuntu.com/security/CVE-2025-71100",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68821",
                        "url": "https://ubuntu.com/security/CVE-2025-68821",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71071",
                        "url": "https://ubuntu.com/security/CVE-2025-71071",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71111",
                        "url": "https://ubuntu.com/security/CVE-2025-71111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71113",
                        "url": "https://ubuntu.com/security/CVE-2025-71113",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71149",
                        "url": "https://ubuntu.com/security/CVE-2025-71149",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68778",
                        "url": "https://ubuntu.com/security/CVE-2025-68778",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71119",
                        "url": "https://ubuntu.com/security/CVE-2025-71119",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71120",
                        "url": "https://ubuntu.com/security/CVE-2025-71120",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68811",
                        "url": "https://ubuntu.com/security/CVE-2025-68811",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68803",
                        "url": "https://ubuntu.com/security/CVE-2025-68803",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71148",
                        "url": "https://ubuntu.com/security/CVE-2025-71148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68788",
                        "url": "https://ubuntu.com/security/CVE-2025-68788",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71125",
                        "url": "https://ubuntu.com/security/CVE-2025-71125",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68784",
                        "url": "https://ubuntu.com/security/CVE-2025-68784",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71104",
                        "url": "https://ubuntu.com/security/CVE-2025-71104",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71116",
                        "url": "https://ubuntu.com/security/CVE-2025-71116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71121",
                        "url": "https://ubuntu.com/security/CVE-2025-71121",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71102",
                        "url": "https://ubuntu.com/security/CVE-2025-71102",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68804",
                        "url": "https://ubuntu.com/security/CVE-2025-68804",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68771",
                        "url": "https://ubuntu.com/security/CVE-2025-68771",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68808",
                        "url": "https://ubuntu.com/security/CVE-2025-68808",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68810",
                        "url": "https://ubuntu.com/security/CVE-2025-68810",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68769",
                        "url": "https://ubuntu.com/security/CVE-2025-68769",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71069",
                        "url": "https://ubuntu.com/security/CVE-2025-71069",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68796",
                        "url": "https://ubuntu.com/security/CVE-2025-68796",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71065",
                        "url": "https://ubuntu.com/security/CVE-2025-71065",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71107",
                        "url": "https://ubuntu.com/security/CVE-2025-71107",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68782",
                        "url": "https://ubuntu.com/security/CVE-2025-68782",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71075",
                        "url": "https://ubuntu.com/security/CVE-2025-71075",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68818",
                        "url": "https://ubuntu.com/security/CVE-2025-68818",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68797",
                        "url": "https://ubuntu.com/security/CVE-2025-68797",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68781",
                        "url": "https://ubuntu.com/security/CVE-2025-68781",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68819",
                        "url": "https://ubuntu.com/security/CVE-2025-68819",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71126",
                        "url": "https://ubuntu.com/security/CVE-2025-71126",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68820",
                        "url": "https://ubuntu.com/security/CVE-2025-68820",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71123",
                        "url": "https://ubuntu.com/security/CVE-2025-71123",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71077",
                        "url": "https://ubuntu.com/security/CVE-2025-71077",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68814",
                        "url": "https://ubuntu.com/security/CVE-2025-68814",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71147",
                        "url": "https://ubuntu.com/security/CVE-2025-71147",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71151",
                        "url": "https://ubuntu.com/security/CVE-2025-71151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71109",
                        "url": "https://ubuntu.com/security/CVE-2025-71109",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71108",
                        "url": "https://ubuntu.com/security/CVE-2025-71108",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71114",
                        "url": "https://ubuntu.com/security/CVE-2025-71114",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68783",
                        "url": "https://ubuntu.com/security/CVE-2025-68783",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68776",
                        "url": "https://ubuntu.com/security/CVE-2025-68776",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68773",
                        "url": "https://ubuntu.com/security/CVE-2025-68773",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68822",
                        "url": "https://ubuntu.com/security/CVE-2025-68822",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71073",
                        "url": "https://ubuntu.com/security/CVE-2025-71073",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68777",
                        "url": "https://ubuntu.com/security/CVE-2025-68777",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68806",
                        "url": "https://ubuntu.com/security/CVE-2025-68806",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71150",
                        "url": "https://ubuntu.com/security/CVE-2025-71150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68786",
                        "url": "https://ubuntu.com/security/CVE-2025-68786",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71076",
                        "url": "https://ubuntu.com/security/CVE-2025-71076",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68802",
                        "url": "https://ubuntu.com/security/CVE-2025-68802",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68789",
                        "url": "https://ubuntu.com/security/CVE-2025-68789",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71112",
                        "url": "https://ubuntu.com/security/CVE-2025-71112",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71064",
                        "url": "https://ubuntu.com/security/CVE-2025-71064",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68775",
                        "url": "https://ubuntu.com/security/CVE-2025-68775",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68816",
                        "url": "https://ubuntu.com/security/CVE-2025-68816",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68795",
                        "url": "https://ubuntu.com/security/CVE-2025-68795",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71122",
                        "url": "https://ubuntu.com/security/CVE-2025-71122",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68815",
                        "url": "https://ubuntu.com/security/CVE-2025-68815",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68799",
                        "url": "https://ubuntu.com/security/CVE-2025-68799",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68813",
                        "url": "https://ubuntu.com/security/CVE-2025-68813",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68785",
                        "url": "https://ubuntu.com/security/CVE-2025-68785",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68770",
                        "url": "https://ubuntu.com/security/CVE-2025-68770",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68800",
                        "url": "https://ubuntu.com/security/CVE-2025-68800",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68801",
                        "url": "https://ubuntu.com/security/CVE-2025-68801",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71066",
                        "url": "https://ubuntu.com/security/CVE-2025-71066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68787",
                        "url": "https://ubuntu.com/security/CVE-2025-68787",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68809",
                        "url": "https://ubuntu.com/security/CVE-2025-68809",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68817",
                        "url": "https://ubuntu.com/security/CVE-2025-68817",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68767",
                        "url": "https://ubuntu.com/security/CVE-2025-68767",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68774",
                        "url": "https://ubuntu.com/security/CVE-2025-68774",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71067",
                        "url": "https://ubuntu.com/security/CVE-2025-71067",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71118",
                        "url": "https://ubuntu.com/security/CVE-2025-71118",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68780",
                        "url": "https://ubuntu.com/security/CVE-2025-68780",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68798",
                        "url": "https://ubuntu.com/security/CVE-2025-68798",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68794",
                        "url": "https://ubuntu.com/security/CVE-2025-68794",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71072",
                        "url": "https://ubuntu.com/security/CVE-2025-71072",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68351",
                        "url": "https://ubuntu.com/security/CVE-2025-68351",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68736",
                        "url": "https://ubuntu.com/security/CVE-2025-68736",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68353",
                        "url": "https://ubuntu.com/security/CVE-2025-68353",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68745",
                        "url": "https://ubuntu.com/security/CVE-2025-68745",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68365",
                        "url": "https://ubuntu.com/security/CVE-2025-68365",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68368",
                        "url": "https://ubuntu.com/security/CVE-2025-68368",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68725",
                        "url": "https://ubuntu.com/security/CVE-2025-68725",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23111",
                        "url": "https://ubuntu.com/security/CVE-2026-23111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-02-13 14:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23209",
                        "url": "https://ubuntu.com/security/CVE-2026-23209",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-14 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23074",
                        "url": "https://ubuntu.com/security/CVE-2026-23074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23060",
                        "url": "https://ubuntu.com/security/CVE-2026-23060",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2143424,
                    2143428,
                    2134400,
                    2137613,
                    2141276,
                    2141377,
                    2137272,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-68791",
                                "url": "https://ubuntu.com/security/CVE-2025-68791",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68805",
                                "url": "https://ubuntu.com/security/CVE-2025-68805",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68812",
                                "url": "https://ubuntu.com/security/CVE-2025-68812",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71117",
                                "url": "https://ubuntu.com/security/CVE-2025-71117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71070",
                                "url": "https://ubuntu.com/security/CVE-2025-71070",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71124",
                                "url": "https://ubuntu.com/security/CVE-2025-71124",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71115",
                                "url": "https://ubuntu.com/security/CVE-2025-71115",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68823",
                                "url": "https://ubuntu.com/security/CVE-2025-68823",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68793",
                                "url": "https://ubuntu.com/security/CVE-2025-68793",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68807",
                                "url": "https://ubuntu.com/security/CVE-2025-68807",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68768",
                                "url": "https://ubuntu.com/security/CVE-2025-68768",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71140",
                                "url": "https://ubuntu.com/security/CVE-2025-71140",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71156",
                                "url": "https://ubuntu.com/security/CVE-2025-71156",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-36347",
                                "url": "https://ubuntu.com/security/CVE-2024-36347",
                                "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-06-27 23:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71068",
                                "url": "https://ubuntu.com/security/CVE-2025-71068",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68772",
                                "url": "https://ubuntu.com/security/CVE-2025-68772",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71105",
                                "url": "https://ubuntu.com/security/CVE-2025-71105",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71130",
                                "url": "https://ubuntu.com/security/CVE-2025-71130",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71138",
                                "url": "https://ubuntu.com/security/CVE-2025-71138",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71083",
                                "url": "https://ubuntu.com/security/CVE-2025-71083",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71099",
                                "url": "https://ubuntu.com/security/CVE-2025-71099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71079",
                                "url": "https://ubuntu.com/security/CVE-2025-71079",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71129",
                                "url": "https://ubuntu.com/security/CVE-2025-71129",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71093",
                                "url": "https://ubuntu.com/security/CVE-2025-71093",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71084",
                                "url": "https://ubuntu.com/security/CVE-2025-71084",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71096",
                                "url": "https://ubuntu.com/security/CVE-2025-71096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71136",
                                "url": "https://ubuntu.com/security/CVE-2025-71136",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71143",
                                "url": "https://ubuntu.com/security/CVE-2025-71143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71078",
                                "url": "https://ubuntu.com/security/CVE-2025-71078",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71089",
                                "url": "https://ubuntu.com/security/CVE-2025-71089",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71081",
                                "url": "https://ubuntu.com/security/CVE-2025-71081",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71153",
                                "url": "https://ubuntu.com/security/CVE-2025-71153",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71135",
                                "url": "https://ubuntu.com/security/CVE-2025-71135",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71157",
                                "url": "https://ubuntu.com/security/CVE-2025-71157",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71133",
                                "url": "https://ubuntu.com/security/CVE-2025-71133",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71080",
                                "url": "https://ubuntu.com/security/CVE-2025-71080",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71086",
                                "url": "https://ubuntu.com/security/CVE-2025-71086",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71097",
                                "url": "https://ubuntu.com/security/CVE-2025-71097",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71085",
                                "url": "https://ubuntu.com/security/CVE-2025-71085",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71095",
                                "url": "https://ubuntu.com/security/CVE-2025-71095",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71137",
                                "url": "https://ubuntu.com/security/CVE-2025-71137",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71101",
                                "url": "https://ubuntu.com/security/CVE-2025-71101",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71094",
                                "url": "https://ubuntu.com/security/CVE-2025-71094",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71132",
                                "url": "https://ubuntu.com/security/CVE-2025-71132",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71154",
                                "url": "https://ubuntu.com/security/CVE-2025-71154",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71091",
                                "url": "https://ubuntu.com/security/CVE-2025-71091",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71098",
                                "url": "https://ubuntu.com/security/CVE-2025-71098",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71082",
                                "url": "https://ubuntu.com/security/CVE-2025-71082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71131",
                                "url": "https://ubuntu.com/security/CVE-2025-71131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71087",
                                "url": "https://ubuntu.com/security/CVE-2025-71087",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71100",
                                "url": "https://ubuntu.com/security/CVE-2025-71100",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68821",
                                "url": "https://ubuntu.com/security/CVE-2025-68821",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71071",
                                "url": "https://ubuntu.com/security/CVE-2025-71071",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71111",
                                "url": "https://ubuntu.com/security/CVE-2025-71111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71113",
                                "url": "https://ubuntu.com/security/CVE-2025-71113",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71149",
                                "url": "https://ubuntu.com/security/CVE-2025-71149",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68778",
                                "url": "https://ubuntu.com/security/CVE-2025-68778",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71119",
                                "url": "https://ubuntu.com/security/CVE-2025-71119",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71120",
                                "url": "https://ubuntu.com/security/CVE-2025-71120",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68811",
                                "url": "https://ubuntu.com/security/CVE-2025-68811",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68803",
                                "url": "https://ubuntu.com/security/CVE-2025-68803",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71148",
                                "url": "https://ubuntu.com/security/CVE-2025-71148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68788",
                                "url": "https://ubuntu.com/security/CVE-2025-68788",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71125",
                                "url": "https://ubuntu.com/security/CVE-2025-71125",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68784",
                                "url": "https://ubuntu.com/security/CVE-2025-68784",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71104",
                                "url": "https://ubuntu.com/security/CVE-2025-71104",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71116",
                                "url": "https://ubuntu.com/security/CVE-2025-71116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71121",
                                "url": "https://ubuntu.com/security/CVE-2025-71121",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71102",
                                "url": "https://ubuntu.com/security/CVE-2025-71102",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68804",
                                "url": "https://ubuntu.com/security/CVE-2025-68804",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68771",
                                "url": "https://ubuntu.com/security/CVE-2025-68771",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68808",
                                "url": "https://ubuntu.com/security/CVE-2025-68808",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68810",
                                "url": "https://ubuntu.com/security/CVE-2025-68810",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68769",
                                "url": "https://ubuntu.com/security/CVE-2025-68769",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71069",
                                "url": "https://ubuntu.com/security/CVE-2025-71069",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68796",
                                "url": "https://ubuntu.com/security/CVE-2025-68796",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71065",
                                "url": "https://ubuntu.com/security/CVE-2025-71065",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71107",
                                "url": "https://ubuntu.com/security/CVE-2025-71107",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68782",
                                "url": "https://ubuntu.com/security/CVE-2025-68782",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71075",
                                "url": "https://ubuntu.com/security/CVE-2025-71075",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68818",
                                "url": "https://ubuntu.com/security/CVE-2025-68818",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68797",
                                "url": "https://ubuntu.com/security/CVE-2025-68797",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68781",
                                "url": "https://ubuntu.com/security/CVE-2025-68781",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68819",
                                "url": "https://ubuntu.com/security/CVE-2025-68819",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71126",
                                "url": "https://ubuntu.com/security/CVE-2025-71126",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68820",
                                "url": "https://ubuntu.com/security/CVE-2025-68820",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71123",
                                "url": "https://ubuntu.com/security/CVE-2025-71123",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71077",
                                "url": "https://ubuntu.com/security/CVE-2025-71077",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68814",
                                "url": "https://ubuntu.com/security/CVE-2025-68814",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71147",
                                "url": "https://ubuntu.com/security/CVE-2025-71147",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71151",
                                "url": "https://ubuntu.com/security/CVE-2025-71151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71109",
                                "url": "https://ubuntu.com/security/CVE-2025-71109",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71108",
                                "url": "https://ubuntu.com/security/CVE-2025-71108",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71114",
                                "url": "https://ubuntu.com/security/CVE-2025-71114",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68783",
                                "url": "https://ubuntu.com/security/CVE-2025-68783",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68776",
                                "url": "https://ubuntu.com/security/CVE-2025-68776",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68773",
                                "url": "https://ubuntu.com/security/CVE-2025-68773",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68822",
                                "url": "https://ubuntu.com/security/CVE-2025-68822",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71073",
                                "url": "https://ubuntu.com/security/CVE-2025-71073",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68777",
                                "url": "https://ubuntu.com/security/CVE-2025-68777",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68806",
                                "url": "https://ubuntu.com/security/CVE-2025-68806",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71150",
                                "url": "https://ubuntu.com/security/CVE-2025-71150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68786",
                                "url": "https://ubuntu.com/security/CVE-2025-68786",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71076",
                                "url": "https://ubuntu.com/security/CVE-2025-71076",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68802",
                                "url": "https://ubuntu.com/security/CVE-2025-68802",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68789",
                                "url": "https://ubuntu.com/security/CVE-2025-68789",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71112",
                                "url": "https://ubuntu.com/security/CVE-2025-71112",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71064",
                                "url": "https://ubuntu.com/security/CVE-2025-71064",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68775",
                                "url": "https://ubuntu.com/security/CVE-2025-68775",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68816",
                                "url": "https://ubuntu.com/security/CVE-2025-68816",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68795",
                                "url": "https://ubuntu.com/security/CVE-2025-68795",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71122",
                                "url": "https://ubuntu.com/security/CVE-2025-71122",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68815",
                                "url": "https://ubuntu.com/security/CVE-2025-68815",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68799",
                                "url": "https://ubuntu.com/security/CVE-2025-68799",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68813",
                                "url": "https://ubuntu.com/security/CVE-2025-68813",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68785",
                                "url": "https://ubuntu.com/security/CVE-2025-68785",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68770",
                                "url": "https://ubuntu.com/security/CVE-2025-68770",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68800",
                                "url": "https://ubuntu.com/security/CVE-2025-68800",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68801",
                                "url": "https://ubuntu.com/security/CVE-2025-68801",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71066",
                                "url": "https://ubuntu.com/security/CVE-2025-71066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68787",
                                "url": "https://ubuntu.com/security/CVE-2025-68787",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68809",
                                "url": "https://ubuntu.com/security/CVE-2025-68809",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68817",
                                "url": "https://ubuntu.com/security/CVE-2025-68817",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68767",
                                "url": "https://ubuntu.com/security/CVE-2025-68767",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68774",
                                "url": "https://ubuntu.com/security/CVE-2025-68774",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71067",
                                "url": "https://ubuntu.com/security/CVE-2025-71067",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71118",
                                "url": "https://ubuntu.com/security/CVE-2025-71118",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68780",
                                "url": "https://ubuntu.com/security/CVE-2025-68780",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68798",
                                "url": "https://ubuntu.com/security/CVE-2025-68798",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68794",
                                "url": "https://ubuntu.com/security/CVE-2025-68794",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71072",
                                "url": "https://ubuntu.com/security/CVE-2025-71072",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68351",
                                "url": "https://ubuntu.com/security/CVE-2025-68351",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68736",
                                "url": "https://ubuntu.com/security/CVE-2025-68736",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68353",
                                "url": "https://ubuntu.com/security/CVE-2025-68353",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68745",
                                "url": "https://ubuntu.com/security/CVE-2025-68745",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68365",
                                "url": "https://ubuntu.com/security/CVE-2025-68365",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68368",
                                "url": "https://ubuntu.com/security/CVE-2025-68368",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68725",
                                "url": "https://ubuntu.com/security/CVE-2025-68725",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23111",
                                "url": "https://ubuntu.com/security/CVE-2026-23111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-02-13 14:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23209",
                                "url": "https://ubuntu.com/security/CVE-2026-23209",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-14 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23074",
                                "url": "https://ubuntu.com/security/CVE-2026-23074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23060",
                                "url": "https://ubuntu.com/security/CVE-2026-23060",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * questing/linux-riscv: 6.17.0-22.22.1 -proposed tracker (LP: #2143424)",
                            "",
                            "  [ Ubuntu: 6.17.0-22.22 ]",
                            "",
                            "  * questing/linux: 6.17.0-22.22 -proposed tracker (LP: #2143428)",
                            "  * Questing preinstalled server fails to boot on QCS8300 based boards",
                            "    (LP: #2134400)",
                            "    - [Config] move qcom interconnect/pinctrl/gcc as built-in for QCS8300",
                            "  * TBT call trace while connecting TBT4 monitor on TBT5 port (LP: #2137613)",
                            "    - SAUCE: thunderbolt: log path activation failures without WARN backtraces",
                            "  * efi: Fix swapped arguments to bsearch() in efi_status_to_*() SAUCE patch",
                            "    (LP: #2141276)",
                            "    - SAUCE efi: Fix swapped arguments to bsearch() in efi_status_to_*()",
                            "  * [SRU]Fix xe GPU suspend/resume crash on Battlemage (LP: #2141377)",
                            "    - drm/xe: make xe_gt_idle_disable_c6() handle the forcewake internally",
                            "  * Accumulative updates for Intel PTL-H component enabling PV rev3.0",
                            "    (LP: #2137272)",
                            "    - drm/i915/display: Optimize panel power-on wait time",
                            "    - HID: intel-ish-hid: Use dedicated unbound workqueues to prevent resume",
                            "      blocking",
                            "    - drm/xe/guc: Recommend GUC v70.49.4 for PTL, BMG",
                            "    - HID: Intel-thc-hid: Intel-thc: Use str_true_false() helper",
                            "    - HID: intel-thc-hid: intel-quicki2c: support ACPI config for advanced",
                            "      features",
                            "    - usb: typec: ucsi: Add SET_POWER_LEVEL UCSI command to debugfs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250)",
                            "    - bpf: Fix sleepable context for async callbacks",
                            "    - bpf: extract generic helper from process_timer_func()",
                            "    - bpf: Fix handling maps with no BTF and non-constant offsets for the",
                            "      bpf_wq",
                            "    - irqchip: Drop leftover brackets",
                            "    - irqchip: Pass platform device to platform drivers",
                            "    - arm64: dts: exynos: gs101: fix clock module unit reg sizes",
                            "    - ice: move service task start out of ice_init_pf()",
                            "    - ice: move ice_init_interrupt_scheme() prior ice_init_pf()",
                            "    - ice: ice_init_pf: destroy mutexes and xarrays on memory alloc failure",
                            "    - ice: move udp_tunnel_nic and misc IRQ setup into ice_init_pf()",
                            "    - ice: move ice_init_pf() out of ice_init_dev()",
                            "    - ice: extract ice_init_dev() from ice_init()",
                            "    - ice: move ice_deinit_dev() to the end of deinit paths",
                            "    - ice: remove duplicate call to ice_deinit_hw() on error paths",
                            "    - arm64: dts: qcom: lemans: Add missing quirk for HS only USB controller",
                            "    - tools/nolibc: x86: fix section mismatch caused by asm \"mem*\" functions",
                            "    - arm64: dts: ti: k3-j784s4: Fix I2C pinmux pull configuration",
                            "    - wifi: ath12k: enforce vdev limit in ath12k_mac_vdev_create()",
                            "    - ARM: dts: am33xx: Add missing serial console speed",
                            "    - arm64: tegra: Add pinctrl definitions for pcie-ep nodes",
                            "    - arm64: mm: Move KPTI helpers to mmu.c",
                            "    - arm64/mm: Allow __create_pgd_mapping() to propagate pgtable_alloc()",
                            "      errors",
                            "    - pwm: Simplify printf to emit chip->npwm in $debugfs/pwm",
                            "    - pwm: Use %u to printf unsigned int pwm_chip::npwm and pwm_chip::id",
                            "    - soc/tegra: fuse: speedo-tegra210: Update speedo IDs",
                            "    - iio: core: add missing mutex_destroy in iio_dev_release()",
                            "    - iio: core: Clean up device correctly on iio_device_alloc() failure",
                            "    - iommu/vt-d: Set INTEL_IOMMU_FLOPPY_WA depend on BLK_DEV_FD",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_elfcorehdr()",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_usable_mem_range()",
                            "    - rtla/tests: Extend action tests to 5s",
                            "    - rtla: Fix -a overriding -t argument",
                            "    - btrfs: make sure extent and csum paths are always released in",
                            "      scrub_raid56_parity_stripe()",
                            "    - iomap: allocate s_dio_done_wq for async reads as well",
                            "    - RDMA/irdma: Remove doorbell elision logic",
                            "    - selftests/landlock: Fix makefile header list",
                            "    - io_uring/kbuf: use READ_ONCE() for userspace-mapped memory",
                            "    - ALSA: wavefront: Clear substream pointers on close",
                            "    - btrfs: do not skip logging new dentries when logging a new name",
                            "    - btrfs: fix a potential path leak in print_data_reloc_error()",
                            "    - bpf, arm64: Do not audit capability check in do_jit()",
                            "    - btrfs: fix memory leak of fs_devices in degraded seed device path",
                            "    - iomap: account for unaligned end offsets when truncating read range",
                            "    - scripts/faddr2line: Fix \"Argument list too long\" error",
                            "    - sched/fair: Revert max_newidle_lb_cost bump",
                            "    - x86/ptrace: Always inline trivial accessors",
                            "    - ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint()",
                            "      only",
                            "    - cpufreq: dt-platdev: Add JH7110S SOC to the allowlist",
                            "    - ACPI: fan: Workaround for 64-bit firmware bug",
                            "    - cpufreq: s5pv210: fix refcount leak",
                            "    - cpuidle: menu: Use residency threshold in polling state override",
                            "      decisions",
                            "    - livepatch: Match old_sympos 0 and 1 in klp_find_func()",
                            "    - fs/ntfs3: Support timestamps prior to epoch",
                            "    - kbuild: Use objtree for module signing key path",
                            "    - hfsplus: fix volume corruption issue for generic/070",
                            "    - hfsplus: fix volume corruption issue for generic/073",
                            "    - fs/ntfs3: check for shutdown in fsync",
                            "    - wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU",
                            "    - wifi: cfg80211: stop radar detection in cfg80211_leave()",
                            "    - wifi: cfg80211: use cfg80211_leave() in iftype change",
                            "    - wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC",
                            "      load",
                            "    - wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet",
                            "    - btrfs: scrub: always update btrfs_scrub_progress::last_physical",
                            "    - gfs2: fix remote evict for read-only filesystems",
                            "    - gfs2: Fix \"gfs2: Switch to wait_event in gfs2_quotad\"",
                            "    - smb/server: fix return value of smb2_ioctl()",
                            "    - Bluetooth: btusb: Add new VID/PID 2b89/6275 for RTL8761BUV",
                            "    - Bluetooth: btusb: MT7922: Add VID/PID 0489/e170",
                            "    - Bluetooth: btusb: MT7920: Add VID/PID 0489/e135",
                            "    - Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE",
                            "    - Bluetooth: btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT",
                            "    - net: fec: ERR007885 Workaround for XDP TX path",
                            "    - ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2()",
                            "    - mlxsw: spectrum_router: Fix possible neighbour reference count leak",
                            "    - broadcom: b44: prevent uninitialized value usage",
                            "    - netfilter: nf_conncount: fix leaked ct in error paths",
                            "    - nfc: pn533: Fix error code in pn533_acr122_poweron_rdr()",
                            "    - netfilter: nf_nat: remove bogus direction check",
                            "    - netfilter: nf_tables: remove redundant chain validation on register",
                            "      store",
                            "    - selftests: netfilter: packetdrill: avoid failure on HZ=100 kernel",
                            "    - iommufd/selftest: Make it clearer to gcc that the access is not out of",
                            "      bounds",
                            "    - net/mlx5: fw reset, clear reset requested on drain_fw_reset",
                            "    - net/mlx5: Drain firmware reset in shutdown callback",
                            "    - net/mlx5: fw_tracer, Handle escaped percent properly",
                            "    - net/mlx5: Serialize firmware reset with devlink",
                            "    - net: enetc: do not transmit redirected XDP frames when the link is down",
                            "    - net: hns3: using the num_tqps to check whether tqp_index is out of range",
                            "      when vf get ring info from mbx",
                            "    - hwmon: (dell-smm) Limit fan multiplier to avoid overflow",
                            "    - hwmon: (tmp401) fix overflow caused by default conversion rate value",
                            "    - drm/me/gsc: mei interrupt top half should be in irq disabled context",
                            "    - drm/xe: Restore engine registers before restarting schedulers after GT",
                            "      reset",
                            "    - MIPS: Fix a reference leak bug in ip22_check_gio()",
                            "    - drm/panel: sony-td4353-jdi: Enable prepare_prev_first",
                            "    - x86/xen: Fix sparse warning in enlighten_pv.c",
                            "    - arm64: kdump: Fix elfcorehdr overlap caused by reserved memory",
                            "      processing reorder",
                            "    - spi: cadence-quadspi: Fix clock disable on probe failure path",
                            "    - block: rnbd-clt: Fix leaked ID in init_dev()",
                            "    - hwmon: (ltc4282): Fix reset_history file permissions",
                            "    - HID: input: map HID_GD_Z to ABS_DISTANCE for stylus/pen",
                            "    - Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk",
                            "      table",
                            "    - xfs: don't leak a locked dquot when xfs_dquot_attach_buf fails",
                            "    - can: gs_usb: gs_can_open(): fix error handling",
                            "    - soc/tegra: fuse: Do not register SoC device on ACPI boot",
                            "    - ACPI: PCC: Fix race condition by removing static qualifier",
                            "    - ACPI: CPPC: Fix missing PCC check for guaranteed_perf",
                            "    - mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig",
                            "    - mmc: sdhci-of-arasan: Increase CD stable timeout to 2 seconds",
                            "    - dt-bindings: mmc: sdhci-of-aspeed: Switch ref to sdhci-common.yaml",
                            "    - x86/fpu: Fix FPU state core dump truncation on CPUs with no extended",
                            "      xfeatures",
                            "    - ALSA: vxpocket: Fix resource leak in vxpocket_probe error path",
                            "    - ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path",
                            "    - ASoC: ak4458: remove the reset operation in probe and remove",
                            "    - nfsd: fix memory leak in nfsd_create_serv error paths",
                            "    - ipmi: Fix the race between __scan_channels() and deliver_response()",
                            "    - ipmi: Fix __scan_channels() failing to rescan channels",
                            "    - scsi: ufs: host: mediatek: Fix shutdown/suspend race condition",
                            "    - firmware: imx: scu-irq: Init workqueue before request mbox channel",
                            "    - ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx",
                            "    - scsi: smartpqi: Add support for Hurray Data new controller PCI device",
                            "    - clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4",
                            "    - powerpc/addnote: Fix overflow on 32-bit builds",
                            "    - scsi: qla2xxx: Fix lost interrupts with qlini_mode=disabled",
                            "    - scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive",
                            "    - scsi: qla2xxx: Use reinit_completion on mbx_intr_comp",
                            "    - fuse: Always flush the page cache before FOPEN_DIRECT_IO write",
                            "    - fuse: Invalidate the page cache after FOPEN_DIRECT_IO write",
                            "    - reset: fix BIT macro reference",
                            "    - exfat: fix remount failure in different process environments",
                            "    - exfat: zero out post-EOF page cache on file extension",
                            "    - usbip: Fix locking bug in RT-enabled kernels",
                            "    - iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains",
                            "    - usb: xhci: limit run_graceperiod for only usb 3.0 devices",
                            "    - usb: usb-storage: No additional quirks need to be added to the EL-R12",
                            "      optical drive.",
                            "    - serial: sprd: Return -EPROBE_DEFER when uart clock is not ready",
                            "    - libperf cpumap: Fix perf_cpu_map__max for an empty/NULL map",
                            "    - clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk0_clk_src",
                            "    - i2c: designware: Disable SMBus interrupts to prevent storms from mis-",
                            "      configured firmware",
                            "    - nvme-fc: don't hold rport lock when putting ctrl",
                            "    - nvme-fabrics: add ENOKEY to no retry criteria for authentication",
                            "      failures",
                            "    - scsi: scsi_debug: Fix atomic write enable module param description",
                            "    - block: rnbd-clt: Fix signedness bug in init_dev()",
                            "    - vhost/vsock: improve RCU read sections around vhost_vsock_get()",
                            "    - x86/mce: Do not clear bank's poll bit in mce_poll_banks on AMD SMCA",
                            "      systems",
                            "    - mmc: sdhci-msm: Avoid early clock doubling during HS400 transition",
                            "    - perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister()",
                            "    - lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit",
                            "    - s390/dasd: Fix gendisk parent after copy pair swap",
                            "    - wifi: mt76: Fix DTS power-limits on little endian systems",
                            "    - block: rate-limit capacity change info log",
                            "    - floppy: fix for PAGE_SIZE != 4KB",
                            "    - kallsyms: Fix wrong \"big\" kernel symbol type read from procfs",
                            "    - fs/ntfs3: fix mount failure for sparse runs in run_unpack()",
                            "    - ktest.pl: Fix uninitialized var in config-bisect.pl",
                            "    - ext4: clear i_state_flags when alloc inode",
                            "    - ext4: fix incorrect group number assertion in mb_check_buddy",
                            "    - ext4: align max orphan file size with e2fsprogs limit",
                            "    - jbd2: use a per-journal lock_class_key for jbd2_trans_commit_key",
                            "    - jbd2: use a weaker annotation in journal handling",
                            "    - media: v4l2-mem2mem: Fix outdated documentation",
                            "    - selftests: mptcp: pm: ensure unknown flags are ignored",
                            "    - mptcp: schedule rtx timer only after pushing data",
                            "    - usb: usb-storage: Maintain minimal modifications to the bcdDevice range.",
                            "    - media: pvrusb2: Fix incorrect variable used in trace message",
                            "    - phy: broadcom: bcm63xx-usbh: fix section mismatches",
                            "    - usb: ohci-nxp: fix device leak on probe failure",
                            "    - usb: typec: altmodes/displayport: Drop the device reference in",
                            "      dp_altmode_probe()",
                            "    - USB: lpc32xx_udc: Fix error handling in probe",
                            "    - usb: phy: isp1301: fix non-OF device reference imbalance",
                            "    - usb: gadget: lpc32xx_udc: fix clock imbalance in error path",
                            "    - usb: dwc3: of-simple: fix clock resource leak in dwc3_of_simple_probe",
                            "    - usb: dwc3: keep susphy enabled during exit to avoid controller faults",
                            "    - usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()",
                            "    - intel_th: Fix error handling in intel_th_output_open",
                            "    - mei: gsc: add dependency on Xe driver",
                            "    - serial: sh-sci: Check that the DMA cookie is valid",
                            "    - cpuidle: governors: teo: Drop misguided target residency check",
                            "    - cpufreq: nforce2: fix reference count leak in nforce2",
                            "    - NFSD: use correct reservation type in nfsd4_scsi_fence_client",
                            "    - scsi: mpi3mr: Read missing IOCFacts flag for reply queue full overflow",
                            "    - scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error",
                            "    - f2fs: fix age extent cache insertion skip on counter overflow",
                            "    - f2fs: fix uninitialized one_time_gc in victim_sel_policy",
                            "    - tools/testing/nvdimm: Use per-DIMM device handle",
                            "    - KVM: x86: Don't clear async #PF queue when CR0.PG is disabled (e.g. on",
                            "      #SMI)",
                            "    - powerpc: Add reloc_offset() to font bitmap pointer used for",
                            "      bootx_printf()",
                            "    - KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with",
                            "      period=0",
                            "    - KVM: x86: Explicitly set new periodic hrtimer expiration in",
                            "      apic_timer_fn()",
                            "    - KVM: nSVM: Avoid incorrect injection of SVM_EXIT_CR0_SEL_WRITE",
                            "    - KVM: SVM: Mark VMCB_NPT as dirty on nested VMRUN",
                            "    - KVM: nSVM: Propagate SVM_EXIT_CR0_SEL_WRITE correctly for LMSW emulation",
                            "    - KVM: SVM: Mark VMCB_PERM_MAP as dirty on nested VMRUN",
                            "    - KVM: nVMX: Immediately refresh APICv controls as needed on nested VM-",
                            "      Exit",
                            "    - KVM: nSVM: Set exit_code_hi to -1 when synthesizing SVM_EXIT_ERR (failed",
                            "      VMRUN)",
                            "    - KVM: nSVM: Clear exit_code_hi in VMCB when synthesizing nested VM-Exits",
                            "    - xfs: fix a memory leak in xfs_buf_item_init()",
                            "    - xfs: fix stupid compiler warning",
                            "    - PM: runtime: Do not clear needs_force_resume with enabled runtime PM",
                            "    - r8169: fix RTL8117 Wake-on-Lan in DASH mode",
                            "    - net: phy: marvell-88q2xxx: Fix clamped value in mv88q2xxx_hwmon_write",
                            "    - NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap",
                            "    - nfsd: Mark variable __maybe_unused to avoid W=1 build break",
                            "    - svcrdma: return 0 on success from svc_rdma_copy_inline_range",
                            "    - s390/ipl: Clear SBP flag when bootprog is set",
                            "    - gpio: regmap: Fix memleak in error path in gpio_regmap_register()",
                            "    - io_uring: fix min_wait wakeups for SQPOLL",
                            "    - drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state()",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN35",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN351",
                            "    - drm/displayid: pass iter to drm_find_displayid_extension()",
                            "    - ALSA: wavefront: Use guard() for spin locks",
                            "    - pinctrl: renesas: rzg2l: Fix ISEL restore on resume",
                            "    - arm64: Revamp HCR_EL2.E2H RES1 detection",
                            "    - dt-bindings: PCI: qcom,pcie-sc7280: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sc8280xp: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8150: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8250: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8350: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8450: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8550: Add missing required power-domains",
                            "      and resets",
                            "    - crypto: caam - Add check for kcalloc() in test_len()",
                            "    - amba: tegra-ahb: Fix device leak on SMMU enable",
                            "    - virtio: vdpa: Fix reference count leak in octep_sriov_enable()",
                            "    - tracing: Fix fixed array of synthetic event",
                            "    - soc: samsung: exynos-pmu: fix device leak on regmap lookup",
                            "    - soc: qcom: pbs: fix device leak on lookup",
                            "    - soc: qcom: ocmem: fix device leak on lookup",
                            "    - soc: apple: mailbox: fix device leak on lookup",
                            "    - soc: amlogic: canvas: fix device leak on lookup",
                            "    - rpmsg: glink: fix rpmsg device leak",
                            "    - platform/x86: intel: chtwc_int33fe: don't dereference swnode args",
                            "    - i2c: amd-mp2: fix reference leak in MP2 PCI device",
                            "    - interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes",
                            "    - hwmon: (max16065) Use local variable to avoid TOCTOU",
                            "    - hwmon: (max6697) fix regmap leak on probe failure",
                            "    - hwmon: (w83l786ng) Convert macros to functions to avoid TOCTOU",
                            "    - ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32",
                            "    - x86/msi: Make irq_retrigger() functional for posted MSI",
                            "    - wifi: rtw88: limit indirect IO under powered off for RTL8822CS",
                            "    - wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()",
                            "    - wifi: mac80211: do not use old MBSSID elements",
                            "    - i40e: fix scheduling in set_rx_mode",
                            "    - i40e: validate ring_len parameter against hardware-specific values",
                            "    - idpf: reduce mbx_task schedule delay to 300us",
                            "    - net: mdio: aspeed: add dummy read to avoid read-after-write issue",
                            "    - net: openvswitch: Avoid needlessly taking the RTNL on vport destroy",
                            "    - platform/mellanox: mlxbf-pmc: Remove trailing whitespaces from event",
                            "      names",
                            "    - platform/x86: msi-laptop: add missing sysfs_remove_group()",
                            "    - platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic",
                            "    - net: dsa: fix missing put_device() in dsa_tree_find_first_conduit()",
                            "    - amd-xgbe: reset retries and mode on RX adapt failures",
                            "    - Revert \"UBUNTU: SAUCE: selftests: net: fix \"buffer overflow detected\"",
                            "      for tap.c\"",
                            "    - selftests: net: fix \"buffer overflow detected\" for tap.c",
                            "    - genalloc.h: fix htmldocs warning",
                            "    - firewire: nosy: Fix dma_free_coherent() size",
                            "    - net: dsa: b53: skip multicast entries for fdb_dump()",
                            "    - kbuild: fix compilation of dtb specified on command-line without make",
                            "      rule",
                            "    - net: bridge: Describe @tunnel_hash member in net_bridge_vlan_group",
                            "      struct",
                            "    - vfio/pds: Fix memory leak in pds_vfio_dirty_enable()",
                            "    - RDMA/efa: Remove possible negative shift",
                            "    - RDMA/core: Fix logic error in ib_get_gids_from_rdma_hdr()",
                            "    - RDMA/bnxt_re: Fix incorrect BAR check in bnxt_qplib_map_creq_db()",
                            "    - RDMA/bnxt_re: Fix IB_SEND_IP_CSUM handling in post_send",
                            "    - RDMA/bnxt_re: Fix to use correct page size for PDE table",
                            "    - md: Fix static checker warning in analyze_sbs",
                            "    - RDMA/rtrs: Fix clt_path::max_pages_per_mr calculation",
                            "    - RDMA/bnxt_re: fix dma_free_coherent() pointer",
                            "    - blk-mq: skip CPU offline notify on unmapped hctx",
                            "    - selftests/ftrace: traceonoff_triggers: strip off names",
                            "    - ntfs: Do not overwrite uptodate pages",
                            "    - ASoC: codecs: wcd939x: fix regmap leak on probe failure",
                            "    - ASoC: stm32: sai: fix device leak on probe",
                            "    - ASoC: stm32: sai: fix clk prepare imbalance on probe failure",
                            "    - ASoC: codecs: lpass-tx-macro: fix SM6115 support",
                            "    - ASoC: qcom: q6apm-dai: set flags to reflect correct operation of",
                            "      appl_ptr",
                            "    - ASoC: qcom: q6asm-dai: perform correct state check before closing",
                            "    - ASoC: qcom: q6adm: the the copp device only during last instance",
                            "    - ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.",
                            "    - iommu/amd: Fix pci_segment memleak in alloc_pci_segment()",
                            "    - iommu/amd: Propagate the error code returned by __modify_irte_ga() in",
                            "      modify_irte_ga()",
                            "    - iommu/apple-dart: fix device leak on of_xlate()",
                            "    - iommu/exynos: fix device leak on of_xlate()",
                            "    - iommu/ipmmu-vmsa: fix device leak on of_xlate()",
                            "    - iommu/mediatek-v1: fix device leak on probe_device()",
                            "    - iommu/mediatek-v1: fix device leaks on probe()",
                            "    - iommu/mediatek: fix device leak on of_xlate()",
                            "    - iommu/omap: fix device leaks on probe_device()",
                            "    - iommu/qcom: fix device leak on of_xlate()",
                            "    - iommu/sun50i: fix device leak on of_xlate()",
                            "    - iommu/tegra: fix device leak on probe_device()",
                            "    - HID: logitech-dj: Remove duplicate error logging",
                            "    - fgraph: Initialize ftrace_ops->private for function graph ops",
                            "    - fgraph: Check ftrace_pids_enabled on registration for early filtering",
                            "    - PCI/PM: Reinstate clearing state_saved in legacy and !PM codepaths",
                            "    - arm64: dts: ti: k3-j721e-sk: Fix pinmux for pin Y1 used by power",
                            "      regulator",
                            "    - powerpc, mm: Fix mprotect on book3s 32-bit",
                            "    - leds: leds-cros_ec: Skip LEDs without color components",
                            "    - leds: leds-lp50xx: Allow LED 0 to be added to module bank",
                            "    - leds: leds-lp50xx: LP5009 supports 3 modules for a total of 9 LEDs",
                            "    - leds: leds-lp50xx: Enable chip before any communication",
                            "    - block: Clear BLK_ZONE_WPLUG_PLUGGED when aborting plugged BIOs",
                            "    - mfd: altera-sysmgr: Fix device leak on sysmgr regmap lookup",
                            "    - mfd: max77620: Fix potential IRQ chip conflict when probing two devices",
                            "    - media: rc: st_rc: Fix reset control resource leak",
                            "    - media: verisilicon: Fix CPU stalls on G2 bus error",
                            "    - mtd: mtdpart: ignore error -ENOENT from parsers on subpartitions",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIQ chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q02NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H512NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H01NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H02NWxxAM chips",
                            "    - parisc: entry.S: fix space adjustment on interruption for 64-bit",
                            "      userspace",
                            "    - parisc: entry: set W bit for !compat tasks in syscall_restore_rfi()",
                            "    - perf/x86/amd/uncore: Fix the return value of amd_uncore_df_event_init()",
                            "      on error",
                            "    - powerpc/pseries/cmm: call balloon_devinfo_init() also without",
                            "      CONFIG_BALLOON_COMPACTION",
                            "    - firmware: stratix10-svc: Add mutex in stratix10 memory management",
                            "    - dm-ebs: Mark full buffer dirty even on partial write",
                            "    - dm-bufio: align write boundary on physical block size",
                            "    - fbdev: gbefb: fix to use physical address instead of dma address",
                            "    - fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing",
                            "    - fbdev: tcx.c fix mem_map to correct smem_start offset",
                            "    - media: cec: Fix debugfs leak on bus_register() failure",
                            "    - media: msp3400: Avoid possible out-of-bounds array accesses in",
                            "      msp3400c_thread()",
                            "    - media: platform: mtk-mdp3: fix device leaks at probe",
                            "    - media: renesas: rcar_drif: fix device node reference leak in",
                            "      rcar_drif_bond_enabled",
                            "    - media: samsung: exynos4-is: fix potential ABBA deadlock on init",
                            "    - media: TDA1997x: Remove redundant cancel_delayed_work in probe",
                            "    - media: verisilicon: Protect G2 HEVC decoder against invalid DPB index",
                            "    - media: videobuf2: Fix device reference leak in vb2_dc_alloc error path",
                            "    - media: vpif_capture: fix section mismatch",
                            "    - media: vpif_display: fix section mismatch",
                            "    - media: amphion: Cancel message work before releasing the VPU core",
                            "    - media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe",
                            "    - media: i2c: adv7842: Remove redundant cancel_delayed_work in probe",
                            "    - media: mediatek: vcodec: Fix a reference leak in",
                            "      mtk_vcodec_fw_vpu_init()",
                            "    - LoongArch: Add new PCI ID for pci_fixup_vgadev()",
                            "    - LoongArch: Correct the calculation logic of thread_count",
                            "    - LoongArch: Fix build errors for CONFIG_RANDSTRUCT",
                            "    - LoongArch: Use __pmd()/__pte() for swap entry conversions",
                            "    - LoongArch: Use unsigned long for _end and _text",
                            "    - mm/damon/tests/sysfs-kunit: handle alloc failures on",
                            "      damon_sysfs_test_add_targets()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures in",
                            "      damon_test_split_evenly_fail()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_test_split_evenly_succ()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_at()",
                            "    - mm/damon/tests/core-kunit: handle allocation failures in",
                            "      damon_test_regions()",
                            "    - mm/damon/tests/core-kunit: handle memory failure from",
                            "      damon_test_target()",
                            "    - mm/damon/tests/core-kunit: handle memory alloc failure from",
                            "      damon_test_aggregate()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      dasmon_test_merge_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_merge_two()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_set_regions()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_update_monitoring_result()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_ops_registration()",
                            "    - mm/damon/tests/core-kunit: handle alloc failure on",
                            "      damon_test_set_attrs()",
                            "    - pmdomain: imx: Fix reference count leak in imx_gpc_probe()",
                            "    - compiler_types.h: add \"auto\" as a macro for \"__auto_type\"",
                            "    - mm/kasan: fix incorrect unpoisoning in vrealloc for KASAN",
                            "    - kasan: refactor pcpu kasan vmalloc unpoison",
                            "    - kasan: unpoison vms[area] addresses with a common tag",
                            "    - lockd: fix vfs_test_lock() calls",
                            "    - idr: fix idr_alloc() returning an ID out of range",
                            "    - mm/page_owner: fix memory leak in page_owner_stack_fops->release()",
                            "    - tools/mm/page_owner_sort: fix timestamp comparison for stable sorting",
                            "    - samples/ftrace: Adjust LoongArch register restore order in direct calls",
                            "    - fjes: Add missing iounmap in fjes_hw_init()",
                            "    - LoongArch: Refactor register restoration in ftrace_common_return",
                            "    - LoongArch: BPF: Zero-extend bpf_tail_call() index",
                            "    - nfsd: Drop the client reference in client_states_open()",
                            "    - net: usb: sr9700: fix incorrect command used to write single register",
                            "    - net: macb: Relocate mog_init_rings() callback from macb_mac_link_up() to",
                            "      macb_open()",
                            "    - drm/amdgpu/gmc12: add amdgpu_vm_handle_fault() handling",
                            "    - drm/amdgpu: add missing lock to amdgpu_ttm_access_memory_sdma",
                            "    - drm/amdgpu/gmc11: add amdgpu_vm_handle_fault() handling",
                            "    - drm/msm/a6xx: Fix out of bound IO access in a6xx_get_gmu_registers",
                            "    - drm/buddy: Optimize free block management with RB tree",
                            "    - drm/buddy: Separate clear and dirty free block trees",
                            "    - drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg()",
                            "    - drm/edid: add DRM_EDID_IDENT_INIT() to initialize struct drm_edid_ident",
                            "    - drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse()",
                            "    - drm/mediatek: Fix probe resource leaks",
                            "    - drm/mediatek: Fix probe memory leak",
                            "    - drm/mediatek: Fix probe device leaks",
                            "    - drm/amdkfd: Trap handler support for expert scheduling mode",
                            "    - drm/i915: Fix format string truncation warning",
                            "    - drm/mgag200: Fix big-endian support",
                            "    - drm/xe/bo: Don't include the CCS metadata in the dma-buf sg-table",
                            "    - drm/xe/oa: Disallow 0 OA property values",
                            "    - drm/xe: Adjust long-running workload timeslices to reasonable values",
                            "    - drm/xe: Use usleep_range for accurate long-running workload timeslicing",
                            "    - drm/xe: Drop preempt-fences when destroying imported dma-bufs.",
                            "    - drm/nouveau/dispnv50: Don't call drm_atomic_get_crtc_state() in",
                            "      prepare_fb",
                            "    - drm/imagination: Disallow exporting of PM/FW protected objects",
                            "    - lib/crypto: riscv/chacha: Avoid s0/fp register",
                            "    - gfs2: fix freeze error handling",
                            "    - btrfs: don't rewrite ret from inode_permission",
                            "    - sched/eevdf: Fix min_vruntime vs avg_vruntime",
                            "    - erofs: fix unexpected EIO under memory pressure",
                            "    - sched_ext: Fix incorrect sched_class settings for per-cpu migration",
                            "      tasks",
                            "    - jbd2: fix the inconsistency between checksum and data in memory for",
                            "      journal sb",
                            "    - xhci: dbgtty: fix device unregister: fixup",
                            "    - f2fs: fix to detect recoverable inode during dryrun of",
                            "      find_fsync_dnodes()",
                            "    - serial: core: Restore sysfs fwnode information",
                            "    - mptcp: pm: ignore unknown endpoint flags",
                            "    - mm/ksm: fix exec/fork inheritance support for prctl",
                            "    - ARM: dts: microchip: sama7g5: fix uart fifo size to 32",
                            "    - tpm2-sessions: Fix out of range indexing in name_size",
                            "    - tpm2-sessions: Fix tpm2_read_public range checks",
                            "    - sched_ext: Factor out local_dsq_post_enq() from dispatch_enqueue()",
                            "    - sched_ext: Fix missing post-enqueue handling in",
                            "      move_local_task_to_local_dsq()",
                            "    - drm/displayid: add quirk to ignore DisplayID checksum errors",
                            "    - serial: xilinx_uartps: fix rs485 delay_rts_after_send",
                            "    - f2fs: add timeout in f2fs_enable_checkpoint()",
                            "    - f2fs: dump more information for f2fs_{enable,disable}_checkpoint()",
                            "    - f2fs: fix to propagate error from f2fs_enable_checkpoint()",
                            "    - gpiolib: acpi: Add quirk for Dell Precision 7780",
                            "    - serial: core: Fix serial device initialization",
                            "    - media: i2c: imx219: Fix 1920x1080 mode to use 1:1 pixel aspect ratio",
                            "    - ASoC: renesas: rz-ssi: Fix channel swap issue in full duplex mode",
                            "    - block: handle zone management operations completions",
                            "    - ASoC: qcom: sdw: fix memory leak for sdw_stream_runtime",
                            "    - ASoC: renesas: rz-ssi: Fix rz_ssi_priv::hw_params_cache::sample_width",
                            "    - PCI: brcmstb: Fix disabling L0s capability",
                            "    - powerpc/pseries/cmm: adjust BALLOON_MIGRATE when migrating pages",
                            "    - media: amphion: Make some vpu_v4l2 functions static",
                            "    - media: amphion: Remove vpu_vb_is_codecconfig",
                            "    - vfio/pci: Disable qword access to the PCI ROM bar",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failres in",
                            "      damon_test_new_filter()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_do_test_apply_three_regions()",
                            "    - block: fix NULL pointer dereference in blk_zone_reset_all_bio_endio()",
                            "    - bpf: Fix truncated dmabuf iterator reads",
                            "    - bpf: Fix verifier assumptions of bpf_d_path's output buffer",
                            "    - btrfs: fix changeset leak on mmap write after failure to reserve",
                            "      metadata",
                            "    - scripts: kdoc_parser.py: warn about Python version only once",
                            "    - crypto: ccp - Add support for PCI device 0x115A",
                            "    - hfsplus: fix volume corruption issue for generic/101",
                            "    - Bluetooth: btusb: add new custom firmwares",
                            "    - net/mlx5: make enable_mpesw idempotent",
                            "    - net: phy: realtek: eliminate priv->phycr2 variable",
                            "    - net: phy: realtek: eliminate has_phycr2 variable",
                            "    - net: phy: realtek: allow CLKOUT to be disabled on RTL8211F(D)(I)-VD-CG",
                            "    - net: phy: realtek: eliminate priv->phycr1 variable",
                            "    - net: phy: realtek: create rtl8211f_config_phy_eee() helper",
                            "    - net: phy: RTL8211FVD: Restore disabling of PHY-mode EEE",
                            "    - net: ti: icssg-prueth: add PTP_1588_CLOCK_OPTIONAL dependency",
                            "    - selftests: net: Fix build warnings",
                            "    - selftests: net: tfo: Fix build warning",
                            "    - inet: frags: avoid theoretical race in ip_frag_reinit()",
                            "    - inet: frags: add inet_frag_queue_flush()",
                            "    - selftests: netfilter: prefer xfail in case race wasn't triggered",
                            "    - can: j1939: make j1939_sk_bind() fail if device is no longer registered",
                            "    - net/mlx5e: Use ip6_dst_lookup instead of ipv6_dst_lookup_flow for MAC",
                            "      init",
                            "    - net/mlx5e: Trigger neighbor resolution for unresolved destinations",
                            "    - drm/tests: hdmi: Handle drm_kunit_helper_enable_crtc_connector()",
                            "      returning EDEADLK",
                            "    - drm/tests: Handle EDEADLK in drm_test_check_valid_clones()",
                            "    - drm/tests: Handle EDEADLK in set_up_atomic_state()",
                            "    - selftests: ublk: fix overflow in ublk_queue_auto_zc_fallback()",
                            "    - block: unify elevator tags and type xarrays into struct elv_change_ctx",
                            "    - block: move elevator tags into struct elevator_resources",
                            "    - block: introduce alloc_sched_data and free_sched_data elevator methods",
                            "    - block: use {alloc|free}_sched data methods",
                            "    - spi: microchip: rename driver file and internal identifiers",
                            "    - [Config] Remove CONFIG_SPI_MICROCHIP_CORE",
                            "    - spi: mpfs: Fix an error handling path in mpfs_spi_probe()",
                            "    - drm/xe: Fix freq kobject leak on sysfs_create_files failure",
                            "    - drm/xe: Apply Wa_14020316580 in xe_gt_idle_enable_pg()",
                            "    - drm/xe: Increase TDF timeout",
                            "    - io_uring: fix nr_segs calculation in io_import_kbuf",
                            "    - ublk: add parameter `struct io_uring_cmd *` to ublk_prep_auto_buf_reg()",
                            "    - ublk: add `union ublk_io_buf` with improved naming",
                            "    - ublk: refactor auto buffer register in ublk_dispatch_req()",
                            "    - drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME",
                            "    - amd/iommu: Preserve domain ids inside the kdump kernel",
                            "    - arm64: dts: mediatek: Apply mt8395-radxa DT overlay at build time",
                            "    - Input: apple_z2 - fix reading incorrect reports after exiting sleep",
                            "    - Input: xpad - add support for CRKD Guitars",
                            "    - platform/x86: intel_pmc_ipc: fix ACPI buffer memory leak",
                            "    - x86/mm/tlb/trace: Export the TLB_REMOTE_WRONG_CPU enum in",
                            "      <trace/events/tlb.h>",
                            "    - ASoC: fsl_sai: Constrain sample rates from audio PLLs only in master",
                            "      mode",
                            "    - ASoC: SDCA: support Q7.8 volume format",
                            "    - ASoC: ops: fix snd_soc_get_volsw for sx controls",
                            "    - scsi: lpfc: Fix reusing an ndlp that is marked NLP_DROPPED during FLOGI",
                            "    - usb: xhci: Don't unchain link TRBs on quirky HCs",
                            "    - platform/x86: wmi-gamezone: Add Legion Go 2 Quirks",
                            "    - hwmon: (emc2305) fix device node refcount leak in error path",
                            "    - hwmon: (emc2305) fix double put in emc2305_probe_childs_from_dt",
                            "    - ublk: add helpers to check ublk_device flags",
                            "    - rust/drm/gem: Fix missing header in `Object` rustdoc",
                            "    - rust: dma: add helpers for architectures without CONFIG_HAS_DMA",
                            "    - samples: rust: fix endianness issue in rust_driver_pci",
                            "    - rust: io: define ResourceSize as resource_size_t",
                            "    - rust: io: move ResourceSize to top-level io module",
                            "    - rust: io: add typedef for phys_addr_t",
                            "    - clk: keystone: syscon-clk: fix regmap leak on probe failure",
                            "    - printk: Avoid scheduling irq_work on suspend",
                            "    - sched_ext: Fix the memleak for sch->helper objects",
                            "    - sched_ext: Fix bypass depth leak on scx_enable() failure",
                            "    - dt-bindings: clock: mmcc-sdm660: Add missing MDSS reset",
                            "    - phy: exynos5-usbdrd: fix clock prepare imbalance",
                            "    - efi: Add missing static initializer for efi_mm::cpus_allowed_lock",
                            "    - crypto: scatterwalk - Fix memcpy_sglist() to always succeed",
                            "    - printk: Allow printk_trigger_flush() to flush all types",
                            "    - printk: Avoid irq_work for printk_deferred() on suspend",
                            "    - mm/huge_memory: add pmd folio to ds_queue in do_huge_zero_wp_pmd()",
                            "    - crash: let architecture decide crash memory export to iomem_resource",
                            "    - usb: typec: ucsi: huawei-gaokin: add DRM dependency",
                            "    - f2fs: clean up w/ get_left_section_blocks()",
                            "    - f2fs: fix to not account invalid blocks in get_left_section_blocks()",
                            "    - KVM: selftests: Forcefully override ARCH from x86_64 to x86",
                            "    - KVM: Fix last_boosted_vcpu index assignment bug",
                            "    - KVM: TDX: Explicitly set user-return MSRs that *may* be clobbered by the",
                            "      TDX-Module",
                            "    - KVM: x86: Apply runtime updates to current CPUID during",
                            "      KVM_SET_CPUID{,2}",
                            "    - KVM: selftests: Add missing \"break\" in rseq_test's param parsing",
                            "    - xfs: fix the zoned RT growfs check for zone alignment",
                            "    - xfs: validate that zoned RT devices are zone aligned",
                            "    - arm64/gcs: Flush the GCS locking state on exec",
                            "    - ALSA: hda/realtek: Add Asus quirk for TAS amplifiers",
                            "    - NFSD: Clear TIME_DELEG in the suppattr_exclcreat bitmap",
                            "    - cgroup: rstat: use LOCK CMPXCHG in css_rstat_updated",
                            "    - gpio: loongson: Switch 2K2000/3000 GPIO to BYTE_CTRL_MODE",
                            "    - crypto: arm64/ghash - Fix incorrect output from ghash-neon",
                            "    - zloop: fail zone append operations that are targeting full zones",
                            "    - zloop: make the write pointer of full zones invalid",
                            "    - vfio: Fix ksize arg while copying user struct in",
                            "      vfio_df_ioctl_bind_iommufd()",
                            "    - rtla/timerlat_bpf: Stop tracing on user latency",
                            "    - pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling",
                            "      channel is enabled",
                            "    - lib/crypto: riscv: Depend on RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS",
                            "    - [Config] Disable accelerated crypto for riscv64 by default",
                            "    - io_uring/rsrc: fix lost entries after cloned range",
                            "    - ARM: dts: microchip: sama7d65: fix uart fifo size to 32",
                            "    - ice: add missing ice_deinit_hw() in devlink reinit path",
                            "    - arp: do not assume dev_hard_header() does not change skb->head",
                            "    - firmware: imx: scu-irq: Set mu_resource_id before get handle",
                            "    - tpm: Compare HMAC values in constant time",
                            "    - keys/trusted_keys: fix handle passed to tpm_buf_append_name during",
                            "      unseal",
                            "    - intel_th: fix device leak on output open()",
                            "    - Upstream stable to v6.18.2, v6.12.64, v6.18.3",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68791",
                            "    - fuse: missing copy_finish in fuse-over-io-uring argument copies",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68805",
                            "    - fuse: fix io-uring list corruption for terminated non-committed requests",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68812",
                            "    - media: iris: Add sanity check for stop streaming",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71117",
                            "    - block: Remove queue freezing from several sysfs store callbacks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71070",
                            "    - ublk: clean up user copy references on ublk server exit",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71124",
                            "    - drm/msm/a6xx: move preempt_prepare_postamble after error check",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71115",
                            "    - um: init cpu_tasks[] earlier",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68823",
                            "    - ublk: fix deadlock when reading partition table",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68793",
                            "    - drm/amdgpu: fix a job->pasid access race in gpu recovery",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68807",
                            "    - block: fix race between wbt_enable_default and IO submission",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68768",
                            "    - inet: frags: flush pending skbs in fqdir_pre_exit()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71140",
                            "    - media: mediatek: vcodec: Use spinlock for context list protection lock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71156",
                            "    - gve: defer interrupt enabling until NAPI registration",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2024-36347",
                            "    - x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo",
                            "    - x86/microcode/AMD: Select which microcode patch to load",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71068",
                            "    - svcrdma: bound check rq_pages index in inline path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68772",
                            "    - f2fs: fix to avoid updating compression context during writeback",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71105",
                            "    - f2fs: use global inline_xattr_slab instead of per-sb slab cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71130",
                            "    - drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71138",
                            "    - drm/msm/dpu: Add missing NULL pointer check for pingpong interface",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71083",
                            "    - drm/ttm: Avoid NULL pointer deref for evicted BOs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71099",
                            "    - drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71079",
                            "    - net: nfc: fix deadlock between nfc_unregister_device and",
                            "      rfkill_fop_write",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71129",
                            "    - LoongArch: BPF: Sign extend kfunc call arguments",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71093",
                            "    - e1000: fix OOB in e1000_tbi_should_accept()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71084",
                            "    - RDMA/cm: Fix leaking the multicast GID table reference",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71096",
                            "    - RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71136",
                            "    - media: adv7842: Avoid possible out-of-bounds array accesses in",
                            "      adv7842_cp_log_status()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71143",
                            "    - clk: samsung: exynos-clkout: Assign .num before accessing .hws",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71078",
                            "    - powerpc/64s/slb: Fix SLB multihit issue during SLB preload",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71089",
                            "    - iommu: disable SVA when CONFIG_X86 is set",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71081",
                            "    - ASoC: stm32: sai: fix OF node leak on probe",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71153",
                            "    - ksmbd: Fix memory leak in get_file_all_info()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71135",
                            "    - md/raid5: fix possible null-pointer dereferences in",
                            "      raid5_store_group_thread_cnt()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71157",
                            "    - RDMA/core: always drop device refcount in ib_del_sub_device_and_put()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71133",
                            "    - RDMA/irdma: avoid invalid read in irdma_net_event",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71080",
                            "    - ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71086",
                            "    - net: rose: fix invalid array index in rose_kill_by_device()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71097",
                            "    - ipv4: Fix reference count leak when using error routes with nexthop",
                            "      objects",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71085",
                            "    - ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71095",
                            "    - net: stmmac: fix the crash issue for zero copy XDP_TX action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71137",
                            "    - octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71101",
                            "    - platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package",
                            "      parsing",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71094",
                            "    - net: usb: asix: validate PHY address before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71132",
                            "    - smc91x: fix broken irq-context in PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71154",
                            "    - net: usb: rtl8150: fix memory leak on usb_submit_urb() failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71091",
                            "    - team: fix check for port enabled in",
                            "      team_queue_override_port_prio_changed()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71098",
                            "    - ip6_gre: make ip6gre_header() robust",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71082",
                            "    - Bluetooth: btusb: revert use of devm_kzalloc in btusb",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71131",
                            "    - crypto: seqiv - Do not use req->iv after crypto_aead_encrypt",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71087",
                            "    - iavf: fix off-by-one issues in iavf_config_rss_reg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71100",
                            "    - wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68821",
                            "    - fuse: fix readahead reclaim deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71071",
                            "    - iommu/mediatek: fix use-after-free on probe deferral",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71111",
                            "    - hwmon: (w83791d) Convert macros to functions to avoid TOCTOU",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71113",
                            "    - crypto: af_alg - zero initialize memory allocated via sock_kmalloc",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71149",
                            "    - io_uring/poll: correctly handle io_poll_add() return value on update",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68778",
                            "    - btrfs: don't log conflicting inode if it's a dir moved in the current",
                            "      transaction",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71119",
                            "    - powerpc/kexec: Enable SMT before waking offline CPUs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71120",
                            "    - SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in",
                            "      gss_read_proxy_verf",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68811",
                            "    - svcrdma: use rc_pageoff for memcpy byte offset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68803",
                            "    - NFSD: NFSv4 file creation neglects setting ACL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71148",
                            "    - net/handshake: restore destructor on submit failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68788",
                            "    - fsnotify: do not generate ACCESS/MODIFY events on child for special",
                            "      files",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71125",
                            "    - tracing: Do not register unsupported perf events",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68784",
                            "    - xfs: fix a UAF problem in xattr repair",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71104",
                            "    - KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV",
                            "      timer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71116",
                            "    - libceph: make decode_pool() more resilient against corrupted osdmaps",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71121",
                            "    - parisc: Do not reprogram affinitiy on ASP chip",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71102",
                            "    - scs: fix a wrong parameter in __scs_magic",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68804",
                            "    - platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68771",
                            "    - ocfs2: fix kernel BUG in ocfs2_find_victim_chain",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68808",
                            "    - media: vidtv: initialize local pointers upon transfer of memory",
                            "      ownership",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68810",
                            "    - KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68769",
                            "    - f2fs: fix return value of f2fs_recover_fsync_data()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71069",
                            "    - f2fs: invalidate dentry cache on failed whiteout creation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68796",
                            "    - f2fs: fix to avoid updating zero-sized extent in extent cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71065",
                            "    - f2fs: fix to avoid potential deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71107",
                            "    - f2fs: ensure node page reads complete before f2fs_put_super() finishes",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68782",
                            "    - scsi: target: Reset t_task_cdb pointer in error case",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71075",
                            "    - scsi: aic94xx: fix use-after-free in device removal path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68818",
                            "    - scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in",
                            "      abort path\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68797",
                            "    - char: applicom: fix NULL pointer dereference in ac_ioctl",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68781",
                            "    - usb: phy: fsl-usb: Fix use-after-free in delayed work during device",
                            "      removal",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68819",
                            "    - media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71126",
                            "    - mptcp: avoid deadlock on fallback while reinjecting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68820",
                            "    - ext4: xattr: fix null pointer deref in ext4_raw_inode()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71123",
                            "    - ext4: fix string copying in parse_apply_sb_mount_options()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71077",
                            "    - tpm: Cap the number of PCR banks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68814",
                            "    - io_uring: fix filename leak in __io_openat_prep()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71147",
                            "    - KEYS: trusted: Fix a memory leak in tpm2_load_cmd",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71151",
                            "    - cifs: Fix memory and information leak in smb3_reconfigure()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71109",
                            "    - MIPS: ftrace: Fix memory corruption when kernel is located beyond 32",
                            "      bits",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71108",
                            "    - usb: typec: ucsi: Handle incorrect num_connectors capability",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71114",
                            "    - via_wdt: fix critical boot hang due to unnamed resource allocation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68783",
                            "    - ALSA: usb-mixer: us16x08: validate meter packet indices",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68776",
                            "    - net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68773",
                            "    - spi: fsl-cpm: Check length parity before switching to 16 bit mode",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68822",
                            "    - Input: alps - fix use-after-free bugs caused by dev3_register_work",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71073",
                            "    - Input: lkkbd - disable pending work before freeing device",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68777",
                            "    - Input: ti_am335x_tsc - fix off-by-one error in wire_order validation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68806",
                            "    - ksmbd: fix buffer validation by including null terminator size in EA",
                            "      length",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71150",
                            "    - ksmbd: Fix refcount leak when invalid session is found on session lookup",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68786",
                            "    - ksmbd: skip lock-range check on equal size to avoid size==0 underflow",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71076",
                            "    - drm/xe/oa: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68802",
                            "    - drm/xe: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68789",
                            "    - hwmon: (ibmpex) fix use-after-free in high/low store",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71112",
                            "    - net: hns3: add VLAN id validation before using",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71064",
                            "    - net: hns3: using the num_tqps in the vf driver to apply for resources",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68775",
                            "    - net/handshake: duplicate handshake cancellations leak socket",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68816",
                            "    - net/mlx5: fw_tracer, Validate format string parameters",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68795",
                            "    - ethtool: Avoid overflowing userspace buffer on stats query",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71122",
                            "    - iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68815",
                            "    - net/sched: ets: Remove drr class from the active list if it changes to",
                            "      strict",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68799",
                            "    - caif: fix integer underflow in cffrml_receive()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68813",
                            "    - ipvs: fix ipv4 null-ptr-deref in route error path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68785",
                            "    - net: openvswitch: fix middle attribute validation in push_nsh() action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68770",
                            "    - bnxt_en: Fix XDP_TX path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68800",
                            "    - mlxsw: spectrum_mr: Fix use-after-free when updating multicast route",
                            "      stats",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68801",
                            "    - mlxsw: spectrum_router: Fix neighbour use-after-free",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71066",
                            "    - net/sched: ets: Always remove class from active list before deleting in",
                            "      ets_qdisc_change",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68787",
                            "    - netrom: Fix memory leak in nr_sendmsg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68809",
                            "    - ksmbd: vfs: fix race on m_flags in vfs_cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68817",
                            "    - ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68767",
                            "    - hfsplus: Verify inode mode when loading from disk",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68774",
                            "    - hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71067",
                            "    - ntfs: set dummy blocksize to read boot_block when mounting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71118",
                            "    - ACPICA: Avoid walking the Namespace if start_node is NULL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68780",
                            "    - sched/deadline: only set free_cpus for online runqueues",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68798",
                            "    - perf/x86/amd: Check event before enable to avoid GPF",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68794",
                            "    - iomap: adjust read range correctly for non-block-aligned positions",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71072",
                            "    - shmem: fix recovery on rename failures",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68351",
                            "    - exfat: fix refcount leak in exfat_find",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68736",
                            "    - landlock: Fix handling of disconnected directories",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68353",
                            "    - net: vxlan: prevent NULL deref in vxlan_xmit_one",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68745",
                            "    - scsi: qla2xxx: Clear cmds after chip reset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68365",
                            "    - fs/ntfs3: Initialize allocated memory before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68368",
                            "    - md: init bioset in mddev_init",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68725",
                            "    - bpf: Do not let BPF test infra emit invalid GSO types to stack",
                            "  * CVE-2026-23111",
                            "    - netfilter: nf_tables: fix inverted genmask check in",
                            "      nft_map_catchall_activate()",
                            "  * CVE-2026-23209",
                            "    - macvlan: fix error recovery in macvlan_common_newlink()",
                            "  * CVE-2026-23074",
                            "    - net/sched: Enforce that teql can only be used as root qdisc",
                            "  * CVE-2026-23060",
                            "    - crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN",
                            "      spec",
                            ""
                        ],
                        "package": "linux-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2143424,
                            2143428,
                            2134400,
                            2137613,
                            2141276,
                            2141377,
                            2137272,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250
                        ],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 12:01:17 +0100"
                    }
                ],
                "notes": "linux-image-6.17.0-22-generic version '6.17.0-22.22.1' (source package linux-riscv version '6.17.0-22.22.1') was added. linux-image-6.17.0-22-generic version '6.17.0-22.22.1' has the same source package name, linux-riscv, as removed package linux-headers-6.17.0-20-generic. As such we can use the source package version of the removed package, '6.17.0-20.20.1', as the starting point in our changelog diff. Kernel packages are an example of where the binary package name changes for the same source package. Using the removed package source package version as our starting point means we can still get meaningful changelog diffs even for what appears to be a new package.",
                "is_version_downgrade": false
            },
            {
                "name": "linux-modules-6.17.0-22-generic",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-68791",
                        "url": "https://ubuntu.com/security/CVE-2025-68791",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68805",
                        "url": "https://ubuntu.com/security/CVE-2025-68805",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68812",
                        "url": "https://ubuntu.com/security/CVE-2025-68812",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71117",
                        "url": "https://ubuntu.com/security/CVE-2025-71117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71070",
                        "url": "https://ubuntu.com/security/CVE-2025-71070",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71124",
                        "url": "https://ubuntu.com/security/CVE-2025-71124",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71115",
                        "url": "https://ubuntu.com/security/CVE-2025-71115",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68823",
                        "url": "https://ubuntu.com/security/CVE-2025-68823",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68793",
                        "url": "https://ubuntu.com/security/CVE-2025-68793",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68807",
                        "url": "https://ubuntu.com/security/CVE-2025-68807",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68768",
                        "url": "https://ubuntu.com/security/CVE-2025-68768",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71140",
                        "url": "https://ubuntu.com/security/CVE-2025-71140",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71156",
                        "url": "https://ubuntu.com/security/CVE-2025-71156",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-36347",
                        "url": "https://ubuntu.com/security/CVE-2024-36347",
                        "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-06-27 23:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71068",
                        "url": "https://ubuntu.com/security/CVE-2025-71068",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68772",
                        "url": "https://ubuntu.com/security/CVE-2025-68772",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71105",
                        "url": "https://ubuntu.com/security/CVE-2025-71105",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71130",
                        "url": "https://ubuntu.com/security/CVE-2025-71130",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71138",
                        "url": "https://ubuntu.com/security/CVE-2025-71138",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71083",
                        "url": "https://ubuntu.com/security/CVE-2025-71083",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71099",
                        "url": "https://ubuntu.com/security/CVE-2025-71099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71079",
                        "url": "https://ubuntu.com/security/CVE-2025-71079",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71129",
                        "url": "https://ubuntu.com/security/CVE-2025-71129",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71093",
                        "url": "https://ubuntu.com/security/CVE-2025-71093",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71084",
                        "url": "https://ubuntu.com/security/CVE-2025-71084",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71096",
                        "url": "https://ubuntu.com/security/CVE-2025-71096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71136",
                        "url": "https://ubuntu.com/security/CVE-2025-71136",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71143",
                        "url": "https://ubuntu.com/security/CVE-2025-71143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71078",
                        "url": "https://ubuntu.com/security/CVE-2025-71078",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71089",
                        "url": "https://ubuntu.com/security/CVE-2025-71089",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71081",
                        "url": "https://ubuntu.com/security/CVE-2025-71081",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71153",
                        "url": "https://ubuntu.com/security/CVE-2025-71153",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71135",
                        "url": "https://ubuntu.com/security/CVE-2025-71135",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71157",
                        "url": "https://ubuntu.com/security/CVE-2025-71157",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71133",
                        "url": "https://ubuntu.com/security/CVE-2025-71133",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71080",
                        "url": "https://ubuntu.com/security/CVE-2025-71080",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71086",
                        "url": "https://ubuntu.com/security/CVE-2025-71086",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71097",
                        "url": "https://ubuntu.com/security/CVE-2025-71097",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71085",
                        "url": "https://ubuntu.com/security/CVE-2025-71085",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71095",
                        "url": "https://ubuntu.com/security/CVE-2025-71095",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71137",
                        "url": "https://ubuntu.com/security/CVE-2025-71137",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71101",
                        "url": "https://ubuntu.com/security/CVE-2025-71101",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71094",
                        "url": "https://ubuntu.com/security/CVE-2025-71094",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71132",
                        "url": "https://ubuntu.com/security/CVE-2025-71132",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71154",
                        "url": "https://ubuntu.com/security/CVE-2025-71154",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71091",
                        "url": "https://ubuntu.com/security/CVE-2025-71091",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71098",
                        "url": "https://ubuntu.com/security/CVE-2025-71098",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71082",
                        "url": "https://ubuntu.com/security/CVE-2025-71082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71131",
                        "url": "https://ubuntu.com/security/CVE-2025-71131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71087",
                        "url": "https://ubuntu.com/security/CVE-2025-71087",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71100",
                        "url": "https://ubuntu.com/security/CVE-2025-71100",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68821",
                        "url": "https://ubuntu.com/security/CVE-2025-68821",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71071",
                        "url": "https://ubuntu.com/security/CVE-2025-71071",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71111",
                        "url": "https://ubuntu.com/security/CVE-2025-71111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71113",
                        "url": "https://ubuntu.com/security/CVE-2025-71113",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71149",
                        "url": "https://ubuntu.com/security/CVE-2025-71149",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68778",
                        "url": "https://ubuntu.com/security/CVE-2025-68778",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71119",
                        "url": "https://ubuntu.com/security/CVE-2025-71119",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71120",
                        "url": "https://ubuntu.com/security/CVE-2025-71120",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68811",
                        "url": "https://ubuntu.com/security/CVE-2025-68811",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68803",
                        "url": "https://ubuntu.com/security/CVE-2025-68803",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71148",
                        "url": "https://ubuntu.com/security/CVE-2025-71148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68788",
                        "url": "https://ubuntu.com/security/CVE-2025-68788",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71125",
                        "url": "https://ubuntu.com/security/CVE-2025-71125",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68784",
                        "url": "https://ubuntu.com/security/CVE-2025-68784",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71104",
                        "url": "https://ubuntu.com/security/CVE-2025-71104",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71116",
                        "url": "https://ubuntu.com/security/CVE-2025-71116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71121",
                        "url": "https://ubuntu.com/security/CVE-2025-71121",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71102",
                        "url": "https://ubuntu.com/security/CVE-2025-71102",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68804",
                        "url": "https://ubuntu.com/security/CVE-2025-68804",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68771",
                        "url": "https://ubuntu.com/security/CVE-2025-68771",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68808",
                        "url": "https://ubuntu.com/security/CVE-2025-68808",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68810",
                        "url": "https://ubuntu.com/security/CVE-2025-68810",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68769",
                        "url": "https://ubuntu.com/security/CVE-2025-68769",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71069",
                        "url": "https://ubuntu.com/security/CVE-2025-71069",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68796",
                        "url": "https://ubuntu.com/security/CVE-2025-68796",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71065",
                        "url": "https://ubuntu.com/security/CVE-2025-71065",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71107",
                        "url": "https://ubuntu.com/security/CVE-2025-71107",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68782",
                        "url": "https://ubuntu.com/security/CVE-2025-68782",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71075",
                        "url": "https://ubuntu.com/security/CVE-2025-71075",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68818",
                        "url": "https://ubuntu.com/security/CVE-2025-68818",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68797",
                        "url": "https://ubuntu.com/security/CVE-2025-68797",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68781",
                        "url": "https://ubuntu.com/security/CVE-2025-68781",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68819",
                        "url": "https://ubuntu.com/security/CVE-2025-68819",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71126",
                        "url": "https://ubuntu.com/security/CVE-2025-71126",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68820",
                        "url": "https://ubuntu.com/security/CVE-2025-68820",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71123",
                        "url": "https://ubuntu.com/security/CVE-2025-71123",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71077",
                        "url": "https://ubuntu.com/security/CVE-2025-71077",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68814",
                        "url": "https://ubuntu.com/security/CVE-2025-68814",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71147",
                        "url": "https://ubuntu.com/security/CVE-2025-71147",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71151",
                        "url": "https://ubuntu.com/security/CVE-2025-71151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71109",
                        "url": "https://ubuntu.com/security/CVE-2025-71109",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71108",
                        "url": "https://ubuntu.com/security/CVE-2025-71108",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71114",
                        "url": "https://ubuntu.com/security/CVE-2025-71114",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68783",
                        "url": "https://ubuntu.com/security/CVE-2025-68783",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68776",
                        "url": "https://ubuntu.com/security/CVE-2025-68776",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68773",
                        "url": "https://ubuntu.com/security/CVE-2025-68773",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68822",
                        "url": "https://ubuntu.com/security/CVE-2025-68822",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71073",
                        "url": "https://ubuntu.com/security/CVE-2025-71073",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68777",
                        "url": "https://ubuntu.com/security/CVE-2025-68777",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68806",
                        "url": "https://ubuntu.com/security/CVE-2025-68806",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71150",
                        "url": "https://ubuntu.com/security/CVE-2025-71150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68786",
                        "url": "https://ubuntu.com/security/CVE-2025-68786",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71076",
                        "url": "https://ubuntu.com/security/CVE-2025-71076",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68802",
                        "url": "https://ubuntu.com/security/CVE-2025-68802",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68789",
                        "url": "https://ubuntu.com/security/CVE-2025-68789",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71112",
                        "url": "https://ubuntu.com/security/CVE-2025-71112",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71064",
                        "url": "https://ubuntu.com/security/CVE-2025-71064",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68775",
                        "url": "https://ubuntu.com/security/CVE-2025-68775",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68816",
                        "url": "https://ubuntu.com/security/CVE-2025-68816",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68795",
                        "url": "https://ubuntu.com/security/CVE-2025-68795",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71122",
                        "url": "https://ubuntu.com/security/CVE-2025-71122",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68815",
                        "url": "https://ubuntu.com/security/CVE-2025-68815",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68799",
                        "url": "https://ubuntu.com/security/CVE-2025-68799",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68813",
                        "url": "https://ubuntu.com/security/CVE-2025-68813",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68785",
                        "url": "https://ubuntu.com/security/CVE-2025-68785",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68770",
                        "url": "https://ubuntu.com/security/CVE-2025-68770",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68800",
                        "url": "https://ubuntu.com/security/CVE-2025-68800",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68801",
                        "url": "https://ubuntu.com/security/CVE-2025-68801",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71066",
                        "url": "https://ubuntu.com/security/CVE-2025-71066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68787",
                        "url": "https://ubuntu.com/security/CVE-2025-68787",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68809",
                        "url": "https://ubuntu.com/security/CVE-2025-68809",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68817",
                        "url": "https://ubuntu.com/security/CVE-2025-68817",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68767",
                        "url": "https://ubuntu.com/security/CVE-2025-68767",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68774",
                        "url": "https://ubuntu.com/security/CVE-2025-68774",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71067",
                        "url": "https://ubuntu.com/security/CVE-2025-71067",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71118",
                        "url": "https://ubuntu.com/security/CVE-2025-71118",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68780",
                        "url": "https://ubuntu.com/security/CVE-2025-68780",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68798",
                        "url": "https://ubuntu.com/security/CVE-2025-68798",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68794",
                        "url": "https://ubuntu.com/security/CVE-2025-68794",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71072",
                        "url": "https://ubuntu.com/security/CVE-2025-71072",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68351",
                        "url": "https://ubuntu.com/security/CVE-2025-68351",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68736",
                        "url": "https://ubuntu.com/security/CVE-2025-68736",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68353",
                        "url": "https://ubuntu.com/security/CVE-2025-68353",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68745",
                        "url": "https://ubuntu.com/security/CVE-2025-68745",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68365",
                        "url": "https://ubuntu.com/security/CVE-2025-68365",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68368",
                        "url": "https://ubuntu.com/security/CVE-2025-68368",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68725",
                        "url": "https://ubuntu.com/security/CVE-2025-68725",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23111",
                        "url": "https://ubuntu.com/security/CVE-2026-23111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-02-13 14:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23209",
                        "url": "https://ubuntu.com/security/CVE-2026-23209",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-14 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23074",
                        "url": "https://ubuntu.com/security/CVE-2026-23074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23060",
                        "url": "https://ubuntu.com/security/CVE-2026-23060",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2143424,
                    2143428,
                    2134400,
                    2137613,
                    2141276,
                    2141377,
                    2137272,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-68791",
                                "url": "https://ubuntu.com/security/CVE-2025-68791",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68805",
                                "url": "https://ubuntu.com/security/CVE-2025-68805",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68812",
                                "url": "https://ubuntu.com/security/CVE-2025-68812",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71117",
                                "url": "https://ubuntu.com/security/CVE-2025-71117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71070",
                                "url": "https://ubuntu.com/security/CVE-2025-71070",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71124",
                                "url": "https://ubuntu.com/security/CVE-2025-71124",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71115",
                                "url": "https://ubuntu.com/security/CVE-2025-71115",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68823",
                                "url": "https://ubuntu.com/security/CVE-2025-68823",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68793",
                                "url": "https://ubuntu.com/security/CVE-2025-68793",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68807",
                                "url": "https://ubuntu.com/security/CVE-2025-68807",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68768",
                                "url": "https://ubuntu.com/security/CVE-2025-68768",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71140",
                                "url": "https://ubuntu.com/security/CVE-2025-71140",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71156",
                                "url": "https://ubuntu.com/security/CVE-2025-71156",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-36347",
                                "url": "https://ubuntu.com/security/CVE-2024-36347",
                                "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-06-27 23:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71068",
                                "url": "https://ubuntu.com/security/CVE-2025-71068",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68772",
                                "url": "https://ubuntu.com/security/CVE-2025-68772",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71105",
                                "url": "https://ubuntu.com/security/CVE-2025-71105",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71130",
                                "url": "https://ubuntu.com/security/CVE-2025-71130",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71138",
                                "url": "https://ubuntu.com/security/CVE-2025-71138",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71083",
                                "url": "https://ubuntu.com/security/CVE-2025-71083",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71099",
                                "url": "https://ubuntu.com/security/CVE-2025-71099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71079",
                                "url": "https://ubuntu.com/security/CVE-2025-71079",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71129",
                                "url": "https://ubuntu.com/security/CVE-2025-71129",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71093",
                                "url": "https://ubuntu.com/security/CVE-2025-71093",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71084",
                                "url": "https://ubuntu.com/security/CVE-2025-71084",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71096",
                                "url": "https://ubuntu.com/security/CVE-2025-71096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71136",
                                "url": "https://ubuntu.com/security/CVE-2025-71136",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71143",
                                "url": "https://ubuntu.com/security/CVE-2025-71143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71078",
                                "url": "https://ubuntu.com/security/CVE-2025-71078",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71089",
                                "url": "https://ubuntu.com/security/CVE-2025-71089",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71081",
                                "url": "https://ubuntu.com/security/CVE-2025-71081",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71153",
                                "url": "https://ubuntu.com/security/CVE-2025-71153",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71135",
                                "url": "https://ubuntu.com/security/CVE-2025-71135",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71157",
                                "url": "https://ubuntu.com/security/CVE-2025-71157",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71133",
                                "url": "https://ubuntu.com/security/CVE-2025-71133",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71080",
                                "url": "https://ubuntu.com/security/CVE-2025-71080",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71086",
                                "url": "https://ubuntu.com/security/CVE-2025-71086",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71097",
                                "url": "https://ubuntu.com/security/CVE-2025-71097",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71085",
                                "url": "https://ubuntu.com/security/CVE-2025-71085",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71095",
                                "url": "https://ubuntu.com/security/CVE-2025-71095",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71137",
                                "url": "https://ubuntu.com/security/CVE-2025-71137",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71101",
                                "url": "https://ubuntu.com/security/CVE-2025-71101",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71094",
                                "url": "https://ubuntu.com/security/CVE-2025-71094",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71132",
                                "url": "https://ubuntu.com/security/CVE-2025-71132",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71154",
                                "url": "https://ubuntu.com/security/CVE-2025-71154",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71091",
                                "url": "https://ubuntu.com/security/CVE-2025-71091",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71098",
                                "url": "https://ubuntu.com/security/CVE-2025-71098",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71082",
                                "url": "https://ubuntu.com/security/CVE-2025-71082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71131",
                                "url": "https://ubuntu.com/security/CVE-2025-71131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71087",
                                "url": "https://ubuntu.com/security/CVE-2025-71087",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71100",
                                "url": "https://ubuntu.com/security/CVE-2025-71100",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68821",
                                "url": "https://ubuntu.com/security/CVE-2025-68821",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71071",
                                "url": "https://ubuntu.com/security/CVE-2025-71071",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71111",
                                "url": "https://ubuntu.com/security/CVE-2025-71111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71113",
                                "url": "https://ubuntu.com/security/CVE-2025-71113",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71149",
                                "url": "https://ubuntu.com/security/CVE-2025-71149",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68778",
                                "url": "https://ubuntu.com/security/CVE-2025-68778",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71119",
                                "url": "https://ubuntu.com/security/CVE-2025-71119",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71120",
                                "url": "https://ubuntu.com/security/CVE-2025-71120",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68811",
                                "url": "https://ubuntu.com/security/CVE-2025-68811",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68803",
                                "url": "https://ubuntu.com/security/CVE-2025-68803",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71148",
                                "url": "https://ubuntu.com/security/CVE-2025-71148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68788",
                                "url": "https://ubuntu.com/security/CVE-2025-68788",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71125",
                                "url": "https://ubuntu.com/security/CVE-2025-71125",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68784",
                                "url": "https://ubuntu.com/security/CVE-2025-68784",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71104",
                                "url": "https://ubuntu.com/security/CVE-2025-71104",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71116",
                                "url": "https://ubuntu.com/security/CVE-2025-71116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71121",
                                "url": "https://ubuntu.com/security/CVE-2025-71121",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71102",
                                "url": "https://ubuntu.com/security/CVE-2025-71102",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68804",
                                "url": "https://ubuntu.com/security/CVE-2025-68804",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68771",
                                "url": "https://ubuntu.com/security/CVE-2025-68771",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68808",
                                "url": "https://ubuntu.com/security/CVE-2025-68808",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68810",
                                "url": "https://ubuntu.com/security/CVE-2025-68810",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68769",
                                "url": "https://ubuntu.com/security/CVE-2025-68769",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71069",
                                "url": "https://ubuntu.com/security/CVE-2025-71069",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68796",
                                "url": "https://ubuntu.com/security/CVE-2025-68796",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71065",
                                "url": "https://ubuntu.com/security/CVE-2025-71065",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71107",
                                "url": "https://ubuntu.com/security/CVE-2025-71107",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68782",
                                "url": "https://ubuntu.com/security/CVE-2025-68782",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71075",
                                "url": "https://ubuntu.com/security/CVE-2025-71075",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68818",
                                "url": "https://ubuntu.com/security/CVE-2025-68818",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68797",
                                "url": "https://ubuntu.com/security/CVE-2025-68797",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68781",
                                "url": "https://ubuntu.com/security/CVE-2025-68781",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68819",
                                "url": "https://ubuntu.com/security/CVE-2025-68819",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71126",
                                "url": "https://ubuntu.com/security/CVE-2025-71126",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68820",
                                "url": "https://ubuntu.com/security/CVE-2025-68820",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71123",
                                "url": "https://ubuntu.com/security/CVE-2025-71123",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71077",
                                "url": "https://ubuntu.com/security/CVE-2025-71077",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68814",
                                "url": "https://ubuntu.com/security/CVE-2025-68814",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71147",
                                "url": "https://ubuntu.com/security/CVE-2025-71147",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71151",
                                "url": "https://ubuntu.com/security/CVE-2025-71151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71109",
                                "url": "https://ubuntu.com/security/CVE-2025-71109",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71108",
                                "url": "https://ubuntu.com/security/CVE-2025-71108",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71114",
                                "url": "https://ubuntu.com/security/CVE-2025-71114",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68783",
                                "url": "https://ubuntu.com/security/CVE-2025-68783",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68776",
                                "url": "https://ubuntu.com/security/CVE-2025-68776",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68773",
                                "url": "https://ubuntu.com/security/CVE-2025-68773",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68822",
                                "url": "https://ubuntu.com/security/CVE-2025-68822",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71073",
                                "url": "https://ubuntu.com/security/CVE-2025-71073",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68777",
                                "url": "https://ubuntu.com/security/CVE-2025-68777",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68806",
                                "url": "https://ubuntu.com/security/CVE-2025-68806",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71150",
                                "url": "https://ubuntu.com/security/CVE-2025-71150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68786",
                                "url": "https://ubuntu.com/security/CVE-2025-68786",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71076",
                                "url": "https://ubuntu.com/security/CVE-2025-71076",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68802",
                                "url": "https://ubuntu.com/security/CVE-2025-68802",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68789",
                                "url": "https://ubuntu.com/security/CVE-2025-68789",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71112",
                                "url": "https://ubuntu.com/security/CVE-2025-71112",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71064",
                                "url": "https://ubuntu.com/security/CVE-2025-71064",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68775",
                                "url": "https://ubuntu.com/security/CVE-2025-68775",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68816",
                                "url": "https://ubuntu.com/security/CVE-2025-68816",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68795",
                                "url": "https://ubuntu.com/security/CVE-2025-68795",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71122",
                                "url": "https://ubuntu.com/security/CVE-2025-71122",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68815",
                                "url": "https://ubuntu.com/security/CVE-2025-68815",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68799",
                                "url": "https://ubuntu.com/security/CVE-2025-68799",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68813",
                                "url": "https://ubuntu.com/security/CVE-2025-68813",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68785",
                                "url": "https://ubuntu.com/security/CVE-2025-68785",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68770",
                                "url": "https://ubuntu.com/security/CVE-2025-68770",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68800",
                                "url": "https://ubuntu.com/security/CVE-2025-68800",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68801",
                                "url": "https://ubuntu.com/security/CVE-2025-68801",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71066",
                                "url": "https://ubuntu.com/security/CVE-2025-71066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68787",
                                "url": "https://ubuntu.com/security/CVE-2025-68787",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68809",
                                "url": "https://ubuntu.com/security/CVE-2025-68809",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68817",
                                "url": "https://ubuntu.com/security/CVE-2025-68817",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68767",
                                "url": "https://ubuntu.com/security/CVE-2025-68767",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68774",
                                "url": "https://ubuntu.com/security/CVE-2025-68774",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71067",
                                "url": "https://ubuntu.com/security/CVE-2025-71067",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71118",
                                "url": "https://ubuntu.com/security/CVE-2025-71118",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68780",
                                "url": "https://ubuntu.com/security/CVE-2025-68780",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68798",
                                "url": "https://ubuntu.com/security/CVE-2025-68798",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68794",
                                "url": "https://ubuntu.com/security/CVE-2025-68794",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71072",
                                "url": "https://ubuntu.com/security/CVE-2025-71072",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68351",
                                "url": "https://ubuntu.com/security/CVE-2025-68351",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68736",
                                "url": "https://ubuntu.com/security/CVE-2025-68736",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68353",
                                "url": "https://ubuntu.com/security/CVE-2025-68353",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68745",
                                "url": "https://ubuntu.com/security/CVE-2025-68745",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68365",
                                "url": "https://ubuntu.com/security/CVE-2025-68365",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68368",
                                "url": "https://ubuntu.com/security/CVE-2025-68368",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68725",
                                "url": "https://ubuntu.com/security/CVE-2025-68725",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23111",
                                "url": "https://ubuntu.com/security/CVE-2026-23111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-02-13 14:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23209",
                                "url": "https://ubuntu.com/security/CVE-2026-23209",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-14 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23074",
                                "url": "https://ubuntu.com/security/CVE-2026-23074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23060",
                                "url": "https://ubuntu.com/security/CVE-2026-23060",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * questing/linux-riscv: 6.17.0-22.22.1 -proposed tracker (LP: #2143424)",
                            "",
                            "  [ Ubuntu: 6.17.0-22.22 ]",
                            "",
                            "  * questing/linux: 6.17.0-22.22 -proposed tracker (LP: #2143428)",
                            "  * Questing preinstalled server fails to boot on QCS8300 based boards",
                            "    (LP: #2134400)",
                            "    - [Config] move qcom interconnect/pinctrl/gcc as built-in for QCS8300",
                            "  * TBT call trace while connecting TBT4 monitor on TBT5 port (LP: #2137613)",
                            "    - SAUCE: thunderbolt: log path activation failures without WARN backtraces",
                            "  * efi: Fix swapped arguments to bsearch() in efi_status_to_*() SAUCE patch",
                            "    (LP: #2141276)",
                            "    - SAUCE efi: Fix swapped arguments to bsearch() in efi_status_to_*()",
                            "  * [SRU]Fix xe GPU suspend/resume crash on Battlemage (LP: #2141377)",
                            "    - drm/xe: make xe_gt_idle_disable_c6() handle the forcewake internally",
                            "  * Accumulative updates for Intel PTL-H component enabling PV rev3.0",
                            "    (LP: #2137272)",
                            "    - drm/i915/display: Optimize panel power-on wait time",
                            "    - HID: intel-ish-hid: Use dedicated unbound workqueues to prevent resume",
                            "      blocking",
                            "    - drm/xe/guc: Recommend GUC v70.49.4 for PTL, BMG",
                            "    - HID: Intel-thc-hid: Intel-thc: Use str_true_false() helper",
                            "    - HID: intel-thc-hid: intel-quicki2c: support ACPI config for advanced",
                            "      features",
                            "    - usb: typec: ucsi: Add SET_POWER_LEVEL UCSI command to debugfs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250)",
                            "    - bpf: Fix sleepable context for async callbacks",
                            "    - bpf: extract generic helper from process_timer_func()",
                            "    - bpf: Fix handling maps with no BTF and non-constant offsets for the",
                            "      bpf_wq",
                            "    - irqchip: Drop leftover brackets",
                            "    - irqchip: Pass platform device to platform drivers",
                            "    - arm64: dts: exynos: gs101: fix clock module unit reg sizes",
                            "    - ice: move service task start out of ice_init_pf()",
                            "    - ice: move ice_init_interrupt_scheme() prior ice_init_pf()",
                            "    - ice: ice_init_pf: destroy mutexes and xarrays on memory alloc failure",
                            "    - ice: move udp_tunnel_nic and misc IRQ setup into ice_init_pf()",
                            "    - ice: move ice_init_pf() out of ice_init_dev()",
                            "    - ice: extract ice_init_dev() from ice_init()",
                            "    - ice: move ice_deinit_dev() to the end of deinit paths",
                            "    - ice: remove duplicate call to ice_deinit_hw() on error paths",
                            "    - arm64: dts: qcom: lemans: Add missing quirk for HS only USB controller",
                            "    - tools/nolibc: x86: fix section mismatch caused by asm \"mem*\" functions",
                            "    - arm64: dts: ti: k3-j784s4: Fix I2C pinmux pull configuration",
                            "    - wifi: ath12k: enforce vdev limit in ath12k_mac_vdev_create()",
                            "    - ARM: dts: am33xx: Add missing serial console speed",
                            "    - arm64: tegra: Add pinctrl definitions for pcie-ep nodes",
                            "    - arm64: mm: Move KPTI helpers to mmu.c",
                            "    - arm64/mm: Allow __create_pgd_mapping() to propagate pgtable_alloc()",
                            "      errors",
                            "    - pwm: Simplify printf to emit chip->npwm in $debugfs/pwm",
                            "    - pwm: Use %u to printf unsigned int pwm_chip::npwm and pwm_chip::id",
                            "    - soc/tegra: fuse: speedo-tegra210: Update speedo IDs",
                            "    - iio: core: add missing mutex_destroy in iio_dev_release()",
                            "    - iio: core: Clean up device correctly on iio_device_alloc() failure",
                            "    - iommu/vt-d: Set INTEL_IOMMU_FLOPPY_WA depend on BLK_DEV_FD",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_elfcorehdr()",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_usable_mem_range()",
                            "    - rtla/tests: Extend action tests to 5s",
                            "    - rtla: Fix -a overriding -t argument",
                            "    - btrfs: make sure extent and csum paths are always released in",
                            "      scrub_raid56_parity_stripe()",
                            "    - iomap: allocate s_dio_done_wq for async reads as well",
                            "    - RDMA/irdma: Remove doorbell elision logic",
                            "    - selftests/landlock: Fix makefile header list",
                            "    - io_uring/kbuf: use READ_ONCE() for userspace-mapped memory",
                            "    - ALSA: wavefront: Clear substream pointers on close",
                            "    - btrfs: do not skip logging new dentries when logging a new name",
                            "    - btrfs: fix a potential path leak in print_data_reloc_error()",
                            "    - bpf, arm64: Do not audit capability check in do_jit()",
                            "    - btrfs: fix memory leak of fs_devices in degraded seed device path",
                            "    - iomap: account for unaligned end offsets when truncating read range",
                            "    - scripts/faddr2line: Fix \"Argument list too long\" error",
                            "    - sched/fair: Revert max_newidle_lb_cost bump",
                            "    - x86/ptrace: Always inline trivial accessors",
                            "    - ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint()",
                            "      only",
                            "    - cpufreq: dt-platdev: Add JH7110S SOC to the allowlist",
                            "    - ACPI: fan: Workaround for 64-bit firmware bug",
                            "    - cpufreq: s5pv210: fix refcount leak",
                            "    - cpuidle: menu: Use residency threshold in polling state override",
                            "      decisions",
                            "    - livepatch: Match old_sympos 0 and 1 in klp_find_func()",
                            "    - fs/ntfs3: Support timestamps prior to epoch",
                            "    - kbuild: Use objtree for module signing key path",
                            "    - hfsplus: fix volume corruption issue for generic/070",
                            "    - hfsplus: fix volume corruption issue for generic/073",
                            "    - fs/ntfs3: check for shutdown in fsync",
                            "    - wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU",
                            "    - wifi: cfg80211: stop radar detection in cfg80211_leave()",
                            "    - wifi: cfg80211: use cfg80211_leave() in iftype change",
                            "    - wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC",
                            "      load",
                            "    - wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet",
                            "    - btrfs: scrub: always update btrfs_scrub_progress::last_physical",
                            "    - gfs2: fix remote evict for read-only filesystems",
                            "    - gfs2: Fix \"gfs2: Switch to wait_event in gfs2_quotad\"",
                            "    - smb/server: fix return value of smb2_ioctl()",
                            "    - Bluetooth: btusb: Add new VID/PID 2b89/6275 for RTL8761BUV",
                            "    - Bluetooth: btusb: MT7922: Add VID/PID 0489/e170",
                            "    - Bluetooth: btusb: MT7920: Add VID/PID 0489/e135",
                            "    - Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE",
                            "    - Bluetooth: btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT",
                            "    - net: fec: ERR007885 Workaround for XDP TX path",
                            "    - ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2()",
                            "    - mlxsw: spectrum_router: Fix possible neighbour reference count leak",
                            "    - broadcom: b44: prevent uninitialized value usage",
                            "    - netfilter: nf_conncount: fix leaked ct in error paths",
                            "    - nfc: pn533: Fix error code in pn533_acr122_poweron_rdr()",
                            "    - netfilter: nf_nat: remove bogus direction check",
                            "    - netfilter: nf_tables: remove redundant chain validation on register",
                            "      store",
                            "    - selftests: netfilter: packetdrill: avoid failure on HZ=100 kernel",
                            "    - iommufd/selftest: Make it clearer to gcc that the access is not out of",
                            "      bounds",
                            "    - net/mlx5: fw reset, clear reset requested on drain_fw_reset",
                            "    - net/mlx5: Drain firmware reset in shutdown callback",
                            "    - net/mlx5: fw_tracer, Handle escaped percent properly",
                            "    - net/mlx5: Serialize firmware reset with devlink",
                            "    - net: enetc: do not transmit redirected XDP frames when the link is down",
                            "    - net: hns3: using the num_tqps to check whether tqp_index is out of range",
                            "      when vf get ring info from mbx",
                            "    - hwmon: (dell-smm) Limit fan multiplier to avoid overflow",
                            "    - hwmon: (tmp401) fix overflow caused by default conversion rate value",
                            "    - drm/me/gsc: mei interrupt top half should be in irq disabled context",
                            "    - drm/xe: Restore engine registers before restarting schedulers after GT",
                            "      reset",
                            "    - MIPS: Fix a reference leak bug in ip22_check_gio()",
                            "    - drm/panel: sony-td4353-jdi: Enable prepare_prev_first",
                            "    - x86/xen: Fix sparse warning in enlighten_pv.c",
                            "    - arm64: kdump: Fix elfcorehdr overlap caused by reserved memory",
                            "      processing reorder",
                            "    - spi: cadence-quadspi: Fix clock disable on probe failure path",
                            "    - block: rnbd-clt: Fix leaked ID in init_dev()",
                            "    - hwmon: (ltc4282): Fix reset_history file permissions",
                            "    - HID: input: map HID_GD_Z to ABS_DISTANCE for stylus/pen",
                            "    - Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk",
                            "      table",
                            "    - xfs: don't leak a locked dquot when xfs_dquot_attach_buf fails",
                            "    - can: gs_usb: gs_can_open(): fix error handling",
                            "    - soc/tegra: fuse: Do not register SoC device on ACPI boot",
                            "    - ACPI: PCC: Fix race condition by removing static qualifier",
                            "    - ACPI: CPPC: Fix missing PCC check for guaranteed_perf",
                            "    - mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig",
                            "    - mmc: sdhci-of-arasan: Increase CD stable timeout to 2 seconds",
                            "    - dt-bindings: mmc: sdhci-of-aspeed: Switch ref to sdhci-common.yaml",
                            "    - x86/fpu: Fix FPU state core dump truncation on CPUs with no extended",
                            "      xfeatures",
                            "    - ALSA: vxpocket: Fix resource leak in vxpocket_probe error path",
                            "    - ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path",
                            "    - ASoC: ak4458: remove the reset operation in probe and remove",
                            "    - nfsd: fix memory leak in nfsd_create_serv error paths",
                            "    - ipmi: Fix the race between __scan_channels() and deliver_response()",
                            "    - ipmi: Fix __scan_channels() failing to rescan channels",
                            "    - scsi: ufs: host: mediatek: Fix shutdown/suspend race condition",
                            "    - firmware: imx: scu-irq: Init workqueue before request mbox channel",
                            "    - ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx",
                            "    - scsi: smartpqi: Add support for Hurray Data new controller PCI device",
                            "    - clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4",
                            "    - powerpc/addnote: Fix overflow on 32-bit builds",
                            "    - scsi: qla2xxx: Fix lost interrupts with qlini_mode=disabled",
                            "    - scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive",
                            "    - scsi: qla2xxx: Use reinit_completion on mbx_intr_comp",
                            "    - fuse: Always flush the page cache before FOPEN_DIRECT_IO write",
                            "    - fuse: Invalidate the page cache after FOPEN_DIRECT_IO write",
                            "    - reset: fix BIT macro reference",
                            "    - exfat: fix remount failure in different process environments",
                            "    - exfat: zero out post-EOF page cache on file extension",
                            "    - usbip: Fix locking bug in RT-enabled kernels",
                            "    - iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains",
                            "    - usb: xhci: limit run_graceperiod for only usb 3.0 devices",
                            "    - usb: usb-storage: No additional quirks need to be added to the EL-R12",
                            "      optical drive.",
                            "    - serial: sprd: Return -EPROBE_DEFER when uart clock is not ready",
                            "    - libperf cpumap: Fix perf_cpu_map__max for an empty/NULL map",
                            "    - clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk0_clk_src",
                            "    - i2c: designware: Disable SMBus interrupts to prevent storms from mis-",
                            "      configured firmware",
                            "    - nvme-fc: don't hold rport lock when putting ctrl",
                            "    - nvme-fabrics: add ENOKEY to no retry criteria for authentication",
                            "      failures",
                            "    - scsi: scsi_debug: Fix atomic write enable module param description",
                            "    - block: rnbd-clt: Fix signedness bug in init_dev()",
                            "    - vhost/vsock: improve RCU read sections around vhost_vsock_get()",
                            "    - x86/mce: Do not clear bank's poll bit in mce_poll_banks on AMD SMCA",
                            "      systems",
                            "    - mmc: sdhci-msm: Avoid early clock doubling during HS400 transition",
                            "    - perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister()",
                            "    - lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit",
                            "    - s390/dasd: Fix gendisk parent after copy pair swap",
                            "    - wifi: mt76: Fix DTS power-limits on little endian systems",
                            "    - block: rate-limit capacity change info log",
                            "    - floppy: fix for PAGE_SIZE != 4KB",
                            "    - kallsyms: Fix wrong \"big\" kernel symbol type read from procfs",
                            "    - fs/ntfs3: fix mount failure for sparse runs in run_unpack()",
                            "    - ktest.pl: Fix uninitialized var in config-bisect.pl",
                            "    - ext4: clear i_state_flags when alloc inode",
                            "    - ext4: fix incorrect group number assertion in mb_check_buddy",
                            "    - ext4: align max orphan file size with e2fsprogs limit",
                            "    - jbd2: use a per-journal lock_class_key for jbd2_trans_commit_key",
                            "    - jbd2: use a weaker annotation in journal handling",
                            "    - media: v4l2-mem2mem: Fix outdated documentation",
                            "    - selftests: mptcp: pm: ensure unknown flags are ignored",
                            "    - mptcp: schedule rtx timer only after pushing data",
                            "    - usb: usb-storage: Maintain minimal modifications to the bcdDevice range.",
                            "    - media: pvrusb2: Fix incorrect variable used in trace message",
                            "    - phy: broadcom: bcm63xx-usbh: fix section mismatches",
                            "    - usb: ohci-nxp: fix device leak on probe failure",
                            "    - usb: typec: altmodes/displayport: Drop the device reference in",
                            "      dp_altmode_probe()",
                            "    - USB: lpc32xx_udc: Fix error handling in probe",
                            "    - usb: phy: isp1301: fix non-OF device reference imbalance",
                            "    - usb: gadget: lpc32xx_udc: fix clock imbalance in error path",
                            "    - usb: dwc3: of-simple: fix clock resource leak in dwc3_of_simple_probe",
                            "    - usb: dwc3: keep susphy enabled during exit to avoid controller faults",
                            "    - usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()",
                            "    - intel_th: Fix error handling in intel_th_output_open",
                            "    - mei: gsc: add dependency on Xe driver",
                            "    - serial: sh-sci: Check that the DMA cookie is valid",
                            "    - cpuidle: governors: teo: Drop misguided target residency check",
                            "    - cpufreq: nforce2: fix reference count leak in nforce2",
                            "    - NFSD: use correct reservation type in nfsd4_scsi_fence_client",
                            "    - scsi: mpi3mr: Read missing IOCFacts flag for reply queue full overflow",
                            "    - scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error",
                            "    - f2fs: fix age extent cache insertion skip on counter overflow",
                            "    - f2fs: fix uninitialized one_time_gc in victim_sel_policy",
                            "    - tools/testing/nvdimm: Use per-DIMM device handle",
                            "    - KVM: x86: Don't clear async #PF queue when CR0.PG is disabled (e.g. on",
                            "      #SMI)",
                            "    - powerpc: Add reloc_offset() to font bitmap pointer used for",
                            "      bootx_printf()",
                            "    - KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with",
                            "      period=0",
                            "    - KVM: x86: Explicitly set new periodic hrtimer expiration in",
                            "      apic_timer_fn()",
                            "    - KVM: nSVM: Avoid incorrect injection of SVM_EXIT_CR0_SEL_WRITE",
                            "    - KVM: SVM: Mark VMCB_NPT as dirty on nested VMRUN",
                            "    - KVM: nSVM: Propagate SVM_EXIT_CR0_SEL_WRITE correctly for LMSW emulation",
                            "    - KVM: SVM: Mark VMCB_PERM_MAP as dirty on nested VMRUN",
                            "    - KVM: nVMX: Immediately refresh APICv controls as needed on nested VM-",
                            "      Exit",
                            "    - KVM: nSVM: Set exit_code_hi to -1 when synthesizing SVM_EXIT_ERR (failed",
                            "      VMRUN)",
                            "    - KVM: nSVM: Clear exit_code_hi in VMCB when synthesizing nested VM-Exits",
                            "    - xfs: fix a memory leak in xfs_buf_item_init()",
                            "    - xfs: fix stupid compiler warning",
                            "    - PM: runtime: Do not clear needs_force_resume with enabled runtime PM",
                            "    - r8169: fix RTL8117 Wake-on-Lan in DASH mode",
                            "    - net: phy: marvell-88q2xxx: Fix clamped value in mv88q2xxx_hwmon_write",
                            "    - NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap",
                            "    - nfsd: Mark variable __maybe_unused to avoid W=1 build break",
                            "    - svcrdma: return 0 on success from svc_rdma_copy_inline_range",
                            "    - s390/ipl: Clear SBP flag when bootprog is set",
                            "    - gpio: regmap: Fix memleak in error path in gpio_regmap_register()",
                            "    - io_uring: fix min_wait wakeups for SQPOLL",
                            "    - drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state()",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN35",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN351",
                            "    - drm/displayid: pass iter to drm_find_displayid_extension()",
                            "    - ALSA: wavefront: Use guard() for spin locks",
                            "    - pinctrl: renesas: rzg2l: Fix ISEL restore on resume",
                            "    - arm64: Revamp HCR_EL2.E2H RES1 detection",
                            "    - dt-bindings: PCI: qcom,pcie-sc7280: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sc8280xp: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8150: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8250: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8350: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8450: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8550: Add missing required power-domains",
                            "      and resets",
                            "    - crypto: caam - Add check for kcalloc() in test_len()",
                            "    - amba: tegra-ahb: Fix device leak on SMMU enable",
                            "    - virtio: vdpa: Fix reference count leak in octep_sriov_enable()",
                            "    - tracing: Fix fixed array of synthetic event",
                            "    - soc: samsung: exynos-pmu: fix device leak on regmap lookup",
                            "    - soc: qcom: pbs: fix device leak on lookup",
                            "    - soc: qcom: ocmem: fix device leak on lookup",
                            "    - soc: apple: mailbox: fix device leak on lookup",
                            "    - soc: amlogic: canvas: fix device leak on lookup",
                            "    - rpmsg: glink: fix rpmsg device leak",
                            "    - platform/x86: intel: chtwc_int33fe: don't dereference swnode args",
                            "    - i2c: amd-mp2: fix reference leak in MP2 PCI device",
                            "    - interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes",
                            "    - hwmon: (max16065) Use local variable to avoid TOCTOU",
                            "    - hwmon: (max6697) fix regmap leak on probe failure",
                            "    - hwmon: (w83l786ng) Convert macros to functions to avoid TOCTOU",
                            "    - ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32",
                            "    - x86/msi: Make irq_retrigger() functional for posted MSI",
                            "    - wifi: rtw88: limit indirect IO under powered off for RTL8822CS",
                            "    - wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()",
                            "    - wifi: mac80211: do not use old MBSSID elements",
                            "    - i40e: fix scheduling in set_rx_mode",
                            "    - i40e: validate ring_len parameter against hardware-specific values",
                            "    - idpf: reduce mbx_task schedule delay to 300us",
                            "    - net: mdio: aspeed: add dummy read to avoid read-after-write issue",
                            "    - net: openvswitch: Avoid needlessly taking the RTNL on vport destroy",
                            "    - platform/mellanox: mlxbf-pmc: Remove trailing whitespaces from event",
                            "      names",
                            "    - platform/x86: msi-laptop: add missing sysfs_remove_group()",
                            "    - platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic",
                            "    - net: dsa: fix missing put_device() in dsa_tree_find_first_conduit()",
                            "    - amd-xgbe: reset retries and mode on RX adapt failures",
                            "    - Revert \"UBUNTU: SAUCE: selftests: net: fix \"buffer overflow detected\"",
                            "      for tap.c\"",
                            "    - selftests: net: fix \"buffer overflow detected\" for tap.c",
                            "    - genalloc.h: fix htmldocs warning",
                            "    - firewire: nosy: Fix dma_free_coherent() size",
                            "    - net: dsa: b53: skip multicast entries for fdb_dump()",
                            "    - kbuild: fix compilation of dtb specified on command-line without make",
                            "      rule",
                            "    - net: bridge: Describe @tunnel_hash member in net_bridge_vlan_group",
                            "      struct",
                            "    - vfio/pds: Fix memory leak in pds_vfio_dirty_enable()",
                            "    - RDMA/efa: Remove possible negative shift",
                            "    - RDMA/core: Fix logic error in ib_get_gids_from_rdma_hdr()",
                            "    - RDMA/bnxt_re: Fix incorrect BAR check in bnxt_qplib_map_creq_db()",
                            "    - RDMA/bnxt_re: Fix IB_SEND_IP_CSUM handling in post_send",
                            "    - RDMA/bnxt_re: Fix to use correct page size for PDE table",
                            "    - md: Fix static checker warning in analyze_sbs",
                            "    - RDMA/rtrs: Fix clt_path::max_pages_per_mr calculation",
                            "    - RDMA/bnxt_re: fix dma_free_coherent() pointer",
                            "    - blk-mq: skip CPU offline notify on unmapped hctx",
                            "    - selftests/ftrace: traceonoff_triggers: strip off names",
                            "    - ntfs: Do not overwrite uptodate pages",
                            "    - ASoC: codecs: wcd939x: fix regmap leak on probe failure",
                            "    - ASoC: stm32: sai: fix device leak on probe",
                            "    - ASoC: stm32: sai: fix clk prepare imbalance on probe failure",
                            "    - ASoC: codecs: lpass-tx-macro: fix SM6115 support",
                            "    - ASoC: qcom: q6apm-dai: set flags to reflect correct operation of",
                            "      appl_ptr",
                            "    - ASoC: qcom: q6asm-dai: perform correct state check before closing",
                            "    - ASoC: qcom: q6adm: the the copp device only during last instance",
                            "    - ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.",
                            "    - iommu/amd: Fix pci_segment memleak in alloc_pci_segment()",
                            "    - iommu/amd: Propagate the error code returned by __modify_irte_ga() in",
                            "      modify_irte_ga()",
                            "    - iommu/apple-dart: fix device leak on of_xlate()",
                            "    - iommu/exynos: fix device leak on of_xlate()",
                            "    - iommu/ipmmu-vmsa: fix device leak on of_xlate()",
                            "    - iommu/mediatek-v1: fix device leak on probe_device()",
                            "    - iommu/mediatek-v1: fix device leaks on probe()",
                            "    - iommu/mediatek: fix device leak on of_xlate()",
                            "    - iommu/omap: fix device leaks on probe_device()",
                            "    - iommu/qcom: fix device leak on of_xlate()",
                            "    - iommu/sun50i: fix device leak on of_xlate()",
                            "    - iommu/tegra: fix device leak on probe_device()",
                            "    - HID: logitech-dj: Remove duplicate error logging",
                            "    - fgraph: Initialize ftrace_ops->private for function graph ops",
                            "    - fgraph: Check ftrace_pids_enabled on registration for early filtering",
                            "    - PCI/PM: Reinstate clearing state_saved in legacy and !PM codepaths",
                            "    - arm64: dts: ti: k3-j721e-sk: Fix pinmux for pin Y1 used by power",
                            "      regulator",
                            "    - powerpc, mm: Fix mprotect on book3s 32-bit",
                            "    - leds: leds-cros_ec: Skip LEDs without color components",
                            "    - leds: leds-lp50xx: Allow LED 0 to be added to module bank",
                            "    - leds: leds-lp50xx: LP5009 supports 3 modules for a total of 9 LEDs",
                            "    - leds: leds-lp50xx: Enable chip before any communication",
                            "    - block: Clear BLK_ZONE_WPLUG_PLUGGED when aborting plugged BIOs",
                            "    - mfd: altera-sysmgr: Fix device leak on sysmgr regmap lookup",
                            "    - mfd: max77620: Fix potential IRQ chip conflict when probing two devices",
                            "    - media: rc: st_rc: Fix reset control resource leak",
                            "    - media: verisilicon: Fix CPU stalls on G2 bus error",
                            "    - mtd: mtdpart: ignore error -ENOENT from parsers on subpartitions",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIQ chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q02NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H512NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H01NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H02NWxxAM chips",
                            "    - parisc: entry.S: fix space adjustment on interruption for 64-bit",
                            "      userspace",
                            "    - parisc: entry: set W bit for !compat tasks in syscall_restore_rfi()",
                            "    - perf/x86/amd/uncore: Fix the return value of amd_uncore_df_event_init()",
                            "      on error",
                            "    - powerpc/pseries/cmm: call balloon_devinfo_init() also without",
                            "      CONFIG_BALLOON_COMPACTION",
                            "    - firmware: stratix10-svc: Add mutex in stratix10 memory management",
                            "    - dm-ebs: Mark full buffer dirty even on partial write",
                            "    - dm-bufio: align write boundary on physical block size",
                            "    - fbdev: gbefb: fix to use physical address instead of dma address",
                            "    - fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing",
                            "    - fbdev: tcx.c fix mem_map to correct smem_start offset",
                            "    - media: cec: Fix debugfs leak on bus_register() failure",
                            "    - media: msp3400: Avoid possible out-of-bounds array accesses in",
                            "      msp3400c_thread()",
                            "    - media: platform: mtk-mdp3: fix device leaks at probe",
                            "    - media: renesas: rcar_drif: fix device node reference leak in",
                            "      rcar_drif_bond_enabled",
                            "    - media: samsung: exynos4-is: fix potential ABBA deadlock on init",
                            "    - media: TDA1997x: Remove redundant cancel_delayed_work in probe",
                            "    - media: verisilicon: Protect G2 HEVC decoder against invalid DPB index",
                            "    - media: videobuf2: Fix device reference leak in vb2_dc_alloc error path",
                            "    - media: vpif_capture: fix section mismatch",
                            "    - media: vpif_display: fix section mismatch",
                            "    - media: amphion: Cancel message work before releasing the VPU core",
                            "    - media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe",
                            "    - media: i2c: adv7842: Remove redundant cancel_delayed_work in probe",
                            "    - media: mediatek: vcodec: Fix a reference leak in",
                            "      mtk_vcodec_fw_vpu_init()",
                            "    - LoongArch: Add new PCI ID for pci_fixup_vgadev()",
                            "    - LoongArch: Correct the calculation logic of thread_count",
                            "    - LoongArch: Fix build errors for CONFIG_RANDSTRUCT",
                            "    - LoongArch: Use __pmd()/__pte() for swap entry conversions",
                            "    - LoongArch: Use unsigned long for _end and _text",
                            "    - mm/damon/tests/sysfs-kunit: handle alloc failures on",
                            "      damon_sysfs_test_add_targets()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures in",
                            "      damon_test_split_evenly_fail()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_test_split_evenly_succ()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_at()",
                            "    - mm/damon/tests/core-kunit: handle allocation failures in",
                            "      damon_test_regions()",
                            "    - mm/damon/tests/core-kunit: handle memory failure from",
                            "      damon_test_target()",
                            "    - mm/damon/tests/core-kunit: handle memory alloc failure from",
                            "      damon_test_aggregate()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      dasmon_test_merge_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_merge_two()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_set_regions()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_update_monitoring_result()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_ops_registration()",
                            "    - mm/damon/tests/core-kunit: handle alloc failure on",
                            "      damon_test_set_attrs()",
                            "    - pmdomain: imx: Fix reference count leak in imx_gpc_probe()",
                            "    - compiler_types.h: add \"auto\" as a macro for \"__auto_type\"",
                            "    - mm/kasan: fix incorrect unpoisoning in vrealloc for KASAN",
                            "    - kasan: refactor pcpu kasan vmalloc unpoison",
                            "    - kasan: unpoison vms[area] addresses with a common tag",
                            "    - lockd: fix vfs_test_lock() calls",
                            "    - idr: fix idr_alloc() returning an ID out of range",
                            "    - mm/page_owner: fix memory leak in page_owner_stack_fops->release()",
                            "    - tools/mm/page_owner_sort: fix timestamp comparison for stable sorting",
                            "    - samples/ftrace: Adjust LoongArch register restore order in direct calls",
                            "    - fjes: Add missing iounmap in fjes_hw_init()",
                            "    - LoongArch: Refactor register restoration in ftrace_common_return",
                            "    - LoongArch: BPF: Zero-extend bpf_tail_call() index",
                            "    - nfsd: Drop the client reference in client_states_open()",
                            "    - net: usb: sr9700: fix incorrect command used to write single register",
                            "    - net: macb: Relocate mog_init_rings() callback from macb_mac_link_up() to",
                            "      macb_open()",
                            "    - drm/amdgpu/gmc12: add amdgpu_vm_handle_fault() handling",
                            "    - drm/amdgpu: add missing lock to amdgpu_ttm_access_memory_sdma",
                            "    - drm/amdgpu/gmc11: add amdgpu_vm_handle_fault() handling",
                            "    - drm/msm/a6xx: Fix out of bound IO access in a6xx_get_gmu_registers",
                            "    - drm/buddy: Optimize free block management with RB tree",
                            "    - drm/buddy: Separate clear and dirty free block trees",
                            "    - drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg()",
                            "    - drm/edid: add DRM_EDID_IDENT_INIT() to initialize struct drm_edid_ident",
                            "    - drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse()",
                            "    - drm/mediatek: Fix probe resource leaks",
                            "    - drm/mediatek: Fix probe memory leak",
                            "    - drm/mediatek: Fix probe device leaks",
                            "    - drm/amdkfd: Trap handler support for expert scheduling mode",
                            "    - drm/i915: Fix format string truncation warning",
                            "    - drm/mgag200: Fix big-endian support",
                            "    - drm/xe/bo: Don't include the CCS metadata in the dma-buf sg-table",
                            "    - drm/xe/oa: Disallow 0 OA property values",
                            "    - drm/xe: Adjust long-running workload timeslices to reasonable values",
                            "    - drm/xe: Use usleep_range for accurate long-running workload timeslicing",
                            "    - drm/xe: Drop preempt-fences when destroying imported dma-bufs.",
                            "    - drm/nouveau/dispnv50: Don't call drm_atomic_get_crtc_state() in",
                            "      prepare_fb",
                            "    - drm/imagination: Disallow exporting of PM/FW protected objects",
                            "    - lib/crypto: riscv/chacha: Avoid s0/fp register",
                            "    - gfs2: fix freeze error handling",
                            "    - btrfs: don't rewrite ret from inode_permission",
                            "    - sched/eevdf: Fix min_vruntime vs avg_vruntime",
                            "    - erofs: fix unexpected EIO under memory pressure",
                            "    - sched_ext: Fix incorrect sched_class settings for per-cpu migration",
                            "      tasks",
                            "    - jbd2: fix the inconsistency between checksum and data in memory for",
                            "      journal sb",
                            "    - xhci: dbgtty: fix device unregister: fixup",
                            "    - f2fs: fix to detect recoverable inode during dryrun of",
                            "      find_fsync_dnodes()",
                            "    - serial: core: Restore sysfs fwnode information",
                            "    - mptcp: pm: ignore unknown endpoint flags",
                            "    - mm/ksm: fix exec/fork inheritance support for prctl",
                            "    - ARM: dts: microchip: sama7g5: fix uart fifo size to 32",
                            "    - tpm2-sessions: Fix out of range indexing in name_size",
                            "    - tpm2-sessions: Fix tpm2_read_public range checks",
                            "    - sched_ext: Factor out local_dsq_post_enq() from dispatch_enqueue()",
                            "    - sched_ext: Fix missing post-enqueue handling in",
                            "      move_local_task_to_local_dsq()",
                            "    - drm/displayid: add quirk to ignore DisplayID checksum errors",
                            "    - serial: xilinx_uartps: fix rs485 delay_rts_after_send",
                            "    - f2fs: add timeout in f2fs_enable_checkpoint()",
                            "    - f2fs: dump more information for f2fs_{enable,disable}_checkpoint()",
                            "    - f2fs: fix to propagate error from f2fs_enable_checkpoint()",
                            "    - gpiolib: acpi: Add quirk for Dell Precision 7780",
                            "    - serial: core: Fix serial device initialization",
                            "    - media: i2c: imx219: Fix 1920x1080 mode to use 1:1 pixel aspect ratio",
                            "    - ASoC: renesas: rz-ssi: Fix channel swap issue in full duplex mode",
                            "    - block: handle zone management operations completions",
                            "    - ASoC: qcom: sdw: fix memory leak for sdw_stream_runtime",
                            "    - ASoC: renesas: rz-ssi: Fix rz_ssi_priv::hw_params_cache::sample_width",
                            "    - PCI: brcmstb: Fix disabling L0s capability",
                            "    - powerpc/pseries/cmm: adjust BALLOON_MIGRATE when migrating pages",
                            "    - media: amphion: Make some vpu_v4l2 functions static",
                            "    - media: amphion: Remove vpu_vb_is_codecconfig",
                            "    - vfio/pci: Disable qword access to the PCI ROM bar",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failres in",
                            "      damon_test_new_filter()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_do_test_apply_three_regions()",
                            "    - block: fix NULL pointer dereference in blk_zone_reset_all_bio_endio()",
                            "    - bpf: Fix truncated dmabuf iterator reads",
                            "    - bpf: Fix verifier assumptions of bpf_d_path's output buffer",
                            "    - btrfs: fix changeset leak on mmap write after failure to reserve",
                            "      metadata",
                            "    - scripts: kdoc_parser.py: warn about Python version only once",
                            "    - crypto: ccp - Add support for PCI device 0x115A",
                            "    - hfsplus: fix volume corruption issue for generic/101",
                            "    - Bluetooth: btusb: add new custom firmwares",
                            "    - net/mlx5: make enable_mpesw idempotent",
                            "    - net: phy: realtek: eliminate priv->phycr2 variable",
                            "    - net: phy: realtek: eliminate has_phycr2 variable",
                            "    - net: phy: realtek: allow CLKOUT to be disabled on RTL8211F(D)(I)-VD-CG",
                            "    - net: phy: realtek: eliminate priv->phycr1 variable",
                            "    - net: phy: realtek: create rtl8211f_config_phy_eee() helper",
                            "    - net: phy: RTL8211FVD: Restore disabling of PHY-mode EEE",
                            "    - net: ti: icssg-prueth: add PTP_1588_CLOCK_OPTIONAL dependency",
                            "    - selftests: net: Fix build warnings",
                            "    - selftests: net: tfo: Fix build warning",
                            "    - inet: frags: avoid theoretical race in ip_frag_reinit()",
                            "    - inet: frags: add inet_frag_queue_flush()",
                            "    - selftests: netfilter: prefer xfail in case race wasn't triggered",
                            "    - can: j1939: make j1939_sk_bind() fail if device is no longer registered",
                            "    - net/mlx5e: Use ip6_dst_lookup instead of ipv6_dst_lookup_flow for MAC",
                            "      init",
                            "    - net/mlx5e: Trigger neighbor resolution for unresolved destinations",
                            "    - drm/tests: hdmi: Handle drm_kunit_helper_enable_crtc_connector()",
                            "      returning EDEADLK",
                            "    - drm/tests: Handle EDEADLK in drm_test_check_valid_clones()",
                            "    - drm/tests: Handle EDEADLK in set_up_atomic_state()",
                            "    - selftests: ublk: fix overflow in ublk_queue_auto_zc_fallback()",
                            "    - block: unify elevator tags and type xarrays into struct elv_change_ctx",
                            "    - block: move elevator tags into struct elevator_resources",
                            "    - block: introduce alloc_sched_data and free_sched_data elevator methods",
                            "    - block: use {alloc|free}_sched data methods",
                            "    - spi: microchip: rename driver file and internal identifiers",
                            "    - [Config] Remove CONFIG_SPI_MICROCHIP_CORE",
                            "    - spi: mpfs: Fix an error handling path in mpfs_spi_probe()",
                            "    - drm/xe: Fix freq kobject leak on sysfs_create_files failure",
                            "    - drm/xe: Apply Wa_14020316580 in xe_gt_idle_enable_pg()",
                            "    - drm/xe: Increase TDF timeout",
                            "    - io_uring: fix nr_segs calculation in io_import_kbuf",
                            "    - ublk: add parameter `struct io_uring_cmd *` to ublk_prep_auto_buf_reg()",
                            "    - ublk: add `union ublk_io_buf` with improved naming",
                            "    - ublk: refactor auto buffer register in ublk_dispatch_req()",
                            "    - drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME",
                            "    - amd/iommu: Preserve domain ids inside the kdump kernel",
                            "    - arm64: dts: mediatek: Apply mt8395-radxa DT overlay at build time",
                            "    - Input: apple_z2 - fix reading incorrect reports after exiting sleep",
                            "    - Input: xpad - add support for CRKD Guitars",
                            "    - platform/x86: intel_pmc_ipc: fix ACPI buffer memory leak",
                            "    - x86/mm/tlb/trace: Export the TLB_REMOTE_WRONG_CPU enum in",
                            "      <trace/events/tlb.h>",
                            "    - ASoC: fsl_sai: Constrain sample rates from audio PLLs only in master",
                            "      mode",
                            "    - ASoC: SDCA: support Q7.8 volume format",
                            "    - ASoC: ops: fix snd_soc_get_volsw for sx controls",
                            "    - scsi: lpfc: Fix reusing an ndlp that is marked NLP_DROPPED during FLOGI",
                            "    - usb: xhci: Don't unchain link TRBs on quirky HCs",
                            "    - platform/x86: wmi-gamezone: Add Legion Go 2 Quirks",
                            "    - hwmon: (emc2305) fix device node refcount leak in error path",
                            "    - hwmon: (emc2305) fix double put in emc2305_probe_childs_from_dt",
                            "    - ublk: add helpers to check ublk_device flags",
                            "    - rust/drm/gem: Fix missing header in `Object` rustdoc",
                            "    - rust: dma: add helpers for architectures without CONFIG_HAS_DMA",
                            "    - samples: rust: fix endianness issue in rust_driver_pci",
                            "    - rust: io: define ResourceSize as resource_size_t",
                            "    - rust: io: move ResourceSize to top-level io module",
                            "    - rust: io: add typedef for phys_addr_t",
                            "    - clk: keystone: syscon-clk: fix regmap leak on probe failure",
                            "    - printk: Avoid scheduling irq_work on suspend",
                            "    - sched_ext: Fix the memleak for sch->helper objects",
                            "    - sched_ext: Fix bypass depth leak on scx_enable() failure",
                            "    - dt-bindings: clock: mmcc-sdm660: Add missing MDSS reset",
                            "    - phy: exynos5-usbdrd: fix clock prepare imbalance",
                            "    - efi: Add missing static initializer for efi_mm::cpus_allowed_lock",
                            "    - crypto: scatterwalk - Fix memcpy_sglist() to always succeed",
                            "    - printk: Allow printk_trigger_flush() to flush all types",
                            "    - printk: Avoid irq_work for printk_deferred() on suspend",
                            "    - mm/huge_memory: add pmd folio to ds_queue in do_huge_zero_wp_pmd()",
                            "    - crash: let architecture decide crash memory export to iomem_resource",
                            "    - usb: typec: ucsi: huawei-gaokin: add DRM dependency",
                            "    - f2fs: clean up w/ get_left_section_blocks()",
                            "    - f2fs: fix to not account invalid blocks in get_left_section_blocks()",
                            "    - KVM: selftests: Forcefully override ARCH from x86_64 to x86",
                            "    - KVM: Fix last_boosted_vcpu index assignment bug",
                            "    - KVM: TDX: Explicitly set user-return MSRs that *may* be clobbered by the",
                            "      TDX-Module",
                            "    - KVM: x86: Apply runtime updates to current CPUID during",
                            "      KVM_SET_CPUID{,2}",
                            "    - KVM: selftests: Add missing \"break\" in rseq_test's param parsing",
                            "    - xfs: fix the zoned RT growfs check for zone alignment",
                            "    - xfs: validate that zoned RT devices are zone aligned",
                            "    - arm64/gcs: Flush the GCS locking state on exec",
                            "    - ALSA: hda/realtek: Add Asus quirk for TAS amplifiers",
                            "    - NFSD: Clear TIME_DELEG in the suppattr_exclcreat bitmap",
                            "    - cgroup: rstat: use LOCK CMPXCHG in css_rstat_updated",
                            "    - gpio: loongson: Switch 2K2000/3000 GPIO to BYTE_CTRL_MODE",
                            "    - crypto: arm64/ghash - Fix incorrect output from ghash-neon",
                            "    - zloop: fail zone append operations that are targeting full zones",
                            "    - zloop: make the write pointer of full zones invalid",
                            "    - vfio: Fix ksize arg while copying user struct in",
                            "      vfio_df_ioctl_bind_iommufd()",
                            "    - rtla/timerlat_bpf: Stop tracing on user latency",
                            "    - pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling",
                            "      channel is enabled",
                            "    - lib/crypto: riscv: Depend on RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS",
                            "    - [Config] Disable accelerated crypto for riscv64 by default",
                            "    - io_uring/rsrc: fix lost entries after cloned range",
                            "    - ARM: dts: microchip: sama7d65: fix uart fifo size to 32",
                            "    - ice: add missing ice_deinit_hw() in devlink reinit path",
                            "    - arp: do not assume dev_hard_header() does not change skb->head",
                            "    - firmware: imx: scu-irq: Set mu_resource_id before get handle",
                            "    - tpm: Compare HMAC values in constant time",
                            "    - keys/trusted_keys: fix handle passed to tpm_buf_append_name during",
                            "      unseal",
                            "    - intel_th: fix device leak on output open()",
                            "    - Upstream stable to v6.18.2, v6.12.64, v6.18.3",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68791",
                            "    - fuse: missing copy_finish in fuse-over-io-uring argument copies",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68805",
                            "    - fuse: fix io-uring list corruption for terminated non-committed requests",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68812",
                            "    - media: iris: Add sanity check for stop streaming",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71117",
                            "    - block: Remove queue freezing from several sysfs store callbacks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71070",
                            "    - ublk: clean up user copy references on ublk server exit",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71124",
                            "    - drm/msm/a6xx: move preempt_prepare_postamble after error check",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71115",
                            "    - um: init cpu_tasks[] earlier",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68823",
                            "    - ublk: fix deadlock when reading partition table",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68793",
                            "    - drm/amdgpu: fix a job->pasid access race in gpu recovery",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68807",
                            "    - block: fix race between wbt_enable_default and IO submission",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68768",
                            "    - inet: frags: flush pending skbs in fqdir_pre_exit()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71140",
                            "    - media: mediatek: vcodec: Use spinlock for context list protection lock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71156",
                            "    - gve: defer interrupt enabling until NAPI registration",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2024-36347",
                            "    - x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo",
                            "    - x86/microcode/AMD: Select which microcode patch to load",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71068",
                            "    - svcrdma: bound check rq_pages index in inline path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68772",
                            "    - f2fs: fix to avoid updating compression context during writeback",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71105",
                            "    - f2fs: use global inline_xattr_slab instead of per-sb slab cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71130",
                            "    - drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71138",
                            "    - drm/msm/dpu: Add missing NULL pointer check for pingpong interface",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71083",
                            "    - drm/ttm: Avoid NULL pointer deref for evicted BOs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71099",
                            "    - drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71079",
                            "    - net: nfc: fix deadlock between nfc_unregister_device and",
                            "      rfkill_fop_write",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71129",
                            "    - LoongArch: BPF: Sign extend kfunc call arguments",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71093",
                            "    - e1000: fix OOB in e1000_tbi_should_accept()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71084",
                            "    - RDMA/cm: Fix leaking the multicast GID table reference",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71096",
                            "    - RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71136",
                            "    - media: adv7842: Avoid possible out-of-bounds array accesses in",
                            "      adv7842_cp_log_status()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71143",
                            "    - clk: samsung: exynos-clkout: Assign .num before accessing .hws",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71078",
                            "    - powerpc/64s/slb: Fix SLB multihit issue during SLB preload",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71089",
                            "    - iommu: disable SVA when CONFIG_X86 is set",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71081",
                            "    - ASoC: stm32: sai: fix OF node leak on probe",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71153",
                            "    - ksmbd: Fix memory leak in get_file_all_info()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71135",
                            "    - md/raid5: fix possible null-pointer dereferences in",
                            "      raid5_store_group_thread_cnt()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71157",
                            "    - RDMA/core: always drop device refcount in ib_del_sub_device_and_put()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71133",
                            "    - RDMA/irdma: avoid invalid read in irdma_net_event",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71080",
                            "    - ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71086",
                            "    - net: rose: fix invalid array index in rose_kill_by_device()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71097",
                            "    - ipv4: Fix reference count leak when using error routes with nexthop",
                            "      objects",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71085",
                            "    - ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71095",
                            "    - net: stmmac: fix the crash issue for zero copy XDP_TX action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71137",
                            "    - octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71101",
                            "    - platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package",
                            "      parsing",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71094",
                            "    - net: usb: asix: validate PHY address before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71132",
                            "    - smc91x: fix broken irq-context in PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71154",
                            "    - net: usb: rtl8150: fix memory leak on usb_submit_urb() failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71091",
                            "    - team: fix check for port enabled in",
                            "      team_queue_override_port_prio_changed()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71098",
                            "    - ip6_gre: make ip6gre_header() robust",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71082",
                            "    - Bluetooth: btusb: revert use of devm_kzalloc in btusb",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71131",
                            "    - crypto: seqiv - Do not use req->iv after crypto_aead_encrypt",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71087",
                            "    - iavf: fix off-by-one issues in iavf_config_rss_reg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71100",
                            "    - wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68821",
                            "    - fuse: fix readahead reclaim deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71071",
                            "    - iommu/mediatek: fix use-after-free on probe deferral",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71111",
                            "    - hwmon: (w83791d) Convert macros to functions to avoid TOCTOU",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71113",
                            "    - crypto: af_alg - zero initialize memory allocated via sock_kmalloc",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71149",
                            "    - io_uring/poll: correctly handle io_poll_add() return value on update",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68778",
                            "    - btrfs: don't log conflicting inode if it's a dir moved in the current",
                            "      transaction",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71119",
                            "    - powerpc/kexec: Enable SMT before waking offline CPUs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71120",
                            "    - SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in",
                            "      gss_read_proxy_verf",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68811",
                            "    - svcrdma: use rc_pageoff for memcpy byte offset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68803",
                            "    - NFSD: NFSv4 file creation neglects setting ACL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71148",
                            "    - net/handshake: restore destructor on submit failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68788",
                            "    - fsnotify: do not generate ACCESS/MODIFY events on child for special",
                            "      files",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71125",
                            "    - tracing: Do not register unsupported perf events",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68784",
                            "    - xfs: fix a UAF problem in xattr repair",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71104",
                            "    - KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV",
                            "      timer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71116",
                            "    - libceph: make decode_pool() more resilient against corrupted osdmaps",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71121",
                            "    - parisc: Do not reprogram affinitiy on ASP chip",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71102",
                            "    - scs: fix a wrong parameter in __scs_magic",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68804",
                            "    - platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68771",
                            "    - ocfs2: fix kernel BUG in ocfs2_find_victim_chain",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68808",
                            "    - media: vidtv: initialize local pointers upon transfer of memory",
                            "      ownership",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68810",
                            "    - KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68769",
                            "    - f2fs: fix return value of f2fs_recover_fsync_data()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71069",
                            "    - f2fs: invalidate dentry cache on failed whiteout creation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68796",
                            "    - f2fs: fix to avoid updating zero-sized extent in extent cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71065",
                            "    - f2fs: fix to avoid potential deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71107",
                            "    - f2fs: ensure node page reads complete before f2fs_put_super() finishes",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68782",
                            "    - scsi: target: Reset t_task_cdb pointer in error case",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71075",
                            "    - scsi: aic94xx: fix use-after-free in device removal path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68818",
                            "    - scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in",
                            "      abort path\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68797",
                            "    - char: applicom: fix NULL pointer dereference in ac_ioctl",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68781",
                            "    - usb: phy: fsl-usb: Fix use-after-free in delayed work during device",
                            "      removal",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68819",
                            "    - media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71126",
                            "    - mptcp: avoid deadlock on fallback while reinjecting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68820",
                            "    - ext4: xattr: fix null pointer deref in ext4_raw_inode()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71123",
                            "    - ext4: fix string copying in parse_apply_sb_mount_options()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71077",
                            "    - tpm: Cap the number of PCR banks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68814",
                            "    - io_uring: fix filename leak in __io_openat_prep()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71147",
                            "    - KEYS: trusted: Fix a memory leak in tpm2_load_cmd",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71151",
                            "    - cifs: Fix memory and information leak in smb3_reconfigure()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71109",
                            "    - MIPS: ftrace: Fix memory corruption when kernel is located beyond 32",
                            "      bits",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71108",
                            "    - usb: typec: ucsi: Handle incorrect num_connectors capability",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71114",
                            "    - via_wdt: fix critical boot hang due to unnamed resource allocation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68783",
                            "    - ALSA: usb-mixer: us16x08: validate meter packet indices",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68776",
                            "    - net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68773",
                            "    - spi: fsl-cpm: Check length parity before switching to 16 bit mode",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68822",
                            "    - Input: alps - fix use-after-free bugs caused by dev3_register_work",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71073",
                            "    - Input: lkkbd - disable pending work before freeing device",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68777",
                            "    - Input: ti_am335x_tsc - fix off-by-one error in wire_order validation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68806",
                            "    - ksmbd: fix buffer validation by including null terminator size in EA",
                            "      length",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71150",
                            "    - ksmbd: Fix refcount leak when invalid session is found on session lookup",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68786",
                            "    - ksmbd: skip lock-range check on equal size to avoid size==0 underflow",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71076",
                            "    - drm/xe/oa: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68802",
                            "    - drm/xe: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68789",
                            "    - hwmon: (ibmpex) fix use-after-free in high/low store",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71112",
                            "    - net: hns3: add VLAN id validation before using",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71064",
                            "    - net: hns3: using the num_tqps in the vf driver to apply for resources",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68775",
                            "    - net/handshake: duplicate handshake cancellations leak socket",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68816",
                            "    - net/mlx5: fw_tracer, Validate format string parameters",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68795",
                            "    - ethtool: Avoid overflowing userspace buffer on stats query",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71122",
                            "    - iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68815",
                            "    - net/sched: ets: Remove drr class from the active list if it changes to",
                            "      strict",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68799",
                            "    - caif: fix integer underflow in cffrml_receive()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68813",
                            "    - ipvs: fix ipv4 null-ptr-deref in route error path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68785",
                            "    - net: openvswitch: fix middle attribute validation in push_nsh() action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68770",
                            "    - bnxt_en: Fix XDP_TX path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68800",
                            "    - mlxsw: spectrum_mr: Fix use-after-free when updating multicast route",
                            "      stats",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68801",
                            "    - mlxsw: spectrum_router: Fix neighbour use-after-free",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71066",
                            "    - net/sched: ets: Always remove class from active list before deleting in",
                            "      ets_qdisc_change",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68787",
                            "    - netrom: Fix memory leak in nr_sendmsg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68809",
                            "    - ksmbd: vfs: fix race on m_flags in vfs_cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68817",
                            "    - ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68767",
                            "    - hfsplus: Verify inode mode when loading from disk",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68774",
                            "    - hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71067",
                            "    - ntfs: set dummy blocksize to read boot_block when mounting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71118",
                            "    - ACPICA: Avoid walking the Namespace if start_node is NULL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68780",
                            "    - sched/deadline: only set free_cpus for online runqueues",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68798",
                            "    - perf/x86/amd: Check event before enable to avoid GPF",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68794",
                            "    - iomap: adjust read range correctly for non-block-aligned positions",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71072",
                            "    - shmem: fix recovery on rename failures",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68351",
                            "    - exfat: fix refcount leak in exfat_find",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68736",
                            "    - landlock: Fix handling of disconnected directories",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68353",
                            "    - net: vxlan: prevent NULL deref in vxlan_xmit_one",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68745",
                            "    - scsi: qla2xxx: Clear cmds after chip reset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68365",
                            "    - fs/ntfs3: Initialize allocated memory before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68368",
                            "    - md: init bioset in mddev_init",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68725",
                            "    - bpf: Do not let BPF test infra emit invalid GSO types to stack",
                            "  * CVE-2026-23111",
                            "    - netfilter: nf_tables: fix inverted genmask check in",
                            "      nft_map_catchall_activate()",
                            "  * CVE-2026-23209",
                            "    - macvlan: fix error recovery in macvlan_common_newlink()",
                            "  * CVE-2026-23074",
                            "    - net/sched: Enforce that teql can only be used as root qdisc",
                            "  * CVE-2026-23060",
                            "    - crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN",
                            "      spec",
                            ""
                        ],
                        "package": "linux-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2143424,
                            2143428,
                            2134400,
                            2137613,
                            2141276,
                            2141377,
                            2137272,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250
                        ],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 12:01:17 +0100"
                    }
                ],
                "notes": "linux-modules-6.17.0-22-generic version '6.17.0-22.22.1' (source package linux-riscv version '6.17.0-22.22.1') was added. linux-modules-6.17.0-22-generic version '6.17.0-22.22.1' has the same source package name, linux-riscv, as removed package linux-headers-6.17.0-20-generic. As such we can use the source package version of the removed package, '6.17.0-20.20.1', as the starting point in our changelog diff. Kernel packages are an example of where the binary package name changes for the same source package. Using the removed package source package version as our starting point means we can still get meaningful changelog diffs even for what appears to be a new package.",
                "is_version_downgrade": false
            },
            {
                "name": "linux-riscv-headers-6.17.0-22",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-68791",
                        "url": "https://ubuntu.com/security/CVE-2025-68791",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68805",
                        "url": "https://ubuntu.com/security/CVE-2025-68805",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68812",
                        "url": "https://ubuntu.com/security/CVE-2025-68812",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71117",
                        "url": "https://ubuntu.com/security/CVE-2025-71117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71070",
                        "url": "https://ubuntu.com/security/CVE-2025-71070",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71124",
                        "url": "https://ubuntu.com/security/CVE-2025-71124",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71115",
                        "url": "https://ubuntu.com/security/CVE-2025-71115",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68823",
                        "url": "https://ubuntu.com/security/CVE-2025-68823",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68793",
                        "url": "https://ubuntu.com/security/CVE-2025-68793",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68807",
                        "url": "https://ubuntu.com/security/CVE-2025-68807",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68768",
                        "url": "https://ubuntu.com/security/CVE-2025-68768",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71140",
                        "url": "https://ubuntu.com/security/CVE-2025-71140",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71156",
                        "url": "https://ubuntu.com/security/CVE-2025-71156",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-36347",
                        "url": "https://ubuntu.com/security/CVE-2024-36347",
                        "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-06-27 23:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71068",
                        "url": "https://ubuntu.com/security/CVE-2025-71068",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68772",
                        "url": "https://ubuntu.com/security/CVE-2025-68772",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71105",
                        "url": "https://ubuntu.com/security/CVE-2025-71105",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71130",
                        "url": "https://ubuntu.com/security/CVE-2025-71130",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71138",
                        "url": "https://ubuntu.com/security/CVE-2025-71138",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71083",
                        "url": "https://ubuntu.com/security/CVE-2025-71083",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71099",
                        "url": "https://ubuntu.com/security/CVE-2025-71099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71079",
                        "url": "https://ubuntu.com/security/CVE-2025-71079",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71129",
                        "url": "https://ubuntu.com/security/CVE-2025-71129",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71093",
                        "url": "https://ubuntu.com/security/CVE-2025-71093",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71084",
                        "url": "https://ubuntu.com/security/CVE-2025-71084",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71096",
                        "url": "https://ubuntu.com/security/CVE-2025-71096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71136",
                        "url": "https://ubuntu.com/security/CVE-2025-71136",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71143",
                        "url": "https://ubuntu.com/security/CVE-2025-71143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71078",
                        "url": "https://ubuntu.com/security/CVE-2025-71078",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71089",
                        "url": "https://ubuntu.com/security/CVE-2025-71089",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71081",
                        "url": "https://ubuntu.com/security/CVE-2025-71081",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71153",
                        "url": "https://ubuntu.com/security/CVE-2025-71153",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71135",
                        "url": "https://ubuntu.com/security/CVE-2025-71135",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71157",
                        "url": "https://ubuntu.com/security/CVE-2025-71157",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71133",
                        "url": "https://ubuntu.com/security/CVE-2025-71133",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71080",
                        "url": "https://ubuntu.com/security/CVE-2025-71080",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71086",
                        "url": "https://ubuntu.com/security/CVE-2025-71086",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71097",
                        "url": "https://ubuntu.com/security/CVE-2025-71097",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71085",
                        "url": "https://ubuntu.com/security/CVE-2025-71085",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71095",
                        "url": "https://ubuntu.com/security/CVE-2025-71095",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71137",
                        "url": "https://ubuntu.com/security/CVE-2025-71137",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71101",
                        "url": "https://ubuntu.com/security/CVE-2025-71101",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71094",
                        "url": "https://ubuntu.com/security/CVE-2025-71094",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71132",
                        "url": "https://ubuntu.com/security/CVE-2025-71132",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71154",
                        "url": "https://ubuntu.com/security/CVE-2025-71154",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71091",
                        "url": "https://ubuntu.com/security/CVE-2025-71091",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71098",
                        "url": "https://ubuntu.com/security/CVE-2025-71098",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71082",
                        "url": "https://ubuntu.com/security/CVE-2025-71082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71131",
                        "url": "https://ubuntu.com/security/CVE-2025-71131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71087",
                        "url": "https://ubuntu.com/security/CVE-2025-71087",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71100",
                        "url": "https://ubuntu.com/security/CVE-2025-71100",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68821",
                        "url": "https://ubuntu.com/security/CVE-2025-68821",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71071",
                        "url": "https://ubuntu.com/security/CVE-2025-71071",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71111",
                        "url": "https://ubuntu.com/security/CVE-2025-71111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71113",
                        "url": "https://ubuntu.com/security/CVE-2025-71113",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71149",
                        "url": "https://ubuntu.com/security/CVE-2025-71149",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68778",
                        "url": "https://ubuntu.com/security/CVE-2025-68778",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71119",
                        "url": "https://ubuntu.com/security/CVE-2025-71119",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71120",
                        "url": "https://ubuntu.com/security/CVE-2025-71120",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68811",
                        "url": "https://ubuntu.com/security/CVE-2025-68811",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68803",
                        "url": "https://ubuntu.com/security/CVE-2025-68803",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71148",
                        "url": "https://ubuntu.com/security/CVE-2025-71148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68788",
                        "url": "https://ubuntu.com/security/CVE-2025-68788",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71125",
                        "url": "https://ubuntu.com/security/CVE-2025-71125",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68784",
                        "url": "https://ubuntu.com/security/CVE-2025-68784",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71104",
                        "url": "https://ubuntu.com/security/CVE-2025-71104",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71116",
                        "url": "https://ubuntu.com/security/CVE-2025-71116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71121",
                        "url": "https://ubuntu.com/security/CVE-2025-71121",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71102",
                        "url": "https://ubuntu.com/security/CVE-2025-71102",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68804",
                        "url": "https://ubuntu.com/security/CVE-2025-68804",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68771",
                        "url": "https://ubuntu.com/security/CVE-2025-68771",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68808",
                        "url": "https://ubuntu.com/security/CVE-2025-68808",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68810",
                        "url": "https://ubuntu.com/security/CVE-2025-68810",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68769",
                        "url": "https://ubuntu.com/security/CVE-2025-68769",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71069",
                        "url": "https://ubuntu.com/security/CVE-2025-71069",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68796",
                        "url": "https://ubuntu.com/security/CVE-2025-68796",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71065",
                        "url": "https://ubuntu.com/security/CVE-2025-71065",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71107",
                        "url": "https://ubuntu.com/security/CVE-2025-71107",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68782",
                        "url": "https://ubuntu.com/security/CVE-2025-68782",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71075",
                        "url": "https://ubuntu.com/security/CVE-2025-71075",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68818",
                        "url": "https://ubuntu.com/security/CVE-2025-68818",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68797",
                        "url": "https://ubuntu.com/security/CVE-2025-68797",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68781",
                        "url": "https://ubuntu.com/security/CVE-2025-68781",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68819",
                        "url": "https://ubuntu.com/security/CVE-2025-68819",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71126",
                        "url": "https://ubuntu.com/security/CVE-2025-71126",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68820",
                        "url": "https://ubuntu.com/security/CVE-2025-68820",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71123",
                        "url": "https://ubuntu.com/security/CVE-2025-71123",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71077",
                        "url": "https://ubuntu.com/security/CVE-2025-71077",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68814",
                        "url": "https://ubuntu.com/security/CVE-2025-68814",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71147",
                        "url": "https://ubuntu.com/security/CVE-2025-71147",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71151",
                        "url": "https://ubuntu.com/security/CVE-2025-71151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71109",
                        "url": "https://ubuntu.com/security/CVE-2025-71109",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71108",
                        "url": "https://ubuntu.com/security/CVE-2025-71108",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71114",
                        "url": "https://ubuntu.com/security/CVE-2025-71114",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68783",
                        "url": "https://ubuntu.com/security/CVE-2025-68783",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68776",
                        "url": "https://ubuntu.com/security/CVE-2025-68776",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68773",
                        "url": "https://ubuntu.com/security/CVE-2025-68773",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68822",
                        "url": "https://ubuntu.com/security/CVE-2025-68822",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71073",
                        "url": "https://ubuntu.com/security/CVE-2025-71073",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68777",
                        "url": "https://ubuntu.com/security/CVE-2025-68777",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68806",
                        "url": "https://ubuntu.com/security/CVE-2025-68806",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71150",
                        "url": "https://ubuntu.com/security/CVE-2025-71150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68786",
                        "url": "https://ubuntu.com/security/CVE-2025-68786",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71076",
                        "url": "https://ubuntu.com/security/CVE-2025-71076",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68802",
                        "url": "https://ubuntu.com/security/CVE-2025-68802",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68789",
                        "url": "https://ubuntu.com/security/CVE-2025-68789",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71112",
                        "url": "https://ubuntu.com/security/CVE-2025-71112",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71064",
                        "url": "https://ubuntu.com/security/CVE-2025-71064",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68775",
                        "url": "https://ubuntu.com/security/CVE-2025-68775",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68816",
                        "url": "https://ubuntu.com/security/CVE-2025-68816",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68795",
                        "url": "https://ubuntu.com/security/CVE-2025-68795",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71122",
                        "url": "https://ubuntu.com/security/CVE-2025-71122",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68815",
                        "url": "https://ubuntu.com/security/CVE-2025-68815",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68799",
                        "url": "https://ubuntu.com/security/CVE-2025-68799",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68813",
                        "url": "https://ubuntu.com/security/CVE-2025-68813",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68785",
                        "url": "https://ubuntu.com/security/CVE-2025-68785",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68770",
                        "url": "https://ubuntu.com/security/CVE-2025-68770",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68800",
                        "url": "https://ubuntu.com/security/CVE-2025-68800",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68801",
                        "url": "https://ubuntu.com/security/CVE-2025-68801",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71066",
                        "url": "https://ubuntu.com/security/CVE-2025-71066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68787",
                        "url": "https://ubuntu.com/security/CVE-2025-68787",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68809",
                        "url": "https://ubuntu.com/security/CVE-2025-68809",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68817",
                        "url": "https://ubuntu.com/security/CVE-2025-68817",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68767",
                        "url": "https://ubuntu.com/security/CVE-2025-68767",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68774",
                        "url": "https://ubuntu.com/security/CVE-2025-68774",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71067",
                        "url": "https://ubuntu.com/security/CVE-2025-71067",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71118",
                        "url": "https://ubuntu.com/security/CVE-2025-71118",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68780",
                        "url": "https://ubuntu.com/security/CVE-2025-68780",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68798",
                        "url": "https://ubuntu.com/security/CVE-2025-68798",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68794",
                        "url": "https://ubuntu.com/security/CVE-2025-68794",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71072",
                        "url": "https://ubuntu.com/security/CVE-2025-71072",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68351",
                        "url": "https://ubuntu.com/security/CVE-2025-68351",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68736",
                        "url": "https://ubuntu.com/security/CVE-2025-68736",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68353",
                        "url": "https://ubuntu.com/security/CVE-2025-68353",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68745",
                        "url": "https://ubuntu.com/security/CVE-2025-68745",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68365",
                        "url": "https://ubuntu.com/security/CVE-2025-68365",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68368",
                        "url": "https://ubuntu.com/security/CVE-2025-68368",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68725",
                        "url": "https://ubuntu.com/security/CVE-2025-68725",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23111",
                        "url": "https://ubuntu.com/security/CVE-2026-23111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-02-13 14:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23209",
                        "url": "https://ubuntu.com/security/CVE-2026-23209",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-14 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23074",
                        "url": "https://ubuntu.com/security/CVE-2026-23074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23060",
                        "url": "https://ubuntu.com/security/CVE-2026-23060",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2143424,
                    2143428,
                    2134400,
                    2137613,
                    2141276,
                    2141377,
                    2137272,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-68791",
                                "url": "https://ubuntu.com/security/CVE-2025-68791",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68805",
                                "url": "https://ubuntu.com/security/CVE-2025-68805",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68812",
                                "url": "https://ubuntu.com/security/CVE-2025-68812",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71117",
                                "url": "https://ubuntu.com/security/CVE-2025-71117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71070",
                                "url": "https://ubuntu.com/security/CVE-2025-71070",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71124",
                                "url": "https://ubuntu.com/security/CVE-2025-71124",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71115",
                                "url": "https://ubuntu.com/security/CVE-2025-71115",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68823",
                                "url": "https://ubuntu.com/security/CVE-2025-68823",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68793",
                                "url": "https://ubuntu.com/security/CVE-2025-68793",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68807",
                                "url": "https://ubuntu.com/security/CVE-2025-68807",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68768",
                                "url": "https://ubuntu.com/security/CVE-2025-68768",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71140",
                                "url": "https://ubuntu.com/security/CVE-2025-71140",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71156",
                                "url": "https://ubuntu.com/security/CVE-2025-71156",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-36347",
                                "url": "https://ubuntu.com/security/CVE-2024-36347",
                                "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-06-27 23:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71068",
                                "url": "https://ubuntu.com/security/CVE-2025-71068",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68772",
                                "url": "https://ubuntu.com/security/CVE-2025-68772",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71105",
                                "url": "https://ubuntu.com/security/CVE-2025-71105",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71130",
                                "url": "https://ubuntu.com/security/CVE-2025-71130",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71138",
                                "url": "https://ubuntu.com/security/CVE-2025-71138",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71083",
                                "url": "https://ubuntu.com/security/CVE-2025-71083",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71099",
                                "url": "https://ubuntu.com/security/CVE-2025-71099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71079",
                                "url": "https://ubuntu.com/security/CVE-2025-71079",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71129",
                                "url": "https://ubuntu.com/security/CVE-2025-71129",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71093",
                                "url": "https://ubuntu.com/security/CVE-2025-71093",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71084",
                                "url": "https://ubuntu.com/security/CVE-2025-71084",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71096",
                                "url": "https://ubuntu.com/security/CVE-2025-71096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71136",
                                "url": "https://ubuntu.com/security/CVE-2025-71136",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71143",
                                "url": "https://ubuntu.com/security/CVE-2025-71143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71078",
                                "url": "https://ubuntu.com/security/CVE-2025-71078",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71089",
                                "url": "https://ubuntu.com/security/CVE-2025-71089",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71081",
                                "url": "https://ubuntu.com/security/CVE-2025-71081",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71153",
                                "url": "https://ubuntu.com/security/CVE-2025-71153",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71135",
                                "url": "https://ubuntu.com/security/CVE-2025-71135",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71157",
                                "url": "https://ubuntu.com/security/CVE-2025-71157",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71133",
                                "url": "https://ubuntu.com/security/CVE-2025-71133",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71080",
                                "url": "https://ubuntu.com/security/CVE-2025-71080",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71086",
                                "url": "https://ubuntu.com/security/CVE-2025-71086",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71097",
                                "url": "https://ubuntu.com/security/CVE-2025-71097",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71085",
                                "url": "https://ubuntu.com/security/CVE-2025-71085",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71095",
                                "url": "https://ubuntu.com/security/CVE-2025-71095",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71137",
                                "url": "https://ubuntu.com/security/CVE-2025-71137",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71101",
                                "url": "https://ubuntu.com/security/CVE-2025-71101",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71094",
                                "url": "https://ubuntu.com/security/CVE-2025-71094",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71132",
                                "url": "https://ubuntu.com/security/CVE-2025-71132",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71154",
                                "url": "https://ubuntu.com/security/CVE-2025-71154",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71091",
                                "url": "https://ubuntu.com/security/CVE-2025-71091",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71098",
                                "url": "https://ubuntu.com/security/CVE-2025-71098",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71082",
                                "url": "https://ubuntu.com/security/CVE-2025-71082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71131",
                                "url": "https://ubuntu.com/security/CVE-2025-71131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71087",
                                "url": "https://ubuntu.com/security/CVE-2025-71087",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71100",
                                "url": "https://ubuntu.com/security/CVE-2025-71100",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68821",
                                "url": "https://ubuntu.com/security/CVE-2025-68821",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71071",
                                "url": "https://ubuntu.com/security/CVE-2025-71071",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71111",
                                "url": "https://ubuntu.com/security/CVE-2025-71111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71113",
                                "url": "https://ubuntu.com/security/CVE-2025-71113",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71149",
                                "url": "https://ubuntu.com/security/CVE-2025-71149",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68778",
                                "url": "https://ubuntu.com/security/CVE-2025-68778",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71119",
                                "url": "https://ubuntu.com/security/CVE-2025-71119",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71120",
                                "url": "https://ubuntu.com/security/CVE-2025-71120",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68811",
                                "url": "https://ubuntu.com/security/CVE-2025-68811",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68803",
                                "url": "https://ubuntu.com/security/CVE-2025-68803",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71148",
                                "url": "https://ubuntu.com/security/CVE-2025-71148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68788",
                                "url": "https://ubuntu.com/security/CVE-2025-68788",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71125",
                                "url": "https://ubuntu.com/security/CVE-2025-71125",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68784",
                                "url": "https://ubuntu.com/security/CVE-2025-68784",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71104",
                                "url": "https://ubuntu.com/security/CVE-2025-71104",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71116",
                                "url": "https://ubuntu.com/security/CVE-2025-71116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71121",
                                "url": "https://ubuntu.com/security/CVE-2025-71121",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71102",
                                "url": "https://ubuntu.com/security/CVE-2025-71102",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68804",
                                "url": "https://ubuntu.com/security/CVE-2025-68804",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68771",
                                "url": "https://ubuntu.com/security/CVE-2025-68771",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68808",
                                "url": "https://ubuntu.com/security/CVE-2025-68808",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68810",
                                "url": "https://ubuntu.com/security/CVE-2025-68810",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68769",
                                "url": "https://ubuntu.com/security/CVE-2025-68769",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71069",
                                "url": "https://ubuntu.com/security/CVE-2025-71069",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68796",
                                "url": "https://ubuntu.com/security/CVE-2025-68796",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71065",
                                "url": "https://ubuntu.com/security/CVE-2025-71065",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71107",
                                "url": "https://ubuntu.com/security/CVE-2025-71107",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68782",
                                "url": "https://ubuntu.com/security/CVE-2025-68782",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71075",
                                "url": "https://ubuntu.com/security/CVE-2025-71075",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68818",
                                "url": "https://ubuntu.com/security/CVE-2025-68818",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68797",
                                "url": "https://ubuntu.com/security/CVE-2025-68797",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68781",
                                "url": "https://ubuntu.com/security/CVE-2025-68781",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68819",
                                "url": "https://ubuntu.com/security/CVE-2025-68819",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71126",
                                "url": "https://ubuntu.com/security/CVE-2025-71126",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68820",
                                "url": "https://ubuntu.com/security/CVE-2025-68820",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71123",
                                "url": "https://ubuntu.com/security/CVE-2025-71123",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71077",
                                "url": "https://ubuntu.com/security/CVE-2025-71077",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68814",
                                "url": "https://ubuntu.com/security/CVE-2025-68814",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71147",
                                "url": "https://ubuntu.com/security/CVE-2025-71147",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71151",
                                "url": "https://ubuntu.com/security/CVE-2025-71151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71109",
                                "url": "https://ubuntu.com/security/CVE-2025-71109",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71108",
                                "url": "https://ubuntu.com/security/CVE-2025-71108",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71114",
                                "url": "https://ubuntu.com/security/CVE-2025-71114",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68783",
                                "url": "https://ubuntu.com/security/CVE-2025-68783",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68776",
                                "url": "https://ubuntu.com/security/CVE-2025-68776",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68773",
                                "url": "https://ubuntu.com/security/CVE-2025-68773",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68822",
                                "url": "https://ubuntu.com/security/CVE-2025-68822",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71073",
                                "url": "https://ubuntu.com/security/CVE-2025-71073",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68777",
                                "url": "https://ubuntu.com/security/CVE-2025-68777",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68806",
                                "url": "https://ubuntu.com/security/CVE-2025-68806",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71150",
                                "url": "https://ubuntu.com/security/CVE-2025-71150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68786",
                                "url": "https://ubuntu.com/security/CVE-2025-68786",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71076",
                                "url": "https://ubuntu.com/security/CVE-2025-71076",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68802",
                                "url": "https://ubuntu.com/security/CVE-2025-68802",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68789",
                                "url": "https://ubuntu.com/security/CVE-2025-68789",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71112",
                                "url": "https://ubuntu.com/security/CVE-2025-71112",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71064",
                                "url": "https://ubuntu.com/security/CVE-2025-71064",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68775",
                                "url": "https://ubuntu.com/security/CVE-2025-68775",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68816",
                                "url": "https://ubuntu.com/security/CVE-2025-68816",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68795",
                                "url": "https://ubuntu.com/security/CVE-2025-68795",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71122",
                                "url": "https://ubuntu.com/security/CVE-2025-71122",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68815",
                                "url": "https://ubuntu.com/security/CVE-2025-68815",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68799",
                                "url": "https://ubuntu.com/security/CVE-2025-68799",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68813",
                                "url": "https://ubuntu.com/security/CVE-2025-68813",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68785",
                                "url": "https://ubuntu.com/security/CVE-2025-68785",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68770",
                                "url": "https://ubuntu.com/security/CVE-2025-68770",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68800",
                                "url": "https://ubuntu.com/security/CVE-2025-68800",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68801",
                                "url": "https://ubuntu.com/security/CVE-2025-68801",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71066",
                                "url": "https://ubuntu.com/security/CVE-2025-71066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68787",
                                "url": "https://ubuntu.com/security/CVE-2025-68787",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68809",
                                "url": "https://ubuntu.com/security/CVE-2025-68809",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68817",
                                "url": "https://ubuntu.com/security/CVE-2025-68817",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68767",
                                "url": "https://ubuntu.com/security/CVE-2025-68767",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68774",
                                "url": "https://ubuntu.com/security/CVE-2025-68774",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71067",
                                "url": "https://ubuntu.com/security/CVE-2025-71067",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71118",
                                "url": "https://ubuntu.com/security/CVE-2025-71118",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68780",
                                "url": "https://ubuntu.com/security/CVE-2025-68780",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68798",
                                "url": "https://ubuntu.com/security/CVE-2025-68798",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68794",
                                "url": "https://ubuntu.com/security/CVE-2025-68794",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71072",
                                "url": "https://ubuntu.com/security/CVE-2025-71072",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68351",
                                "url": "https://ubuntu.com/security/CVE-2025-68351",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68736",
                                "url": "https://ubuntu.com/security/CVE-2025-68736",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68353",
                                "url": "https://ubuntu.com/security/CVE-2025-68353",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68745",
                                "url": "https://ubuntu.com/security/CVE-2025-68745",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68365",
                                "url": "https://ubuntu.com/security/CVE-2025-68365",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68368",
                                "url": "https://ubuntu.com/security/CVE-2025-68368",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68725",
                                "url": "https://ubuntu.com/security/CVE-2025-68725",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23111",
                                "url": "https://ubuntu.com/security/CVE-2026-23111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-02-13 14:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23209",
                                "url": "https://ubuntu.com/security/CVE-2026-23209",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-14 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23074",
                                "url": "https://ubuntu.com/security/CVE-2026-23074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23060",
                                "url": "https://ubuntu.com/security/CVE-2026-23060",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * questing/linux-riscv: 6.17.0-22.22.1 -proposed tracker (LP: #2143424)",
                            "",
                            "  [ Ubuntu: 6.17.0-22.22 ]",
                            "",
                            "  * questing/linux: 6.17.0-22.22 -proposed tracker (LP: #2143428)",
                            "  * Questing preinstalled server fails to boot on QCS8300 based boards",
                            "    (LP: #2134400)",
                            "    - [Config] move qcom interconnect/pinctrl/gcc as built-in for QCS8300",
                            "  * TBT call trace while connecting TBT4 monitor on TBT5 port (LP: #2137613)",
                            "    - SAUCE: thunderbolt: log path activation failures without WARN backtraces",
                            "  * efi: Fix swapped arguments to bsearch() in efi_status_to_*() SAUCE patch",
                            "    (LP: #2141276)",
                            "    - SAUCE efi: Fix swapped arguments to bsearch() in efi_status_to_*()",
                            "  * [SRU]Fix xe GPU suspend/resume crash on Battlemage (LP: #2141377)",
                            "    - drm/xe: make xe_gt_idle_disable_c6() handle the forcewake internally",
                            "  * Accumulative updates for Intel PTL-H component enabling PV rev3.0",
                            "    (LP: #2137272)",
                            "    - drm/i915/display: Optimize panel power-on wait time",
                            "    - HID: intel-ish-hid: Use dedicated unbound workqueues to prevent resume",
                            "      blocking",
                            "    - drm/xe/guc: Recommend GUC v70.49.4 for PTL, BMG",
                            "    - HID: Intel-thc-hid: Intel-thc: Use str_true_false() helper",
                            "    - HID: intel-thc-hid: intel-quicki2c: support ACPI config for advanced",
                            "      features",
                            "    - usb: typec: ucsi: Add SET_POWER_LEVEL UCSI command to debugfs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250)",
                            "    - bpf: Fix sleepable context for async callbacks",
                            "    - bpf: extract generic helper from process_timer_func()",
                            "    - bpf: Fix handling maps with no BTF and non-constant offsets for the",
                            "      bpf_wq",
                            "    - irqchip: Drop leftover brackets",
                            "    - irqchip: Pass platform device to platform drivers",
                            "    - arm64: dts: exynos: gs101: fix clock module unit reg sizes",
                            "    - ice: move service task start out of ice_init_pf()",
                            "    - ice: move ice_init_interrupt_scheme() prior ice_init_pf()",
                            "    - ice: ice_init_pf: destroy mutexes and xarrays on memory alloc failure",
                            "    - ice: move udp_tunnel_nic and misc IRQ setup into ice_init_pf()",
                            "    - ice: move ice_init_pf() out of ice_init_dev()",
                            "    - ice: extract ice_init_dev() from ice_init()",
                            "    - ice: move ice_deinit_dev() to the end of deinit paths",
                            "    - ice: remove duplicate call to ice_deinit_hw() on error paths",
                            "    - arm64: dts: qcom: lemans: Add missing quirk for HS only USB controller",
                            "    - tools/nolibc: x86: fix section mismatch caused by asm \"mem*\" functions",
                            "    - arm64: dts: ti: k3-j784s4: Fix I2C pinmux pull configuration",
                            "    - wifi: ath12k: enforce vdev limit in ath12k_mac_vdev_create()",
                            "    - ARM: dts: am33xx: Add missing serial console speed",
                            "    - arm64: tegra: Add pinctrl definitions for pcie-ep nodes",
                            "    - arm64: mm: Move KPTI helpers to mmu.c",
                            "    - arm64/mm: Allow __create_pgd_mapping() to propagate pgtable_alloc()",
                            "      errors",
                            "    - pwm: Simplify printf to emit chip->npwm in $debugfs/pwm",
                            "    - pwm: Use %u to printf unsigned int pwm_chip::npwm and pwm_chip::id",
                            "    - soc/tegra: fuse: speedo-tegra210: Update speedo IDs",
                            "    - iio: core: add missing mutex_destroy in iio_dev_release()",
                            "    - iio: core: Clean up device correctly on iio_device_alloc() failure",
                            "    - iommu/vt-d: Set INTEL_IOMMU_FLOPPY_WA depend on BLK_DEV_FD",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_elfcorehdr()",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_usable_mem_range()",
                            "    - rtla/tests: Extend action tests to 5s",
                            "    - rtla: Fix -a overriding -t argument",
                            "    - btrfs: make sure extent and csum paths are always released in",
                            "      scrub_raid56_parity_stripe()",
                            "    - iomap: allocate s_dio_done_wq for async reads as well",
                            "    - RDMA/irdma: Remove doorbell elision logic",
                            "    - selftests/landlock: Fix makefile header list",
                            "    - io_uring/kbuf: use READ_ONCE() for userspace-mapped memory",
                            "    - ALSA: wavefront: Clear substream pointers on close",
                            "    - btrfs: do not skip logging new dentries when logging a new name",
                            "    - btrfs: fix a potential path leak in print_data_reloc_error()",
                            "    - bpf, arm64: Do not audit capability check in do_jit()",
                            "    - btrfs: fix memory leak of fs_devices in degraded seed device path",
                            "    - iomap: account for unaligned end offsets when truncating read range",
                            "    - scripts/faddr2line: Fix \"Argument list too long\" error",
                            "    - sched/fair: Revert max_newidle_lb_cost bump",
                            "    - x86/ptrace: Always inline trivial accessors",
                            "    - ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint()",
                            "      only",
                            "    - cpufreq: dt-platdev: Add JH7110S SOC to the allowlist",
                            "    - ACPI: fan: Workaround for 64-bit firmware bug",
                            "    - cpufreq: s5pv210: fix refcount leak",
                            "    - cpuidle: menu: Use residency threshold in polling state override",
                            "      decisions",
                            "    - livepatch: Match old_sympos 0 and 1 in klp_find_func()",
                            "    - fs/ntfs3: Support timestamps prior to epoch",
                            "    - kbuild: Use objtree for module signing key path",
                            "    - hfsplus: fix volume corruption issue for generic/070",
                            "    - hfsplus: fix volume corruption issue for generic/073",
                            "    - fs/ntfs3: check for shutdown in fsync",
                            "    - wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU",
                            "    - wifi: cfg80211: stop radar detection in cfg80211_leave()",
                            "    - wifi: cfg80211: use cfg80211_leave() in iftype change",
                            "    - wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC",
                            "      load",
                            "    - wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet",
                            "    - btrfs: scrub: always update btrfs_scrub_progress::last_physical",
                            "    - gfs2: fix remote evict for read-only filesystems",
                            "    - gfs2: Fix \"gfs2: Switch to wait_event in gfs2_quotad\"",
                            "    - smb/server: fix return value of smb2_ioctl()",
                            "    - Bluetooth: btusb: Add new VID/PID 2b89/6275 for RTL8761BUV",
                            "    - Bluetooth: btusb: MT7922: Add VID/PID 0489/e170",
                            "    - Bluetooth: btusb: MT7920: Add VID/PID 0489/e135",
                            "    - Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE",
                            "    - Bluetooth: btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT",
                            "    - net: fec: ERR007885 Workaround for XDP TX path",
                            "    - ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2()",
                            "    - mlxsw: spectrum_router: Fix possible neighbour reference count leak",
                            "    - broadcom: b44: prevent uninitialized value usage",
                            "    - netfilter: nf_conncount: fix leaked ct in error paths",
                            "    - nfc: pn533: Fix error code in pn533_acr122_poweron_rdr()",
                            "    - netfilter: nf_nat: remove bogus direction check",
                            "    - netfilter: nf_tables: remove redundant chain validation on register",
                            "      store",
                            "    - selftests: netfilter: packetdrill: avoid failure on HZ=100 kernel",
                            "    - iommufd/selftest: Make it clearer to gcc that the access is not out of",
                            "      bounds",
                            "    - net/mlx5: fw reset, clear reset requested on drain_fw_reset",
                            "    - net/mlx5: Drain firmware reset in shutdown callback",
                            "    - net/mlx5: fw_tracer, Handle escaped percent properly",
                            "    - net/mlx5: Serialize firmware reset with devlink",
                            "    - net: enetc: do not transmit redirected XDP frames when the link is down",
                            "    - net: hns3: using the num_tqps to check whether tqp_index is out of range",
                            "      when vf get ring info from mbx",
                            "    - hwmon: (dell-smm) Limit fan multiplier to avoid overflow",
                            "    - hwmon: (tmp401) fix overflow caused by default conversion rate value",
                            "    - drm/me/gsc: mei interrupt top half should be in irq disabled context",
                            "    - drm/xe: Restore engine registers before restarting schedulers after GT",
                            "      reset",
                            "    - MIPS: Fix a reference leak bug in ip22_check_gio()",
                            "    - drm/panel: sony-td4353-jdi: Enable prepare_prev_first",
                            "    - x86/xen: Fix sparse warning in enlighten_pv.c",
                            "    - arm64: kdump: Fix elfcorehdr overlap caused by reserved memory",
                            "      processing reorder",
                            "    - spi: cadence-quadspi: Fix clock disable on probe failure path",
                            "    - block: rnbd-clt: Fix leaked ID in init_dev()",
                            "    - hwmon: (ltc4282): Fix reset_history file permissions",
                            "    - HID: input: map HID_GD_Z to ABS_DISTANCE for stylus/pen",
                            "    - Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk",
                            "      table",
                            "    - xfs: don't leak a locked dquot when xfs_dquot_attach_buf fails",
                            "    - can: gs_usb: gs_can_open(): fix error handling",
                            "    - soc/tegra: fuse: Do not register SoC device on ACPI boot",
                            "    - ACPI: PCC: Fix race condition by removing static qualifier",
                            "    - ACPI: CPPC: Fix missing PCC check for guaranteed_perf",
                            "    - mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig",
                            "    - mmc: sdhci-of-arasan: Increase CD stable timeout to 2 seconds",
                            "    - dt-bindings: mmc: sdhci-of-aspeed: Switch ref to sdhci-common.yaml",
                            "    - x86/fpu: Fix FPU state core dump truncation on CPUs with no extended",
                            "      xfeatures",
                            "    - ALSA: vxpocket: Fix resource leak in vxpocket_probe error path",
                            "    - ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path",
                            "    - ASoC: ak4458: remove the reset operation in probe and remove",
                            "    - nfsd: fix memory leak in nfsd_create_serv error paths",
                            "    - ipmi: Fix the race between __scan_channels() and deliver_response()",
                            "    - ipmi: Fix __scan_channels() failing to rescan channels",
                            "    - scsi: ufs: host: mediatek: Fix shutdown/suspend race condition",
                            "    - firmware: imx: scu-irq: Init workqueue before request mbox channel",
                            "    - ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx",
                            "    - scsi: smartpqi: Add support for Hurray Data new controller PCI device",
                            "    - clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4",
                            "    - powerpc/addnote: Fix overflow on 32-bit builds",
                            "    - scsi: qla2xxx: Fix lost interrupts with qlini_mode=disabled",
                            "    - scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive",
                            "    - scsi: qla2xxx: Use reinit_completion on mbx_intr_comp",
                            "    - fuse: Always flush the page cache before FOPEN_DIRECT_IO write",
                            "    - fuse: Invalidate the page cache after FOPEN_DIRECT_IO write",
                            "    - reset: fix BIT macro reference",
                            "    - exfat: fix remount failure in different process environments",
                            "    - exfat: zero out post-EOF page cache on file extension",
                            "    - usbip: Fix locking bug in RT-enabled kernels",
                            "    - iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains",
                            "    - usb: xhci: limit run_graceperiod for only usb 3.0 devices",
                            "    - usb: usb-storage: No additional quirks need to be added to the EL-R12",
                            "      optical drive.",
                            "    - serial: sprd: Return -EPROBE_DEFER when uart clock is not ready",
                            "    - libperf cpumap: Fix perf_cpu_map__max for an empty/NULL map",
                            "    - clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk0_clk_src",
                            "    - i2c: designware: Disable SMBus interrupts to prevent storms from mis-",
                            "      configured firmware",
                            "    - nvme-fc: don't hold rport lock when putting ctrl",
                            "    - nvme-fabrics: add ENOKEY to no retry criteria for authentication",
                            "      failures",
                            "    - scsi: scsi_debug: Fix atomic write enable module param description",
                            "    - block: rnbd-clt: Fix signedness bug in init_dev()",
                            "    - vhost/vsock: improve RCU read sections around vhost_vsock_get()",
                            "    - x86/mce: Do not clear bank's poll bit in mce_poll_banks on AMD SMCA",
                            "      systems",
                            "    - mmc: sdhci-msm: Avoid early clock doubling during HS400 transition",
                            "    - perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister()",
                            "    - lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit",
                            "    - s390/dasd: Fix gendisk parent after copy pair swap",
                            "    - wifi: mt76: Fix DTS power-limits on little endian systems",
                            "    - block: rate-limit capacity change info log",
                            "    - floppy: fix for PAGE_SIZE != 4KB",
                            "    - kallsyms: Fix wrong \"big\" kernel symbol type read from procfs",
                            "    - fs/ntfs3: fix mount failure for sparse runs in run_unpack()",
                            "    - ktest.pl: Fix uninitialized var in config-bisect.pl",
                            "    - ext4: clear i_state_flags when alloc inode",
                            "    - ext4: fix incorrect group number assertion in mb_check_buddy",
                            "    - ext4: align max orphan file size with e2fsprogs limit",
                            "    - jbd2: use a per-journal lock_class_key for jbd2_trans_commit_key",
                            "    - jbd2: use a weaker annotation in journal handling",
                            "    - media: v4l2-mem2mem: Fix outdated documentation",
                            "    - selftests: mptcp: pm: ensure unknown flags are ignored",
                            "    - mptcp: schedule rtx timer only after pushing data",
                            "    - usb: usb-storage: Maintain minimal modifications to the bcdDevice range.",
                            "    - media: pvrusb2: Fix incorrect variable used in trace message",
                            "    - phy: broadcom: bcm63xx-usbh: fix section mismatches",
                            "    - usb: ohci-nxp: fix device leak on probe failure",
                            "    - usb: typec: altmodes/displayport: Drop the device reference in",
                            "      dp_altmode_probe()",
                            "    - USB: lpc32xx_udc: Fix error handling in probe",
                            "    - usb: phy: isp1301: fix non-OF device reference imbalance",
                            "    - usb: gadget: lpc32xx_udc: fix clock imbalance in error path",
                            "    - usb: dwc3: of-simple: fix clock resource leak in dwc3_of_simple_probe",
                            "    - usb: dwc3: keep susphy enabled during exit to avoid controller faults",
                            "    - usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()",
                            "    - intel_th: Fix error handling in intel_th_output_open",
                            "    - mei: gsc: add dependency on Xe driver",
                            "    - serial: sh-sci: Check that the DMA cookie is valid",
                            "    - cpuidle: governors: teo: Drop misguided target residency check",
                            "    - cpufreq: nforce2: fix reference count leak in nforce2",
                            "    - NFSD: use correct reservation type in nfsd4_scsi_fence_client",
                            "    - scsi: mpi3mr: Read missing IOCFacts flag for reply queue full overflow",
                            "    - scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error",
                            "    - f2fs: fix age extent cache insertion skip on counter overflow",
                            "    - f2fs: fix uninitialized one_time_gc in victim_sel_policy",
                            "    - tools/testing/nvdimm: Use per-DIMM device handle",
                            "    - KVM: x86: Don't clear async #PF queue when CR0.PG is disabled (e.g. on",
                            "      #SMI)",
                            "    - powerpc: Add reloc_offset() to font bitmap pointer used for",
                            "      bootx_printf()",
                            "    - KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with",
                            "      period=0",
                            "    - KVM: x86: Explicitly set new periodic hrtimer expiration in",
                            "      apic_timer_fn()",
                            "    - KVM: nSVM: Avoid incorrect injection of SVM_EXIT_CR0_SEL_WRITE",
                            "    - KVM: SVM: Mark VMCB_NPT as dirty on nested VMRUN",
                            "    - KVM: nSVM: Propagate SVM_EXIT_CR0_SEL_WRITE correctly for LMSW emulation",
                            "    - KVM: SVM: Mark VMCB_PERM_MAP as dirty on nested VMRUN",
                            "    - KVM: nVMX: Immediately refresh APICv controls as needed on nested VM-",
                            "      Exit",
                            "    - KVM: nSVM: Set exit_code_hi to -1 when synthesizing SVM_EXIT_ERR (failed",
                            "      VMRUN)",
                            "    - KVM: nSVM: Clear exit_code_hi in VMCB when synthesizing nested VM-Exits",
                            "    - xfs: fix a memory leak in xfs_buf_item_init()",
                            "    - xfs: fix stupid compiler warning",
                            "    - PM: runtime: Do not clear needs_force_resume with enabled runtime PM",
                            "    - r8169: fix RTL8117 Wake-on-Lan in DASH mode",
                            "    - net: phy: marvell-88q2xxx: Fix clamped value in mv88q2xxx_hwmon_write",
                            "    - NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap",
                            "    - nfsd: Mark variable __maybe_unused to avoid W=1 build break",
                            "    - svcrdma: return 0 on success from svc_rdma_copy_inline_range",
                            "    - s390/ipl: Clear SBP flag when bootprog is set",
                            "    - gpio: regmap: Fix memleak in error path in gpio_regmap_register()",
                            "    - io_uring: fix min_wait wakeups for SQPOLL",
                            "    - drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state()",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN35",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN351",
                            "    - drm/displayid: pass iter to drm_find_displayid_extension()",
                            "    - ALSA: wavefront: Use guard() for spin locks",
                            "    - pinctrl: renesas: rzg2l: Fix ISEL restore on resume",
                            "    - arm64: Revamp HCR_EL2.E2H RES1 detection",
                            "    - dt-bindings: PCI: qcom,pcie-sc7280: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sc8280xp: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8150: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8250: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8350: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8450: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8550: Add missing required power-domains",
                            "      and resets",
                            "    - crypto: caam - Add check for kcalloc() in test_len()",
                            "    - amba: tegra-ahb: Fix device leak on SMMU enable",
                            "    - virtio: vdpa: Fix reference count leak in octep_sriov_enable()",
                            "    - tracing: Fix fixed array of synthetic event",
                            "    - soc: samsung: exynos-pmu: fix device leak on regmap lookup",
                            "    - soc: qcom: pbs: fix device leak on lookup",
                            "    - soc: qcom: ocmem: fix device leak on lookup",
                            "    - soc: apple: mailbox: fix device leak on lookup",
                            "    - soc: amlogic: canvas: fix device leak on lookup",
                            "    - rpmsg: glink: fix rpmsg device leak",
                            "    - platform/x86: intel: chtwc_int33fe: don't dereference swnode args",
                            "    - i2c: amd-mp2: fix reference leak in MP2 PCI device",
                            "    - interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes",
                            "    - hwmon: (max16065) Use local variable to avoid TOCTOU",
                            "    - hwmon: (max6697) fix regmap leak on probe failure",
                            "    - hwmon: (w83l786ng) Convert macros to functions to avoid TOCTOU",
                            "    - ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32",
                            "    - x86/msi: Make irq_retrigger() functional for posted MSI",
                            "    - wifi: rtw88: limit indirect IO under powered off for RTL8822CS",
                            "    - wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()",
                            "    - wifi: mac80211: do not use old MBSSID elements",
                            "    - i40e: fix scheduling in set_rx_mode",
                            "    - i40e: validate ring_len parameter against hardware-specific values",
                            "    - idpf: reduce mbx_task schedule delay to 300us",
                            "    - net: mdio: aspeed: add dummy read to avoid read-after-write issue",
                            "    - net: openvswitch: Avoid needlessly taking the RTNL on vport destroy",
                            "    - platform/mellanox: mlxbf-pmc: Remove trailing whitespaces from event",
                            "      names",
                            "    - platform/x86: msi-laptop: add missing sysfs_remove_group()",
                            "    - platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic",
                            "    - net: dsa: fix missing put_device() in dsa_tree_find_first_conduit()",
                            "    - amd-xgbe: reset retries and mode on RX adapt failures",
                            "    - Revert \"UBUNTU: SAUCE: selftests: net: fix \"buffer overflow detected\"",
                            "      for tap.c\"",
                            "    - selftests: net: fix \"buffer overflow detected\" for tap.c",
                            "    - genalloc.h: fix htmldocs warning",
                            "    - firewire: nosy: Fix dma_free_coherent() size",
                            "    - net: dsa: b53: skip multicast entries for fdb_dump()",
                            "    - kbuild: fix compilation of dtb specified on command-line without make",
                            "      rule",
                            "    - net: bridge: Describe @tunnel_hash member in net_bridge_vlan_group",
                            "      struct",
                            "    - vfio/pds: Fix memory leak in pds_vfio_dirty_enable()",
                            "    - RDMA/efa: Remove possible negative shift",
                            "    - RDMA/core: Fix logic error in ib_get_gids_from_rdma_hdr()",
                            "    - RDMA/bnxt_re: Fix incorrect BAR check in bnxt_qplib_map_creq_db()",
                            "    - RDMA/bnxt_re: Fix IB_SEND_IP_CSUM handling in post_send",
                            "    - RDMA/bnxt_re: Fix to use correct page size for PDE table",
                            "    - md: Fix static checker warning in analyze_sbs",
                            "    - RDMA/rtrs: Fix clt_path::max_pages_per_mr calculation",
                            "    - RDMA/bnxt_re: fix dma_free_coherent() pointer",
                            "    - blk-mq: skip CPU offline notify on unmapped hctx",
                            "    - selftests/ftrace: traceonoff_triggers: strip off names",
                            "    - ntfs: Do not overwrite uptodate pages",
                            "    - ASoC: codecs: wcd939x: fix regmap leak on probe failure",
                            "    - ASoC: stm32: sai: fix device leak on probe",
                            "    - ASoC: stm32: sai: fix clk prepare imbalance on probe failure",
                            "    - ASoC: codecs: lpass-tx-macro: fix SM6115 support",
                            "    - ASoC: qcom: q6apm-dai: set flags to reflect correct operation of",
                            "      appl_ptr",
                            "    - ASoC: qcom: q6asm-dai: perform correct state check before closing",
                            "    - ASoC: qcom: q6adm: the the copp device only during last instance",
                            "    - ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.",
                            "    - iommu/amd: Fix pci_segment memleak in alloc_pci_segment()",
                            "    - iommu/amd: Propagate the error code returned by __modify_irte_ga() in",
                            "      modify_irte_ga()",
                            "    - iommu/apple-dart: fix device leak on of_xlate()",
                            "    - iommu/exynos: fix device leak on of_xlate()",
                            "    - iommu/ipmmu-vmsa: fix device leak on of_xlate()",
                            "    - iommu/mediatek-v1: fix device leak on probe_device()",
                            "    - iommu/mediatek-v1: fix device leaks on probe()",
                            "    - iommu/mediatek: fix device leak on of_xlate()",
                            "    - iommu/omap: fix device leaks on probe_device()",
                            "    - iommu/qcom: fix device leak on of_xlate()",
                            "    - iommu/sun50i: fix device leak on of_xlate()",
                            "    - iommu/tegra: fix device leak on probe_device()",
                            "    - HID: logitech-dj: Remove duplicate error logging",
                            "    - fgraph: Initialize ftrace_ops->private for function graph ops",
                            "    - fgraph: Check ftrace_pids_enabled on registration for early filtering",
                            "    - PCI/PM: Reinstate clearing state_saved in legacy and !PM codepaths",
                            "    - arm64: dts: ti: k3-j721e-sk: Fix pinmux for pin Y1 used by power",
                            "      regulator",
                            "    - powerpc, mm: Fix mprotect on book3s 32-bit",
                            "    - leds: leds-cros_ec: Skip LEDs without color components",
                            "    - leds: leds-lp50xx: Allow LED 0 to be added to module bank",
                            "    - leds: leds-lp50xx: LP5009 supports 3 modules for a total of 9 LEDs",
                            "    - leds: leds-lp50xx: Enable chip before any communication",
                            "    - block: Clear BLK_ZONE_WPLUG_PLUGGED when aborting plugged BIOs",
                            "    - mfd: altera-sysmgr: Fix device leak on sysmgr regmap lookup",
                            "    - mfd: max77620: Fix potential IRQ chip conflict when probing two devices",
                            "    - media: rc: st_rc: Fix reset control resource leak",
                            "    - media: verisilicon: Fix CPU stalls on G2 bus error",
                            "    - mtd: mtdpart: ignore error -ENOENT from parsers on subpartitions",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIQ chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q02NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H512NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H01NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H02NWxxAM chips",
                            "    - parisc: entry.S: fix space adjustment on interruption for 64-bit",
                            "      userspace",
                            "    - parisc: entry: set W bit for !compat tasks in syscall_restore_rfi()",
                            "    - perf/x86/amd/uncore: Fix the return value of amd_uncore_df_event_init()",
                            "      on error",
                            "    - powerpc/pseries/cmm: call balloon_devinfo_init() also without",
                            "      CONFIG_BALLOON_COMPACTION",
                            "    - firmware: stratix10-svc: Add mutex in stratix10 memory management",
                            "    - dm-ebs: Mark full buffer dirty even on partial write",
                            "    - dm-bufio: align write boundary on physical block size",
                            "    - fbdev: gbefb: fix to use physical address instead of dma address",
                            "    - fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing",
                            "    - fbdev: tcx.c fix mem_map to correct smem_start offset",
                            "    - media: cec: Fix debugfs leak on bus_register() failure",
                            "    - media: msp3400: Avoid possible out-of-bounds array accesses in",
                            "      msp3400c_thread()",
                            "    - media: platform: mtk-mdp3: fix device leaks at probe",
                            "    - media: renesas: rcar_drif: fix device node reference leak in",
                            "      rcar_drif_bond_enabled",
                            "    - media: samsung: exynos4-is: fix potential ABBA deadlock on init",
                            "    - media: TDA1997x: Remove redundant cancel_delayed_work in probe",
                            "    - media: verisilicon: Protect G2 HEVC decoder against invalid DPB index",
                            "    - media: videobuf2: Fix device reference leak in vb2_dc_alloc error path",
                            "    - media: vpif_capture: fix section mismatch",
                            "    - media: vpif_display: fix section mismatch",
                            "    - media: amphion: Cancel message work before releasing the VPU core",
                            "    - media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe",
                            "    - media: i2c: adv7842: Remove redundant cancel_delayed_work in probe",
                            "    - media: mediatek: vcodec: Fix a reference leak in",
                            "      mtk_vcodec_fw_vpu_init()",
                            "    - LoongArch: Add new PCI ID for pci_fixup_vgadev()",
                            "    - LoongArch: Correct the calculation logic of thread_count",
                            "    - LoongArch: Fix build errors for CONFIG_RANDSTRUCT",
                            "    - LoongArch: Use __pmd()/__pte() for swap entry conversions",
                            "    - LoongArch: Use unsigned long for _end and _text",
                            "    - mm/damon/tests/sysfs-kunit: handle alloc failures on",
                            "      damon_sysfs_test_add_targets()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures in",
                            "      damon_test_split_evenly_fail()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_test_split_evenly_succ()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_at()",
                            "    - mm/damon/tests/core-kunit: handle allocation failures in",
                            "      damon_test_regions()",
                            "    - mm/damon/tests/core-kunit: handle memory failure from",
                            "      damon_test_target()",
                            "    - mm/damon/tests/core-kunit: handle memory alloc failure from",
                            "      damon_test_aggregate()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      dasmon_test_merge_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_merge_two()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_set_regions()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_update_monitoring_result()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_ops_registration()",
                            "    - mm/damon/tests/core-kunit: handle alloc failure on",
                            "      damon_test_set_attrs()",
                            "    - pmdomain: imx: Fix reference count leak in imx_gpc_probe()",
                            "    - compiler_types.h: add \"auto\" as a macro for \"__auto_type\"",
                            "    - mm/kasan: fix incorrect unpoisoning in vrealloc for KASAN",
                            "    - kasan: refactor pcpu kasan vmalloc unpoison",
                            "    - kasan: unpoison vms[area] addresses with a common tag",
                            "    - lockd: fix vfs_test_lock() calls",
                            "    - idr: fix idr_alloc() returning an ID out of range",
                            "    - mm/page_owner: fix memory leak in page_owner_stack_fops->release()",
                            "    - tools/mm/page_owner_sort: fix timestamp comparison for stable sorting",
                            "    - samples/ftrace: Adjust LoongArch register restore order in direct calls",
                            "    - fjes: Add missing iounmap in fjes_hw_init()",
                            "    - LoongArch: Refactor register restoration in ftrace_common_return",
                            "    - LoongArch: BPF: Zero-extend bpf_tail_call() index",
                            "    - nfsd: Drop the client reference in client_states_open()",
                            "    - net: usb: sr9700: fix incorrect command used to write single register",
                            "    - net: macb: Relocate mog_init_rings() callback from macb_mac_link_up() to",
                            "      macb_open()",
                            "    - drm/amdgpu/gmc12: add amdgpu_vm_handle_fault() handling",
                            "    - drm/amdgpu: add missing lock to amdgpu_ttm_access_memory_sdma",
                            "    - drm/amdgpu/gmc11: add amdgpu_vm_handle_fault() handling",
                            "    - drm/msm/a6xx: Fix out of bound IO access in a6xx_get_gmu_registers",
                            "    - drm/buddy: Optimize free block management with RB tree",
                            "    - drm/buddy: Separate clear and dirty free block trees",
                            "    - drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg()",
                            "    - drm/edid: add DRM_EDID_IDENT_INIT() to initialize struct drm_edid_ident",
                            "    - drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse()",
                            "    - drm/mediatek: Fix probe resource leaks",
                            "    - drm/mediatek: Fix probe memory leak",
                            "    - drm/mediatek: Fix probe device leaks",
                            "    - drm/amdkfd: Trap handler support for expert scheduling mode",
                            "    - drm/i915: Fix format string truncation warning",
                            "    - drm/mgag200: Fix big-endian support",
                            "    - drm/xe/bo: Don't include the CCS metadata in the dma-buf sg-table",
                            "    - drm/xe/oa: Disallow 0 OA property values",
                            "    - drm/xe: Adjust long-running workload timeslices to reasonable values",
                            "    - drm/xe: Use usleep_range for accurate long-running workload timeslicing",
                            "    - drm/xe: Drop preempt-fences when destroying imported dma-bufs.",
                            "    - drm/nouveau/dispnv50: Don't call drm_atomic_get_crtc_state() in",
                            "      prepare_fb",
                            "    - drm/imagination: Disallow exporting of PM/FW protected objects",
                            "    - lib/crypto: riscv/chacha: Avoid s0/fp register",
                            "    - gfs2: fix freeze error handling",
                            "    - btrfs: don't rewrite ret from inode_permission",
                            "    - sched/eevdf: Fix min_vruntime vs avg_vruntime",
                            "    - erofs: fix unexpected EIO under memory pressure",
                            "    - sched_ext: Fix incorrect sched_class settings for per-cpu migration",
                            "      tasks",
                            "    - jbd2: fix the inconsistency between checksum and data in memory for",
                            "      journal sb",
                            "    - xhci: dbgtty: fix device unregister: fixup",
                            "    - f2fs: fix to detect recoverable inode during dryrun of",
                            "      find_fsync_dnodes()",
                            "    - serial: core: Restore sysfs fwnode information",
                            "    - mptcp: pm: ignore unknown endpoint flags",
                            "    - mm/ksm: fix exec/fork inheritance support for prctl",
                            "    - ARM: dts: microchip: sama7g5: fix uart fifo size to 32",
                            "    - tpm2-sessions: Fix out of range indexing in name_size",
                            "    - tpm2-sessions: Fix tpm2_read_public range checks",
                            "    - sched_ext: Factor out local_dsq_post_enq() from dispatch_enqueue()",
                            "    - sched_ext: Fix missing post-enqueue handling in",
                            "      move_local_task_to_local_dsq()",
                            "    - drm/displayid: add quirk to ignore DisplayID checksum errors",
                            "    - serial: xilinx_uartps: fix rs485 delay_rts_after_send",
                            "    - f2fs: add timeout in f2fs_enable_checkpoint()",
                            "    - f2fs: dump more information for f2fs_{enable,disable}_checkpoint()",
                            "    - f2fs: fix to propagate error from f2fs_enable_checkpoint()",
                            "    - gpiolib: acpi: Add quirk for Dell Precision 7780",
                            "    - serial: core: Fix serial device initialization",
                            "    - media: i2c: imx219: Fix 1920x1080 mode to use 1:1 pixel aspect ratio",
                            "    - ASoC: renesas: rz-ssi: Fix channel swap issue in full duplex mode",
                            "    - block: handle zone management operations completions",
                            "    - ASoC: qcom: sdw: fix memory leak for sdw_stream_runtime",
                            "    - ASoC: renesas: rz-ssi: Fix rz_ssi_priv::hw_params_cache::sample_width",
                            "    - PCI: brcmstb: Fix disabling L0s capability",
                            "    - powerpc/pseries/cmm: adjust BALLOON_MIGRATE when migrating pages",
                            "    - media: amphion: Make some vpu_v4l2 functions static",
                            "    - media: amphion: Remove vpu_vb_is_codecconfig",
                            "    - vfio/pci: Disable qword access to the PCI ROM bar",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failres in",
                            "      damon_test_new_filter()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_do_test_apply_three_regions()",
                            "    - block: fix NULL pointer dereference in blk_zone_reset_all_bio_endio()",
                            "    - bpf: Fix truncated dmabuf iterator reads",
                            "    - bpf: Fix verifier assumptions of bpf_d_path's output buffer",
                            "    - btrfs: fix changeset leak on mmap write after failure to reserve",
                            "      metadata",
                            "    - scripts: kdoc_parser.py: warn about Python version only once",
                            "    - crypto: ccp - Add support for PCI device 0x115A",
                            "    - hfsplus: fix volume corruption issue for generic/101",
                            "    - Bluetooth: btusb: add new custom firmwares",
                            "    - net/mlx5: make enable_mpesw idempotent",
                            "    - net: phy: realtek: eliminate priv->phycr2 variable",
                            "    - net: phy: realtek: eliminate has_phycr2 variable",
                            "    - net: phy: realtek: allow CLKOUT to be disabled on RTL8211F(D)(I)-VD-CG",
                            "    - net: phy: realtek: eliminate priv->phycr1 variable",
                            "    - net: phy: realtek: create rtl8211f_config_phy_eee() helper",
                            "    - net: phy: RTL8211FVD: Restore disabling of PHY-mode EEE",
                            "    - net: ti: icssg-prueth: add PTP_1588_CLOCK_OPTIONAL dependency",
                            "    - selftests: net: Fix build warnings",
                            "    - selftests: net: tfo: Fix build warning",
                            "    - inet: frags: avoid theoretical race in ip_frag_reinit()",
                            "    - inet: frags: add inet_frag_queue_flush()",
                            "    - selftests: netfilter: prefer xfail in case race wasn't triggered",
                            "    - can: j1939: make j1939_sk_bind() fail if device is no longer registered",
                            "    - net/mlx5e: Use ip6_dst_lookup instead of ipv6_dst_lookup_flow for MAC",
                            "      init",
                            "    - net/mlx5e: Trigger neighbor resolution for unresolved destinations",
                            "    - drm/tests: hdmi: Handle drm_kunit_helper_enable_crtc_connector()",
                            "      returning EDEADLK",
                            "    - drm/tests: Handle EDEADLK in drm_test_check_valid_clones()",
                            "    - drm/tests: Handle EDEADLK in set_up_atomic_state()",
                            "    - selftests: ublk: fix overflow in ublk_queue_auto_zc_fallback()",
                            "    - block: unify elevator tags and type xarrays into struct elv_change_ctx",
                            "    - block: move elevator tags into struct elevator_resources",
                            "    - block: introduce alloc_sched_data and free_sched_data elevator methods",
                            "    - block: use {alloc|free}_sched data methods",
                            "    - spi: microchip: rename driver file and internal identifiers",
                            "    - [Config] Remove CONFIG_SPI_MICROCHIP_CORE",
                            "    - spi: mpfs: Fix an error handling path in mpfs_spi_probe()",
                            "    - drm/xe: Fix freq kobject leak on sysfs_create_files failure",
                            "    - drm/xe: Apply Wa_14020316580 in xe_gt_idle_enable_pg()",
                            "    - drm/xe: Increase TDF timeout",
                            "    - io_uring: fix nr_segs calculation in io_import_kbuf",
                            "    - ublk: add parameter `struct io_uring_cmd *` to ublk_prep_auto_buf_reg()",
                            "    - ublk: add `union ublk_io_buf` with improved naming",
                            "    - ublk: refactor auto buffer register in ublk_dispatch_req()",
                            "    - drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME",
                            "    - amd/iommu: Preserve domain ids inside the kdump kernel",
                            "    - arm64: dts: mediatek: Apply mt8395-radxa DT overlay at build time",
                            "    - Input: apple_z2 - fix reading incorrect reports after exiting sleep",
                            "    - Input: xpad - add support for CRKD Guitars",
                            "    - platform/x86: intel_pmc_ipc: fix ACPI buffer memory leak",
                            "    - x86/mm/tlb/trace: Export the TLB_REMOTE_WRONG_CPU enum in",
                            "      <trace/events/tlb.h>",
                            "    - ASoC: fsl_sai: Constrain sample rates from audio PLLs only in master",
                            "      mode",
                            "    - ASoC: SDCA: support Q7.8 volume format",
                            "    - ASoC: ops: fix snd_soc_get_volsw for sx controls",
                            "    - scsi: lpfc: Fix reusing an ndlp that is marked NLP_DROPPED during FLOGI",
                            "    - usb: xhci: Don't unchain link TRBs on quirky HCs",
                            "    - platform/x86: wmi-gamezone: Add Legion Go 2 Quirks",
                            "    - hwmon: (emc2305) fix device node refcount leak in error path",
                            "    - hwmon: (emc2305) fix double put in emc2305_probe_childs_from_dt",
                            "    - ublk: add helpers to check ublk_device flags",
                            "    - rust/drm/gem: Fix missing header in `Object` rustdoc",
                            "    - rust: dma: add helpers for architectures without CONFIG_HAS_DMA",
                            "    - samples: rust: fix endianness issue in rust_driver_pci",
                            "    - rust: io: define ResourceSize as resource_size_t",
                            "    - rust: io: move ResourceSize to top-level io module",
                            "    - rust: io: add typedef for phys_addr_t",
                            "    - clk: keystone: syscon-clk: fix regmap leak on probe failure",
                            "    - printk: Avoid scheduling irq_work on suspend",
                            "    - sched_ext: Fix the memleak for sch->helper objects",
                            "    - sched_ext: Fix bypass depth leak on scx_enable() failure",
                            "    - dt-bindings: clock: mmcc-sdm660: Add missing MDSS reset",
                            "    - phy: exynos5-usbdrd: fix clock prepare imbalance",
                            "    - efi: Add missing static initializer for efi_mm::cpus_allowed_lock",
                            "    - crypto: scatterwalk - Fix memcpy_sglist() to always succeed",
                            "    - printk: Allow printk_trigger_flush() to flush all types",
                            "    - printk: Avoid irq_work for printk_deferred() on suspend",
                            "    - mm/huge_memory: add pmd folio to ds_queue in do_huge_zero_wp_pmd()",
                            "    - crash: let architecture decide crash memory export to iomem_resource",
                            "    - usb: typec: ucsi: huawei-gaokin: add DRM dependency",
                            "    - f2fs: clean up w/ get_left_section_blocks()",
                            "    - f2fs: fix to not account invalid blocks in get_left_section_blocks()",
                            "    - KVM: selftests: Forcefully override ARCH from x86_64 to x86",
                            "    - KVM: Fix last_boosted_vcpu index assignment bug",
                            "    - KVM: TDX: Explicitly set user-return MSRs that *may* be clobbered by the",
                            "      TDX-Module",
                            "    - KVM: x86: Apply runtime updates to current CPUID during",
                            "      KVM_SET_CPUID{,2}",
                            "    - KVM: selftests: Add missing \"break\" in rseq_test's param parsing",
                            "    - xfs: fix the zoned RT growfs check for zone alignment",
                            "    - xfs: validate that zoned RT devices are zone aligned",
                            "    - arm64/gcs: Flush the GCS locking state on exec",
                            "    - ALSA: hda/realtek: Add Asus quirk for TAS amplifiers",
                            "    - NFSD: Clear TIME_DELEG in the suppattr_exclcreat bitmap",
                            "    - cgroup: rstat: use LOCK CMPXCHG in css_rstat_updated",
                            "    - gpio: loongson: Switch 2K2000/3000 GPIO to BYTE_CTRL_MODE",
                            "    - crypto: arm64/ghash - Fix incorrect output from ghash-neon",
                            "    - zloop: fail zone append operations that are targeting full zones",
                            "    - zloop: make the write pointer of full zones invalid",
                            "    - vfio: Fix ksize arg while copying user struct in",
                            "      vfio_df_ioctl_bind_iommufd()",
                            "    - rtla/timerlat_bpf: Stop tracing on user latency",
                            "    - pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling",
                            "      channel is enabled",
                            "    - lib/crypto: riscv: Depend on RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS",
                            "    - [Config] Disable accelerated crypto for riscv64 by default",
                            "    - io_uring/rsrc: fix lost entries after cloned range",
                            "    - ARM: dts: microchip: sama7d65: fix uart fifo size to 32",
                            "    - ice: add missing ice_deinit_hw() in devlink reinit path",
                            "    - arp: do not assume dev_hard_header() does not change skb->head",
                            "    - firmware: imx: scu-irq: Set mu_resource_id before get handle",
                            "    - tpm: Compare HMAC values in constant time",
                            "    - keys/trusted_keys: fix handle passed to tpm_buf_append_name during",
                            "      unseal",
                            "    - intel_th: fix device leak on output open()",
                            "    - Upstream stable to v6.18.2, v6.12.64, v6.18.3",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68791",
                            "    - fuse: missing copy_finish in fuse-over-io-uring argument copies",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68805",
                            "    - fuse: fix io-uring list corruption for terminated non-committed requests",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68812",
                            "    - media: iris: Add sanity check for stop streaming",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71117",
                            "    - block: Remove queue freezing from several sysfs store callbacks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71070",
                            "    - ublk: clean up user copy references on ublk server exit",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71124",
                            "    - drm/msm/a6xx: move preempt_prepare_postamble after error check",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71115",
                            "    - um: init cpu_tasks[] earlier",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68823",
                            "    - ublk: fix deadlock when reading partition table",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68793",
                            "    - drm/amdgpu: fix a job->pasid access race in gpu recovery",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68807",
                            "    - block: fix race between wbt_enable_default and IO submission",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68768",
                            "    - inet: frags: flush pending skbs in fqdir_pre_exit()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71140",
                            "    - media: mediatek: vcodec: Use spinlock for context list protection lock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71156",
                            "    - gve: defer interrupt enabling until NAPI registration",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2024-36347",
                            "    - x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo",
                            "    - x86/microcode/AMD: Select which microcode patch to load",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71068",
                            "    - svcrdma: bound check rq_pages index in inline path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68772",
                            "    - f2fs: fix to avoid updating compression context during writeback",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71105",
                            "    - f2fs: use global inline_xattr_slab instead of per-sb slab cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71130",
                            "    - drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71138",
                            "    - drm/msm/dpu: Add missing NULL pointer check for pingpong interface",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71083",
                            "    - drm/ttm: Avoid NULL pointer deref for evicted BOs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71099",
                            "    - drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71079",
                            "    - net: nfc: fix deadlock between nfc_unregister_device and",
                            "      rfkill_fop_write",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71129",
                            "    - LoongArch: BPF: Sign extend kfunc call arguments",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71093",
                            "    - e1000: fix OOB in e1000_tbi_should_accept()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71084",
                            "    - RDMA/cm: Fix leaking the multicast GID table reference",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71096",
                            "    - RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71136",
                            "    - media: adv7842: Avoid possible out-of-bounds array accesses in",
                            "      adv7842_cp_log_status()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71143",
                            "    - clk: samsung: exynos-clkout: Assign .num before accessing .hws",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71078",
                            "    - powerpc/64s/slb: Fix SLB multihit issue during SLB preload",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71089",
                            "    - iommu: disable SVA when CONFIG_X86 is set",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71081",
                            "    - ASoC: stm32: sai: fix OF node leak on probe",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71153",
                            "    - ksmbd: Fix memory leak in get_file_all_info()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71135",
                            "    - md/raid5: fix possible null-pointer dereferences in",
                            "      raid5_store_group_thread_cnt()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71157",
                            "    - RDMA/core: always drop device refcount in ib_del_sub_device_and_put()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71133",
                            "    - RDMA/irdma: avoid invalid read in irdma_net_event",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71080",
                            "    - ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71086",
                            "    - net: rose: fix invalid array index in rose_kill_by_device()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71097",
                            "    - ipv4: Fix reference count leak when using error routes with nexthop",
                            "      objects",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71085",
                            "    - ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71095",
                            "    - net: stmmac: fix the crash issue for zero copy XDP_TX action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71137",
                            "    - octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71101",
                            "    - platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package",
                            "      parsing",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71094",
                            "    - net: usb: asix: validate PHY address before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71132",
                            "    - smc91x: fix broken irq-context in PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71154",
                            "    - net: usb: rtl8150: fix memory leak on usb_submit_urb() failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71091",
                            "    - team: fix check for port enabled in",
                            "      team_queue_override_port_prio_changed()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71098",
                            "    - ip6_gre: make ip6gre_header() robust",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71082",
                            "    - Bluetooth: btusb: revert use of devm_kzalloc in btusb",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71131",
                            "    - crypto: seqiv - Do not use req->iv after crypto_aead_encrypt",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71087",
                            "    - iavf: fix off-by-one issues in iavf_config_rss_reg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71100",
                            "    - wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68821",
                            "    - fuse: fix readahead reclaim deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71071",
                            "    - iommu/mediatek: fix use-after-free on probe deferral",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71111",
                            "    - hwmon: (w83791d) Convert macros to functions to avoid TOCTOU",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71113",
                            "    - crypto: af_alg - zero initialize memory allocated via sock_kmalloc",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71149",
                            "    - io_uring/poll: correctly handle io_poll_add() return value on update",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68778",
                            "    - btrfs: don't log conflicting inode if it's a dir moved in the current",
                            "      transaction",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71119",
                            "    - powerpc/kexec: Enable SMT before waking offline CPUs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71120",
                            "    - SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in",
                            "      gss_read_proxy_verf",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68811",
                            "    - svcrdma: use rc_pageoff for memcpy byte offset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68803",
                            "    - NFSD: NFSv4 file creation neglects setting ACL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71148",
                            "    - net/handshake: restore destructor on submit failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68788",
                            "    - fsnotify: do not generate ACCESS/MODIFY events on child for special",
                            "      files",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71125",
                            "    - tracing: Do not register unsupported perf events",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68784",
                            "    - xfs: fix a UAF problem in xattr repair",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71104",
                            "    - KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV",
                            "      timer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71116",
                            "    - libceph: make decode_pool() more resilient against corrupted osdmaps",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71121",
                            "    - parisc: Do not reprogram affinitiy on ASP chip",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71102",
                            "    - scs: fix a wrong parameter in __scs_magic",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68804",
                            "    - platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68771",
                            "    - ocfs2: fix kernel BUG in ocfs2_find_victim_chain",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68808",
                            "    - media: vidtv: initialize local pointers upon transfer of memory",
                            "      ownership",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68810",
                            "    - KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68769",
                            "    - f2fs: fix return value of f2fs_recover_fsync_data()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71069",
                            "    - f2fs: invalidate dentry cache on failed whiteout creation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68796",
                            "    - f2fs: fix to avoid updating zero-sized extent in extent cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71065",
                            "    - f2fs: fix to avoid potential deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71107",
                            "    - f2fs: ensure node page reads complete before f2fs_put_super() finishes",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68782",
                            "    - scsi: target: Reset t_task_cdb pointer in error case",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71075",
                            "    - scsi: aic94xx: fix use-after-free in device removal path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68818",
                            "    - scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in",
                            "      abort path\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68797",
                            "    - char: applicom: fix NULL pointer dereference in ac_ioctl",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68781",
                            "    - usb: phy: fsl-usb: Fix use-after-free in delayed work during device",
                            "      removal",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68819",
                            "    - media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71126",
                            "    - mptcp: avoid deadlock on fallback while reinjecting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68820",
                            "    - ext4: xattr: fix null pointer deref in ext4_raw_inode()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71123",
                            "    - ext4: fix string copying in parse_apply_sb_mount_options()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71077",
                            "    - tpm: Cap the number of PCR banks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68814",
                            "    - io_uring: fix filename leak in __io_openat_prep()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71147",
                            "    - KEYS: trusted: Fix a memory leak in tpm2_load_cmd",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71151",
                            "    - cifs: Fix memory and information leak in smb3_reconfigure()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71109",
                            "    - MIPS: ftrace: Fix memory corruption when kernel is located beyond 32",
                            "      bits",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71108",
                            "    - usb: typec: ucsi: Handle incorrect num_connectors capability",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71114",
                            "    - via_wdt: fix critical boot hang due to unnamed resource allocation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68783",
                            "    - ALSA: usb-mixer: us16x08: validate meter packet indices",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68776",
                            "    - net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68773",
                            "    - spi: fsl-cpm: Check length parity before switching to 16 bit mode",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68822",
                            "    - Input: alps - fix use-after-free bugs caused by dev3_register_work",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71073",
                            "    - Input: lkkbd - disable pending work before freeing device",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68777",
                            "    - Input: ti_am335x_tsc - fix off-by-one error in wire_order validation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68806",
                            "    - ksmbd: fix buffer validation by including null terminator size in EA",
                            "      length",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71150",
                            "    - ksmbd: Fix refcount leak when invalid session is found on session lookup",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68786",
                            "    - ksmbd: skip lock-range check on equal size to avoid size==0 underflow",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71076",
                            "    - drm/xe/oa: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68802",
                            "    - drm/xe: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68789",
                            "    - hwmon: (ibmpex) fix use-after-free in high/low store",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71112",
                            "    - net: hns3: add VLAN id validation before using",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71064",
                            "    - net: hns3: using the num_tqps in the vf driver to apply for resources",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68775",
                            "    - net/handshake: duplicate handshake cancellations leak socket",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68816",
                            "    - net/mlx5: fw_tracer, Validate format string parameters",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68795",
                            "    - ethtool: Avoid overflowing userspace buffer on stats query",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71122",
                            "    - iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68815",
                            "    - net/sched: ets: Remove drr class from the active list if it changes to",
                            "      strict",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68799",
                            "    - caif: fix integer underflow in cffrml_receive()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68813",
                            "    - ipvs: fix ipv4 null-ptr-deref in route error path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68785",
                            "    - net: openvswitch: fix middle attribute validation in push_nsh() action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68770",
                            "    - bnxt_en: Fix XDP_TX path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68800",
                            "    - mlxsw: spectrum_mr: Fix use-after-free when updating multicast route",
                            "      stats",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68801",
                            "    - mlxsw: spectrum_router: Fix neighbour use-after-free",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71066",
                            "    - net/sched: ets: Always remove class from active list before deleting in",
                            "      ets_qdisc_change",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68787",
                            "    - netrom: Fix memory leak in nr_sendmsg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68809",
                            "    - ksmbd: vfs: fix race on m_flags in vfs_cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68817",
                            "    - ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68767",
                            "    - hfsplus: Verify inode mode when loading from disk",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68774",
                            "    - hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71067",
                            "    - ntfs: set dummy blocksize to read boot_block when mounting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71118",
                            "    - ACPICA: Avoid walking the Namespace if start_node is NULL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68780",
                            "    - sched/deadline: only set free_cpus for online runqueues",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68798",
                            "    - perf/x86/amd: Check event before enable to avoid GPF",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68794",
                            "    - iomap: adjust read range correctly for non-block-aligned positions",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71072",
                            "    - shmem: fix recovery on rename failures",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68351",
                            "    - exfat: fix refcount leak in exfat_find",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68736",
                            "    - landlock: Fix handling of disconnected directories",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68353",
                            "    - net: vxlan: prevent NULL deref in vxlan_xmit_one",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68745",
                            "    - scsi: qla2xxx: Clear cmds after chip reset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68365",
                            "    - fs/ntfs3: Initialize allocated memory before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68368",
                            "    - md: init bioset in mddev_init",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68725",
                            "    - bpf: Do not let BPF test infra emit invalid GSO types to stack",
                            "  * CVE-2026-23111",
                            "    - netfilter: nf_tables: fix inverted genmask check in",
                            "      nft_map_catchall_activate()",
                            "  * CVE-2026-23209",
                            "    - macvlan: fix error recovery in macvlan_common_newlink()",
                            "  * CVE-2026-23074",
                            "    - net/sched: Enforce that teql can only be used as root qdisc",
                            "  * CVE-2026-23060",
                            "    - crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN",
                            "      spec",
                            ""
                        ],
                        "package": "linux-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2143424,
                            2143428,
                            2134400,
                            2137613,
                            2141276,
                            2141377,
                            2137272,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250
                        ],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 12:01:17 +0100"
                    }
                ],
                "notes": "linux-riscv-headers-6.17.0-22 version '6.17.0-22.22.1' (source package linux-riscv version '6.17.0-22.22.1') was added. linux-riscv-headers-6.17.0-22 version '6.17.0-22.22.1' has the same source package name, linux-riscv, as removed package linux-headers-6.17.0-20-generic. As such we can use the source package version of the removed package, '6.17.0-20.20.1', as the starting point in our changelog diff. Kernel packages are an example of where the binary package name changes for the same source package. Using the removed package source package version as our starting point means we can still get meaningful changelog diffs even for what appears to be a new package.",
                "is_version_downgrade": false
            },
            {
                "name": "linux-riscv-tools-6.17.0-22",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-68791",
                        "url": "https://ubuntu.com/security/CVE-2025-68791",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68805",
                        "url": "https://ubuntu.com/security/CVE-2025-68805",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68812",
                        "url": "https://ubuntu.com/security/CVE-2025-68812",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71117",
                        "url": "https://ubuntu.com/security/CVE-2025-71117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71070",
                        "url": "https://ubuntu.com/security/CVE-2025-71070",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71124",
                        "url": "https://ubuntu.com/security/CVE-2025-71124",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71115",
                        "url": "https://ubuntu.com/security/CVE-2025-71115",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68823",
                        "url": "https://ubuntu.com/security/CVE-2025-68823",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68793",
                        "url": "https://ubuntu.com/security/CVE-2025-68793",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68807",
                        "url": "https://ubuntu.com/security/CVE-2025-68807",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68768",
                        "url": "https://ubuntu.com/security/CVE-2025-68768",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71140",
                        "url": "https://ubuntu.com/security/CVE-2025-71140",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71156",
                        "url": "https://ubuntu.com/security/CVE-2025-71156",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-36347",
                        "url": "https://ubuntu.com/security/CVE-2024-36347",
                        "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-06-27 23:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71068",
                        "url": "https://ubuntu.com/security/CVE-2025-71068",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68772",
                        "url": "https://ubuntu.com/security/CVE-2025-68772",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71105",
                        "url": "https://ubuntu.com/security/CVE-2025-71105",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71130",
                        "url": "https://ubuntu.com/security/CVE-2025-71130",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71138",
                        "url": "https://ubuntu.com/security/CVE-2025-71138",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71083",
                        "url": "https://ubuntu.com/security/CVE-2025-71083",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71099",
                        "url": "https://ubuntu.com/security/CVE-2025-71099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71079",
                        "url": "https://ubuntu.com/security/CVE-2025-71079",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71129",
                        "url": "https://ubuntu.com/security/CVE-2025-71129",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71093",
                        "url": "https://ubuntu.com/security/CVE-2025-71093",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71084",
                        "url": "https://ubuntu.com/security/CVE-2025-71084",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71096",
                        "url": "https://ubuntu.com/security/CVE-2025-71096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71136",
                        "url": "https://ubuntu.com/security/CVE-2025-71136",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71143",
                        "url": "https://ubuntu.com/security/CVE-2025-71143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71078",
                        "url": "https://ubuntu.com/security/CVE-2025-71078",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71089",
                        "url": "https://ubuntu.com/security/CVE-2025-71089",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71081",
                        "url": "https://ubuntu.com/security/CVE-2025-71081",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71153",
                        "url": "https://ubuntu.com/security/CVE-2025-71153",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71135",
                        "url": "https://ubuntu.com/security/CVE-2025-71135",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71157",
                        "url": "https://ubuntu.com/security/CVE-2025-71157",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71133",
                        "url": "https://ubuntu.com/security/CVE-2025-71133",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71080",
                        "url": "https://ubuntu.com/security/CVE-2025-71080",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71086",
                        "url": "https://ubuntu.com/security/CVE-2025-71086",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71097",
                        "url": "https://ubuntu.com/security/CVE-2025-71097",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71085",
                        "url": "https://ubuntu.com/security/CVE-2025-71085",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71095",
                        "url": "https://ubuntu.com/security/CVE-2025-71095",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71137",
                        "url": "https://ubuntu.com/security/CVE-2025-71137",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71101",
                        "url": "https://ubuntu.com/security/CVE-2025-71101",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71094",
                        "url": "https://ubuntu.com/security/CVE-2025-71094",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71132",
                        "url": "https://ubuntu.com/security/CVE-2025-71132",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71154",
                        "url": "https://ubuntu.com/security/CVE-2025-71154",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71091",
                        "url": "https://ubuntu.com/security/CVE-2025-71091",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71098",
                        "url": "https://ubuntu.com/security/CVE-2025-71098",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71082",
                        "url": "https://ubuntu.com/security/CVE-2025-71082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71131",
                        "url": "https://ubuntu.com/security/CVE-2025-71131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71087",
                        "url": "https://ubuntu.com/security/CVE-2025-71087",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71100",
                        "url": "https://ubuntu.com/security/CVE-2025-71100",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68821",
                        "url": "https://ubuntu.com/security/CVE-2025-68821",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71071",
                        "url": "https://ubuntu.com/security/CVE-2025-71071",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71111",
                        "url": "https://ubuntu.com/security/CVE-2025-71111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71113",
                        "url": "https://ubuntu.com/security/CVE-2025-71113",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71149",
                        "url": "https://ubuntu.com/security/CVE-2025-71149",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68778",
                        "url": "https://ubuntu.com/security/CVE-2025-68778",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71119",
                        "url": "https://ubuntu.com/security/CVE-2025-71119",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71120",
                        "url": "https://ubuntu.com/security/CVE-2025-71120",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68811",
                        "url": "https://ubuntu.com/security/CVE-2025-68811",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68803",
                        "url": "https://ubuntu.com/security/CVE-2025-68803",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71148",
                        "url": "https://ubuntu.com/security/CVE-2025-71148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68788",
                        "url": "https://ubuntu.com/security/CVE-2025-68788",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71125",
                        "url": "https://ubuntu.com/security/CVE-2025-71125",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68784",
                        "url": "https://ubuntu.com/security/CVE-2025-68784",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71104",
                        "url": "https://ubuntu.com/security/CVE-2025-71104",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71116",
                        "url": "https://ubuntu.com/security/CVE-2025-71116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71121",
                        "url": "https://ubuntu.com/security/CVE-2025-71121",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71102",
                        "url": "https://ubuntu.com/security/CVE-2025-71102",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68804",
                        "url": "https://ubuntu.com/security/CVE-2025-68804",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68771",
                        "url": "https://ubuntu.com/security/CVE-2025-68771",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68808",
                        "url": "https://ubuntu.com/security/CVE-2025-68808",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68810",
                        "url": "https://ubuntu.com/security/CVE-2025-68810",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68769",
                        "url": "https://ubuntu.com/security/CVE-2025-68769",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71069",
                        "url": "https://ubuntu.com/security/CVE-2025-71069",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68796",
                        "url": "https://ubuntu.com/security/CVE-2025-68796",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71065",
                        "url": "https://ubuntu.com/security/CVE-2025-71065",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71107",
                        "url": "https://ubuntu.com/security/CVE-2025-71107",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68782",
                        "url": "https://ubuntu.com/security/CVE-2025-68782",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71075",
                        "url": "https://ubuntu.com/security/CVE-2025-71075",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68818",
                        "url": "https://ubuntu.com/security/CVE-2025-68818",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68797",
                        "url": "https://ubuntu.com/security/CVE-2025-68797",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68781",
                        "url": "https://ubuntu.com/security/CVE-2025-68781",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68819",
                        "url": "https://ubuntu.com/security/CVE-2025-68819",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71126",
                        "url": "https://ubuntu.com/security/CVE-2025-71126",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68820",
                        "url": "https://ubuntu.com/security/CVE-2025-68820",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71123",
                        "url": "https://ubuntu.com/security/CVE-2025-71123",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71077",
                        "url": "https://ubuntu.com/security/CVE-2025-71077",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68814",
                        "url": "https://ubuntu.com/security/CVE-2025-68814",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71147",
                        "url": "https://ubuntu.com/security/CVE-2025-71147",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71151",
                        "url": "https://ubuntu.com/security/CVE-2025-71151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71109",
                        "url": "https://ubuntu.com/security/CVE-2025-71109",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71108",
                        "url": "https://ubuntu.com/security/CVE-2025-71108",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71114",
                        "url": "https://ubuntu.com/security/CVE-2025-71114",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68783",
                        "url": "https://ubuntu.com/security/CVE-2025-68783",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68776",
                        "url": "https://ubuntu.com/security/CVE-2025-68776",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68773",
                        "url": "https://ubuntu.com/security/CVE-2025-68773",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68822",
                        "url": "https://ubuntu.com/security/CVE-2025-68822",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71073",
                        "url": "https://ubuntu.com/security/CVE-2025-71073",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68777",
                        "url": "https://ubuntu.com/security/CVE-2025-68777",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68806",
                        "url": "https://ubuntu.com/security/CVE-2025-68806",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71150",
                        "url": "https://ubuntu.com/security/CVE-2025-71150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68786",
                        "url": "https://ubuntu.com/security/CVE-2025-68786",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71076",
                        "url": "https://ubuntu.com/security/CVE-2025-71076",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68802",
                        "url": "https://ubuntu.com/security/CVE-2025-68802",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68789",
                        "url": "https://ubuntu.com/security/CVE-2025-68789",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71112",
                        "url": "https://ubuntu.com/security/CVE-2025-71112",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71064",
                        "url": "https://ubuntu.com/security/CVE-2025-71064",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68775",
                        "url": "https://ubuntu.com/security/CVE-2025-68775",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68816",
                        "url": "https://ubuntu.com/security/CVE-2025-68816",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68795",
                        "url": "https://ubuntu.com/security/CVE-2025-68795",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71122",
                        "url": "https://ubuntu.com/security/CVE-2025-71122",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68815",
                        "url": "https://ubuntu.com/security/CVE-2025-68815",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68799",
                        "url": "https://ubuntu.com/security/CVE-2025-68799",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68813",
                        "url": "https://ubuntu.com/security/CVE-2025-68813",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68785",
                        "url": "https://ubuntu.com/security/CVE-2025-68785",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68770",
                        "url": "https://ubuntu.com/security/CVE-2025-68770",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68800",
                        "url": "https://ubuntu.com/security/CVE-2025-68800",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68801",
                        "url": "https://ubuntu.com/security/CVE-2025-68801",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71066",
                        "url": "https://ubuntu.com/security/CVE-2025-71066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68787",
                        "url": "https://ubuntu.com/security/CVE-2025-68787",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68809",
                        "url": "https://ubuntu.com/security/CVE-2025-68809",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68817",
                        "url": "https://ubuntu.com/security/CVE-2025-68817",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68767",
                        "url": "https://ubuntu.com/security/CVE-2025-68767",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68774",
                        "url": "https://ubuntu.com/security/CVE-2025-68774",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71067",
                        "url": "https://ubuntu.com/security/CVE-2025-71067",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71118",
                        "url": "https://ubuntu.com/security/CVE-2025-71118",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68780",
                        "url": "https://ubuntu.com/security/CVE-2025-68780",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68798",
                        "url": "https://ubuntu.com/security/CVE-2025-68798",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68794",
                        "url": "https://ubuntu.com/security/CVE-2025-68794",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71072",
                        "url": "https://ubuntu.com/security/CVE-2025-71072",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68351",
                        "url": "https://ubuntu.com/security/CVE-2025-68351",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68736",
                        "url": "https://ubuntu.com/security/CVE-2025-68736",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68353",
                        "url": "https://ubuntu.com/security/CVE-2025-68353",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68745",
                        "url": "https://ubuntu.com/security/CVE-2025-68745",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68365",
                        "url": "https://ubuntu.com/security/CVE-2025-68365",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68368",
                        "url": "https://ubuntu.com/security/CVE-2025-68368",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68725",
                        "url": "https://ubuntu.com/security/CVE-2025-68725",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23111",
                        "url": "https://ubuntu.com/security/CVE-2026-23111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-02-13 14:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23209",
                        "url": "https://ubuntu.com/security/CVE-2026-23209",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-14 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23074",
                        "url": "https://ubuntu.com/security/CVE-2026-23074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23060",
                        "url": "https://ubuntu.com/security/CVE-2026-23060",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2143424,
                    2143428,
                    2134400,
                    2137613,
                    2141276,
                    2141377,
                    2137272,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-68791",
                                "url": "https://ubuntu.com/security/CVE-2025-68791",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68805",
                                "url": "https://ubuntu.com/security/CVE-2025-68805",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68812",
                                "url": "https://ubuntu.com/security/CVE-2025-68812",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71117",
                                "url": "https://ubuntu.com/security/CVE-2025-71117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71070",
                                "url": "https://ubuntu.com/security/CVE-2025-71070",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71124",
                                "url": "https://ubuntu.com/security/CVE-2025-71124",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71115",
                                "url": "https://ubuntu.com/security/CVE-2025-71115",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68823",
                                "url": "https://ubuntu.com/security/CVE-2025-68823",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68793",
                                "url": "https://ubuntu.com/security/CVE-2025-68793",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68807",
                                "url": "https://ubuntu.com/security/CVE-2025-68807",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68768",
                                "url": "https://ubuntu.com/security/CVE-2025-68768",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71140",
                                "url": "https://ubuntu.com/security/CVE-2025-71140",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71156",
                                "url": "https://ubuntu.com/security/CVE-2025-71156",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-36347",
                                "url": "https://ubuntu.com/security/CVE-2024-36347",
                                "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-06-27 23:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71068",
                                "url": "https://ubuntu.com/security/CVE-2025-71068",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68772",
                                "url": "https://ubuntu.com/security/CVE-2025-68772",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71105",
                                "url": "https://ubuntu.com/security/CVE-2025-71105",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71130",
                                "url": "https://ubuntu.com/security/CVE-2025-71130",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71138",
                                "url": "https://ubuntu.com/security/CVE-2025-71138",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71083",
                                "url": "https://ubuntu.com/security/CVE-2025-71083",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71099",
                                "url": "https://ubuntu.com/security/CVE-2025-71099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71079",
                                "url": "https://ubuntu.com/security/CVE-2025-71079",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71129",
                                "url": "https://ubuntu.com/security/CVE-2025-71129",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71093",
                                "url": "https://ubuntu.com/security/CVE-2025-71093",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71084",
                                "url": "https://ubuntu.com/security/CVE-2025-71084",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71096",
                                "url": "https://ubuntu.com/security/CVE-2025-71096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71136",
                                "url": "https://ubuntu.com/security/CVE-2025-71136",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71143",
                                "url": "https://ubuntu.com/security/CVE-2025-71143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71078",
                                "url": "https://ubuntu.com/security/CVE-2025-71078",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71089",
                                "url": "https://ubuntu.com/security/CVE-2025-71089",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71081",
                                "url": "https://ubuntu.com/security/CVE-2025-71081",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71153",
                                "url": "https://ubuntu.com/security/CVE-2025-71153",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71135",
                                "url": "https://ubuntu.com/security/CVE-2025-71135",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71157",
                                "url": "https://ubuntu.com/security/CVE-2025-71157",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71133",
                                "url": "https://ubuntu.com/security/CVE-2025-71133",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71080",
                                "url": "https://ubuntu.com/security/CVE-2025-71080",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71086",
                                "url": "https://ubuntu.com/security/CVE-2025-71086",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71097",
                                "url": "https://ubuntu.com/security/CVE-2025-71097",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71085",
                                "url": "https://ubuntu.com/security/CVE-2025-71085",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71095",
                                "url": "https://ubuntu.com/security/CVE-2025-71095",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71137",
                                "url": "https://ubuntu.com/security/CVE-2025-71137",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71101",
                                "url": "https://ubuntu.com/security/CVE-2025-71101",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71094",
                                "url": "https://ubuntu.com/security/CVE-2025-71094",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71132",
                                "url": "https://ubuntu.com/security/CVE-2025-71132",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71154",
                                "url": "https://ubuntu.com/security/CVE-2025-71154",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71091",
                                "url": "https://ubuntu.com/security/CVE-2025-71091",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71098",
                                "url": "https://ubuntu.com/security/CVE-2025-71098",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71082",
                                "url": "https://ubuntu.com/security/CVE-2025-71082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71131",
                                "url": "https://ubuntu.com/security/CVE-2025-71131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71087",
                                "url": "https://ubuntu.com/security/CVE-2025-71087",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71100",
                                "url": "https://ubuntu.com/security/CVE-2025-71100",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68821",
                                "url": "https://ubuntu.com/security/CVE-2025-68821",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71071",
                                "url": "https://ubuntu.com/security/CVE-2025-71071",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71111",
                                "url": "https://ubuntu.com/security/CVE-2025-71111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71113",
                                "url": "https://ubuntu.com/security/CVE-2025-71113",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71149",
                                "url": "https://ubuntu.com/security/CVE-2025-71149",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68778",
                                "url": "https://ubuntu.com/security/CVE-2025-68778",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71119",
                                "url": "https://ubuntu.com/security/CVE-2025-71119",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71120",
                                "url": "https://ubuntu.com/security/CVE-2025-71120",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68811",
                                "url": "https://ubuntu.com/security/CVE-2025-68811",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68803",
                                "url": "https://ubuntu.com/security/CVE-2025-68803",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71148",
                                "url": "https://ubuntu.com/security/CVE-2025-71148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68788",
                                "url": "https://ubuntu.com/security/CVE-2025-68788",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71125",
                                "url": "https://ubuntu.com/security/CVE-2025-71125",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68784",
                                "url": "https://ubuntu.com/security/CVE-2025-68784",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71104",
                                "url": "https://ubuntu.com/security/CVE-2025-71104",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71116",
                                "url": "https://ubuntu.com/security/CVE-2025-71116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71121",
                                "url": "https://ubuntu.com/security/CVE-2025-71121",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71102",
                                "url": "https://ubuntu.com/security/CVE-2025-71102",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68804",
                                "url": "https://ubuntu.com/security/CVE-2025-68804",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68771",
                                "url": "https://ubuntu.com/security/CVE-2025-68771",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68808",
                                "url": "https://ubuntu.com/security/CVE-2025-68808",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68810",
                                "url": "https://ubuntu.com/security/CVE-2025-68810",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68769",
                                "url": "https://ubuntu.com/security/CVE-2025-68769",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71069",
                                "url": "https://ubuntu.com/security/CVE-2025-71069",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68796",
                                "url": "https://ubuntu.com/security/CVE-2025-68796",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71065",
                                "url": "https://ubuntu.com/security/CVE-2025-71065",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71107",
                                "url": "https://ubuntu.com/security/CVE-2025-71107",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68782",
                                "url": "https://ubuntu.com/security/CVE-2025-68782",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71075",
                                "url": "https://ubuntu.com/security/CVE-2025-71075",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68818",
                                "url": "https://ubuntu.com/security/CVE-2025-68818",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68797",
                                "url": "https://ubuntu.com/security/CVE-2025-68797",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68781",
                                "url": "https://ubuntu.com/security/CVE-2025-68781",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68819",
                                "url": "https://ubuntu.com/security/CVE-2025-68819",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71126",
                                "url": "https://ubuntu.com/security/CVE-2025-71126",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68820",
                                "url": "https://ubuntu.com/security/CVE-2025-68820",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71123",
                                "url": "https://ubuntu.com/security/CVE-2025-71123",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71077",
                                "url": "https://ubuntu.com/security/CVE-2025-71077",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68814",
                                "url": "https://ubuntu.com/security/CVE-2025-68814",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71147",
                                "url": "https://ubuntu.com/security/CVE-2025-71147",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71151",
                                "url": "https://ubuntu.com/security/CVE-2025-71151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71109",
                                "url": "https://ubuntu.com/security/CVE-2025-71109",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71108",
                                "url": "https://ubuntu.com/security/CVE-2025-71108",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71114",
                                "url": "https://ubuntu.com/security/CVE-2025-71114",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68783",
                                "url": "https://ubuntu.com/security/CVE-2025-68783",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68776",
                                "url": "https://ubuntu.com/security/CVE-2025-68776",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68773",
                                "url": "https://ubuntu.com/security/CVE-2025-68773",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68822",
                                "url": "https://ubuntu.com/security/CVE-2025-68822",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71073",
                                "url": "https://ubuntu.com/security/CVE-2025-71073",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68777",
                                "url": "https://ubuntu.com/security/CVE-2025-68777",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68806",
                                "url": "https://ubuntu.com/security/CVE-2025-68806",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71150",
                                "url": "https://ubuntu.com/security/CVE-2025-71150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68786",
                                "url": "https://ubuntu.com/security/CVE-2025-68786",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71076",
                                "url": "https://ubuntu.com/security/CVE-2025-71076",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68802",
                                "url": "https://ubuntu.com/security/CVE-2025-68802",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68789",
                                "url": "https://ubuntu.com/security/CVE-2025-68789",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71112",
                                "url": "https://ubuntu.com/security/CVE-2025-71112",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71064",
                                "url": "https://ubuntu.com/security/CVE-2025-71064",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68775",
                                "url": "https://ubuntu.com/security/CVE-2025-68775",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68816",
                                "url": "https://ubuntu.com/security/CVE-2025-68816",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68795",
                                "url": "https://ubuntu.com/security/CVE-2025-68795",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71122",
                                "url": "https://ubuntu.com/security/CVE-2025-71122",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68815",
                                "url": "https://ubuntu.com/security/CVE-2025-68815",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68799",
                                "url": "https://ubuntu.com/security/CVE-2025-68799",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68813",
                                "url": "https://ubuntu.com/security/CVE-2025-68813",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68785",
                                "url": "https://ubuntu.com/security/CVE-2025-68785",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68770",
                                "url": "https://ubuntu.com/security/CVE-2025-68770",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68800",
                                "url": "https://ubuntu.com/security/CVE-2025-68800",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68801",
                                "url": "https://ubuntu.com/security/CVE-2025-68801",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71066",
                                "url": "https://ubuntu.com/security/CVE-2025-71066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68787",
                                "url": "https://ubuntu.com/security/CVE-2025-68787",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68809",
                                "url": "https://ubuntu.com/security/CVE-2025-68809",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68817",
                                "url": "https://ubuntu.com/security/CVE-2025-68817",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68767",
                                "url": "https://ubuntu.com/security/CVE-2025-68767",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68774",
                                "url": "https://ubuntu.com/security/CVE-2025-68774",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71067",
                                "url": "https://ubuntu.com/security/CVE-2025-71067",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71118",
                                "url": "https://ubuntu.com/security/CVE-2025-71118",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68780",
                                "url": "https://ubuntu.com/security/CVE-2025-68780",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68798",
                                "url": "https://ubuntu.com/security/CVE-2025-68798",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68794",
                                "url": "https://ubuntu.com/security/CVE-2025-68794",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71072",
                                "url": "https://ubuntu.com/security/CVE-2025-71072",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68351",
                                "url": "https://ubuntu.com/security/CVE-2025-68351",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68736",
                                "url": "https://ubuntu.com/security/CVE-2025-68736",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68353",
                                "url": "https://ubuntu.com/security/CVE-2025-68353",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68745",
                                "url": "https://ubuntu.com/security/CVE-2025-68745",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68365",
                                "url": "https://ubuntu.com/security/CVE-2025-68365",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68368",
                                "url": "https://ubuntu.com/security/CVE-2025-68368",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68725",
                                "url": "https://ubuntu.com/security/CVE-2025-68725",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23111",
                                "url": "https://ubuntu.com/security/CVE-2026-23111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-02-13 14:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23209",
                                "url": "https://ubuntu.com/security/CVE-2026-23209",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-14 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23074",
                                "url": "https://ubuntu.com/security/CVE-2026-23074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23060",
                                "url": "https://ubuntu.com/security/CVE-2026-23060",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * questing/linux-riscv: 6.17.0-22.22.1 -proposed tracker (LP: #2143424)",
                            "",
                            "  [ Ubuntu: 6.17.0-22.22 ]",
                            "",
                            "  * questing/linux: 6.17.0-22.22 -proposed tracker (LP: #2143428)",
                            "  * Questing preinstalled server fails to boot on QCS8300 based boards",
                            "    (LP: #2134400)",
                            "    - [Config] move qcom interconnect/pinctrl/gcc as built-in for QCS8300",
                            "  * TBT call trace while connecting TBT4 monitor on TBT5 port (LP: #2137613)",
                            "    - SAUCE: thunderbolt: log path activation failures without WARN backtraces",
                            "  * efi: Fix swapped arguments to bsearch() in efi_status_to_*() SAUCE patch",
                            "    (LP: #2141276)",
                            "    - SAUCE efi: Fix swapped arguments to bsearch() in efi_status_to_*()",
                            "  * [SRU]Fix xe GPU suspend/resume crash on Battlemage (LP: #2141377)",
                            "    - drm/xe: make xe_gt_idle_disable_c6() handle the forcewake internally",
                            "  * Accumulative updates for Intel PTL-H component enabling PV rev3.0",
                            "    (LP: #2137272)",
                            "    - drm/i915/display: Optimize panel power-on wait time",
                            "    - HID: intel-ish-hid: Use dedicated unbound workqueues to prevent resume",
                            "      blocking",
                            "    - drm/xe/guc: Recommend GUC v70.49.4 for PTL, BMG",
                            "    - HID: Intel-thc-hid: Intel-thc: Use str_true_false() helper",
                            "    - HID: intel-thc-hid: intel-quicki2c: support ACPI config for advanced",
                            "      features",
                            "    - usb: typec: ucsi: Add SET_POWER_LEVEL UCSI command to debugfs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250)",
                            "    - bpf: Fix sleepable context for async callbacks",
                            "    - bpf: extract generic helper from process_timer_func()",
                            "    - bpf: Fix handling maps with no BTF and non-constant offsets for the",
                            "      bpf_wq",
                            "    - irqchip: Drop leftover brackets",
                            "    - irqchip: Pass platform device to platform drivers",
                            "    - arm64: dts: exynos: gs101: fix clock module unit reg sizes",
                            "    - ice: move service task start out of ice_init_pf()",
                            "    - ice: move ice_init_interrupt_scheme() prior ice_init_pf()",
                            "    - ice: ice_init_pf: destroy mutexes and xarrays on memory alloc failure",
                            "    - ice: move udp_tunnel_nic and misc IRQ setup into ice_init_pf()",
                            "    - ice: move ice_init_pf() out of ice_init_dev()",
                            "    - ice: extract ice_init_dev() from ice_init()",
                            "    - ice: move ice_deinit_dev() to the end of deinit paths",
                            "    - ice: remove duplicate call to ice_deinit_hw() on error paths",
                            "    - arm64: dts: qcom: lemans: Add missing quirk for HS only USB controller",
                            "    - tools/nolibc: x86: fix section mismatch caused by asm \"mem*\" functions",
                            "    - arm64: dts: ti: k3-j784s4: Fix I2C pinmux pull configuration",
                            "    - wifi: ath12k: enforce vdev limit in ath12k_mac_vdev_create()",
                            "    - ARM: dts: am33xx: Add missing serial console speed",
                            "    - arm64: tegra: Add pinctrl definitions for pcie-ep nodes",
                            "    - arm64: mm: Move KPTI helpers to mmu.c",
                            "    - arm64/mm: Allow __create_pgd_mapping() to propagate pgtable_alloc()",
                            "      errors",
                            "    - pwm: Simplify printf to emit chip->npwm in $debugfs/pwm",
                            "    - pwm: Use %u to printf unsigned int pwm_chip::npwm and pwm_chip::id",
                            "    - soc/tegra: fuse: speedo-tegra210: Update speedo IDs",
                            "    - iio: core: add missing mutex_destroy in iio_dev_release()",
                            "    - iio: core: Clean up device correctly on iio_device_alloc() failure",
                            "    - iommu/vt-d: Set INTEL_IOMMU_FLOPPY_WA depend on BLK_DEV_FD",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_elfcorehdr()",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_usable_mem_range()",
                            "    - rtla/tests: Extend action tests to 5s",
                            "    - rtla: Fix -a overriding -t argument",
                            "    - btrfs: make sure extent and csum paths are always released in",
                            "      scrub_raid56_parity_stripe()",
                            "    - iomap: allocate s_dio_done_wq for async reads as well",
                            "    - RDMA/irdma: Remove doorbell elision logic",
                            "    - selftests/landlock: Fix makefile header list",
                            "    - io_uring/kbuf: use READ_ONCE() for userspace-mapped memory",
                            "    - ALSA: wavefront: Clear substream pointers on close",
                            "    - btrfs: do not skip logging new dentries when logging a new name",
                            "    - btrfs: fix a potential path leak in print_data_reloc_error()",
                            "    - bpf, arm64: Do not audit capability check in do_jit()",
                            "    - btrfs: fix memory leak of fs_devices in degraded seed device path",
                            "    - iomap: account for unaligned end offsets when truncating read range",
                            "    - scripts/faddr2line: Fix \"Argument list too long\" error",
                            "    - sched/fair: Revert max_newidle_lb_cost bump",
                            "    - x86/ptrace: Always inline trivial accessors",
                            "    - ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint()",
                            "      only",
                            "    - cpufreq: dt-platdev: Add JH7110S SOC to the allowlist",
                            "    - ACPI: fan: Workaround for 64-bit firmware bug",
                            "    - cpufreq: s5pv210: fix refcount leak",
                            "    - cpuidle: menu: Use residency threshold in polling state override",
                            "      decisions",
                            "    - livepatch: Match old_sympos 0 and 1 in klp_find_func()",
                            "    - fs/ntfs3: Support timestamps prior to epoch",
                            "    - kbuild: Use objtree for module signing key path",
                            "    - hfsplus: fix volume corruption issue for generic/070",
                            "    - hfsplus: fix volume corruption issue for generic/073",
                            "    - fs/ntfs3: check for shutdown in fsync",
                            "    - wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU",
                            "    - wifi: cfg80211: stop radar detection in cfg80211_leave()",
                            "    - wifi: cfg80211: use cfg80211_leave() in iftype change",
                            "    - wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC",
                            "      load",
                            "    - wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet",
                            "    - btrfs: scrub: always update btrfs_scrub_progress::last_physical",
                            "    - gfs2: fix remote evict for read-only filesystems",
                            "    - gfs2: Fix \"gfs2: Switch to wait_event in gfs2_quotad\"",
                            "    - smb/server: fix return value of smb2_ioctl()",
                            "    - Bluetooth: btusb: Add new VID/PID 2b89/6275 for RTL8761BUV",
                            "    - Bluetooth: btusb: MT7922: Add VID/PID 0489/e170",
                            "    - Bluetooth: btusb: MT7920: Add VID/PID 0489/e135",
                            "    - Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE",
                            "    - Bluetooth: btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT",
                            "    - net: fec: ERR007885 Workaround for XDP TX path",
                            "    - ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2()",
                            "    - mlxsw: spectrum_router: Fix possible neighbour reference count leak",
                            "    - broadcom: b44: prevent uninitialized value usage",
                            "    - netfilter: nf_conncount: fix leaked ct in error paths",
                            "    - nfc: pn533: Fix error code in pn533_acr122_poweron_rdr()",
                            "    - netfilter: nf_nat: remove bogus direction check",
                            "    - netfilter: nf_tables: remove redundant chain validation on register",
                            "      store",
                            "    - selftests: netfilter: packetdrill: avoid failure on HZ=100 kernel",
                            "    - iommufd/selftest: Make it clearer to gcc that the access is not out of",
                            "      bounds",
                            "    - net/mlx5: fw reset, clear reset requested on drain_fw_reset",
                            "    - net/mlx5: Drain firmware reset in shutdown callback",
                            "    - net/mlx5: fw_tracer, Handle escaped percent properly",
                            "    - net/mlx5: Serialize firmware reset with devlink",
                            "    - net: enetc: do not transmit redirected XDP frames when the link is down",
                            "    - net: hns3: using the num_tqps to check whether tqp_index is out of range",
                            "      when vf get ring info from mbx",
                            "    - hwmon: (dell-smm) Limit fan multiplier to avoid overflow",
                            "    - hwmon: (tmp401) fix overflow caused by default conversion rate value",
                            "    - drm/me/gsc: mei interrupt top half should be in irq disabled context",
                            "    - drm/xe: Restore engine registers before restarting schedulers after GT",
                            "      reset",
                            "    - MIPS: Fix a reference leak bug in ip22_check_gio()",
                            "    - drm/panel: sony-td4353-jdi: Enable prepare_prev_first",
                            "    - x86/xen: Fix sparse warning in enlighten_pv.c",
                            "    - arm64: kdump: Fix elfcorehdr overlap caused by reserved memory",
                            "      processing reorder",
                            "    - spi: cadence-quadspi: Fix clock disable on probe failure path",
                            "    - block: rnbd-clt: Fix leaked ID in init_dev()",
                            "    - hwmon: (ltc4282): Fix reset_history file permissions",
                            "    - HID: input: map HID_GD_Z to ABS_DISTANCE for stylus/pen",
                            "    - Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk",
                            "      table",
                            "    - xfs: don't leak a locked dquot when xfs_dquot_attach_buf fails",
                            "    - can: gs_usb: gs_can_open(): fix error handling",
                            "    - soc/tegra: fuse: Do not register SoC device on ACPI boot",
                            "    - ACPI: PCC: Fix race condition by removing static qualifier",
                            "    - ACPI: CPPC: Fix missing PCC check for guaranteed_perf",
                            "    - mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig",
                            "    - mmc: sdhci-of-arasan: Increase CD stable timeout to 2 seconds",
                            "    - dt-bindings: mmc: sdhci-of-aspeed: Switch ref to sdhci-common.yaml",
                            "    - x86/fpu: Fix FPU state core dump truncation on CPUs with no extended",
                            "      xfeatures",
                            "    - ALSA: vxpocket: Fix resource leak in vxpocket_probe error path",
                            "    - ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path",
                            "    - ASoC: ak4458: remove the reset operation in probe and remove",
                            "    - nfsd: fix memory leak in nfsd_create_serv error paths",
                            "    - ipmi: Fix the race between __scan_channels() and deliver_response()",
                            "    - ipmi: Fix __scan_channels() failing to rescan channels",
                            "    - scsi: ufs: host: mediatek: Fix shutdown/suspend race condition",
                            "    - firmware: imx: scu-irq: Init workqueue before request mbox channel",
                            "    - ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx",
                            "    - scsi: smartpqi: Add support for Hurray Data new controller PCI device",
                            "    - clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4",
                            "    - powerpc/addnote: Fix overflow on 32-bit builds",
                            "    - scsi: qla2xxx: Fix lost interrupts with qlini_mode=disabled",
                            "    - scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive",
                            "    - scsi: qla2xxx: Use reinit_completion on mbx_intr_comp",
                            "    - fuse: Always flush the page cache before FOPEN_DIRECT_IO write",
                            "    - fuse: Invalidate the page cache after FOPEN_DIRECT_IO write",
                            "    - reset: fix BIT macro reference",
                            "    - exfat: fix remount failure in different process environments",
                            "    - exfat: zero out post-EOF page cache on file extension",
                            "    - usbip: Fix locking bug in RT-enabled kernels",
                            "    - iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains",
                            "    - usb: xhci: limit run_graceperiod for only usb 3.0 devices",
                            "    - usb: usb-storage: No additional quirks need to be added to the EL-R12",
                            "      optical drive.",
                            "    - serial: sprd: Return -EPROBE_DEFER when uart clock is not ready",
                            "    - libperf cpumap: Fix perf_cpu_map__max for an empty/NULL map",
                            "    - clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk0_clk_src",
                            "    - i2c: designware: Disable SMBus interrupts to prevent storms from mis-",
                            "      configured firmware",
                            "    - nvme-fc: don't hold rport lock when putting ctrl",
                            "    - nvme-fabrics: add ENOKEY to no retry criteria for authentication",
                            "      failures",
                            "    - scsi: scsi_debug: Fix atomic write enable module param description",
                            "    - block: rnbd-clt: Fix signedness bug in init_dev()",
                            "    - vhost/vsock: improve RCU read sections around vhost_vsock_get()",
                            "    - x86/mce: Do not clear bank's poll bit in mce_poll_banks on AMD SMCA",
                            "      systems",
                            "    - mmc: sdhci-msm: Avoid early clock doubling during HS400 transition",
                            "    - perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister()",
                            "    - lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit",
                            "    - s390/dasd: Fix gendisk parent after copy pair swap",
                            "    - wifi: mt76: Fix DTS power-limits on little endian systems",
                            "    - block: rate-limit capacity change info log",
                            "    - floppy: fix for PAGE_SIZE != 4KB",
                            "    - kallsyms: Fix wrong \"big\" kernel symbol type read from procfs",
                            "    - fs/ntfs3: fix mount failure for sparse runs in run_unpack()",
                            "    - ktest.pl: Fix uninitialized var in config-bisect.pl",
                            "    - ext4: clear i_state_flags when alloc inode",
                            "    - ext4: fix incorrect group number assertion in mb_check_buddy",
                            "    - ext4: align max orphan file size with e2fsprogs limit",
                            "    - jbd2: use a per-journal lock_class_key for jbd2_trans_commit_key",
                            "    - jbd2: use a weaker annotation in journal handling",
                            "    - media: v4l2-mem2mem: Fix outdated documentation",
                            "    - selftests: mptcp: pm: ensure unknown flags are ignored",
                            "    - mptcp: schedule rtx timer only after pushing data",
                            "    - usb: usb-storage: Maintain minimal modifications to the bcdDevice range.",
                            "    - media: pvrusb2: Fix incorrect variable used in trace message",
                            "    - phy: broadcom: bcm63xx-usbh: fix section mismatches",
                            "    - usb: ohci-nxp: fix device leak on probe failure",
                            "    - usb: typec: altmodes/displayport: Drop the device reference in",
                            "      dp_altmode_probe()",
                            "    - USB: lpc32xx_udc: Fix error handling in probe",
                            "    - usb: phy: isp1301: fix non-OF device reference imbalance",
                            "    - usb: gadget: lpc32xx_udc: fix clock imbalance in error path",
                            "    - usb: dwc3: of-simple: fix clock resource leak in dwc3_of_simple_probe",
                            "    - usb: dwc3: keep susphy enabled during exit to avoid controller faults",
                            "    - usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()",
                            "    - intel_th: Fix error handling in intel_th_output_open",
                            "    - mei: gsc: add dependency on Xe driver",
                            "    - serial: sh-sci: Check that the DMA cookie is valid",
                            "    - cpuidle: governors: teo: Drop misguided target residency check",
                            "    - cpufreq: nforce2: fix reference count leak in nforce2",
                            "    - NFSD: use correct reservation type in nfsd4_scsi_fence_client",
                            "    - scsi: mpi3mr: Read missing IOCFacts flag for reply queue full overflow",
                            "    - scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error",
                            "    - f2fs: fix age extent cache insertion skip on counter overflow",
                            "    - f2fs: fix uninitialized one_time_gc in victim_sel_policy",
                            "    - tools/testing/nvdimm: Use per-DIMM device handle",
                            "    - KVM: x86: Don't clear async #PF queue when CR0.PG is disabled (e.g. on",
                            "      #SMI)",
                            "    - powerpc: Add reloc_offset() to font bitmap pointer used for",
                            "      bootx_printf()",
                            "    - KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with",
                            "      period=0",
                            "    - KVM: x86: Explicitly set new periodic hrtimer expiration in",
                            "      apic_timer_fn()",
                            "    - KVM: nSVM: Avoid incorrect injection of SVM_EXIT_CR0_SEL_WRITE",
                            "    - KVM: SVM: Mark VMCB_NPT as dirty on nested VMRUN",
                            "    - KVM: nSVM: Propagate SVM_EXIT_CR0_SEL_WRITE correctly for LMSW emulation",
                            "    - KVM: SVM: Mark VMCB_PERM_MAP as dirty on nested VMRUN",
                            "    - KVM: nVMX: Immediately refresh APICv controls as needed on nested VM-",
                            "      Exit",
                            "    - KVM: nSVM: Set exit_code_hi to -1 when synthesizing SVM_EXIT_ERR (failed",
                            "      VMRUN)",
                            "    - KVM: nSVM: Clear exit_code_hi in VMCB when synthesizing nested VM-Exits",
                            "    - xfs: fix a memory leak in xfs_buf_item_init()",
                            "    - xfs: fix stupid compiler warning",
                            "    - PM: runtime: Do not clear needs_force_resume with enabled runtime PM",
                            "    - r8169: fix RTL8117 Wake-on-Lan in DASH mode",
                            "    - net: phy: marvell-88q2xxx: Fix clamped value in mv88q2xxx_hwmon_write",
                            "    - NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap",
                            "    - nfsd: Mark variable __maybe_unused to avoid W=1 build break",
                            "    - svcrdma: return 0 on success from svc_rdma_copy_inline_range",
                            "    - s390/ipl: Clear SBP flag when bootprog is set",
                            "    - gpio: regmap: Fix memleak in error path in gpio_regmap_register()",
                            "    - io_uring: fix min_wait wakeups for SQPOLL",
                            "    - drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state()",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN35",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN351",
                            "    - drm/displayid: pass iter to drm_find_displayid_extension()",
                            "    - ALSA: wavefront: Use guard() for spin locks",
                            "    - pinctrl: renesas: rzg2l: Fix ISEL restore on resume",
                            "    - arm64: Revamp HCR_EL2.E2H RES1 detection",
                            "    - dt-bindings: PCI: qcom,pcie-sc7280: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sc8280xp: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8150: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8250: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8350: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8450: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8550: Add missing required power-domains",
                            "      and resets",
                            "    - crypto: caam - Add check for kcalloc() in test_len()",
                            "    - amba: tegra-ahb: Fix device leak on SMMU enable",
                            "    - virtio: vdpa: Fix reference count leak in octep_sriov_enable()",
                            "    - tracing: Fix fixed array of synthetic event",
                            "    - soc: samsung: exynos-pmu: fix device leak on regmap lookup",
                            "    - soc: qcom: pbs: fix device leak on lookup",
                            "    - soc: qcom: ocmem: fix device leak on lookup",
                            "    - soc: apple: mailbox: fix device leak on lookup",
                            "    - soc: amlogic: canvas: fix device leak on lookup",
                            "    - rpmsg: glink: fix rpmsg device leak",
                            "    - platform/x86: intel: chtwc_int33fe: don't dereference swnode args",
                            "    - i2c: amd-mp2: fix reference leak in MP2 PCI device",
                            "    - interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes",
                            "    - hwmon: (max16065) Use local variable to avoid TOCTOU",
                            "    - hwmon: (max6697) fix regmap leak on probe failure",
                            "    - hwmon: (w83l786ng) Convert macros to functions to avoid TOCTOU",
                            "    - ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32",
                            "    - x86/msi: Make irq_retrigger() functional for posted MSI",
                            "    - wifi: rtw88: limit indirect IO under powered off for RTL8822CS",
                            "    - wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()",
                            "    - wifi: mac80211: do not use old MBSSID elements",
                            "    - i40e: fix scheduling in set_rx_mode",
                            "    - i40e: validate ring_len parameter against hardware-specific values",
                            "    - idpf: reduce mbx_task schedule delay to 300us",
                            "    - net: mdio: aspeed: add dummy read to avoid read-after-write issue",
                            "    - net: openvswitch: Avoid needlessly taking the RTNL on vport destroy",
                            "    - platform/mellanox: mlxbf-pmc: Remove trailing whitespaces from event",
                            "      names",
                            "    - platform/x86: msi-laptop: add missing sysfs_remove_group()",
                            "    - platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic",
                            "    - net: dsa: fix missing put_device() in dsa_tree_find_first_conduit()",
                            "    - amd-xgbe: reset retries and mode on RX adapt failures",
                            "    - Revert \"UBUNTU: SAUCE: selftests: net: fix \"buffer overflow detected\"",
                            "      for tap.c\"",
                            "    - selftests: net: fix \"buffer overflow detected\" for tap.c",
                            "    - genalloc.h: fix htmldocs warning",
                            "    - firewire: nosy: Fix dma_free_coherent() size",
                            "    - net: dsa: b53: skip multicast entries for fdb_dump()",
                            "    - kbuild: fix compilation of dtb specified on command-line without make",
                            "      rule",
                            "    - net: bridge: Describe @tunnel_hash member in net_bridge_vlan_group",
                            "      struct",
                            "    - vfio/pds: Fix memory leak in pds_vfio_dirty_enable()",
                            "    - RDMA/efa: Remove possible negative shift",
                            "    - RDMA/core: Fix logic error in ib_get_gids_from_rdma_hdr()",
                            "    - RDMA/bnxt_re: Fix incorrect BAR check in bnxt_qplib_map_creq_db()",
                            "    - RDMA/bnxt_re: Fix IB_SEND_IP_CSUM handling in post_send",
                            "    - RDMA/bnxt_re: Fix to use correct page size for PDE table",
                            "    - md: Fix static checker warning in analyze_sbs",
                            "    - RDMA/rtrs: Fix clt_path::max_pages_per_mr calculation",
                            "    - RDMA/bnxt_re: fix dma_free_coherent() pointer",
                            "    - blk-mq: skip CPU offline notify on unmapped hctx",
                            "    - selftests/ftrace: traceonoff_triggers: strip off names",
                            "    - ntfs: Do not overwrite uptodate pages",
                            "    - ASoC: codecs: wcd939x: fix regmap leak on probe failure",
                            "    - ASoC: stm32: sai: fix device leak on probe",
                            "    - ASoC: stm32: sai: fix clk prepare imbalance on probe failure",
                            "    - ASoC: codecs: lpass-tx-macro: fix SM6115 support",
                            "    - ASoC: qcom: q6apm-dai: set flags to reflect correct operation of",
                            "      appl_ptr",
                            "    - ASoC: qcom: q6asm-dai: perform correct state check before closing",
                            "    - ASoC: qcom: q6adm: the the copp device only during last instance",
                            "    - ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.",
                            "    - iommu/amd: Fix pci_segment memleak in alloc_pci_segment()",
                            "    - iommu/amd: Propagate the error code returned by __modify_irte_ga() in",
                            "      modify_irte_ga()",
                            "    - iommu/apple-dart: fix device leak on of_xlate()",
                            "    - iommu/exynos: fix device leak on of_xlate()",
                            "    - iommu/ipmmu-vmsa: fix device leak on of_xlate()",
                            "    - iommu/mediatek-v1: fix device leak on probe_device()",
                            "    - iommu/mediatek-v1: fix device leaks on probe()",
                            "    - iommu/mediatek: fix device leak on of_xlate()",
                            "    - iommu/omap: fix device leaks on probe_device()",
                            "    - iommu/qcom: fix device leak on of_xlate()",
                            "    - iommu/sun50i: fix device leak on of_xlate()",
                            "    - iommu/tegra: fix device leak on probe_device()",
                            "    - HID: logitech-dj: Remove duplicate error logging",
                            "    - fgraph: Initialize ftrace_ops->private for function graph ops",
                            "    - fgraph: Check ftrace_pids_enabled on registration for early filtering",
                            "    - PCI/PM: Reinstate clearing state_saved in legacy and !PM codepaths",
                            "    - arm64: dts: ti: k3-j721e-sk: Fix pinmux for pin Y1 used by power",
                            "      regulator",
                            "    - powerpc, mm: Fix mprotect on book3s 32-bit",
                            "    - leds: leds-cros_ec: Skip LEDs without color components",
                            "    - leds: leds-lp50xx: Allow LED 0 to be added to module bank",
                            "    - leds: leds-lp50xx: LP5009 supports 3 modules for a total of 9 LEDs",
                            "    - leds: leds-lp50xx: Enable chip before any communication",
                            "    - block: Clear BLK_ZONE_WPLUG_PLUGGED when aborting plugged BIOs",
                            "    - mfd: altera-sysmgr: Fix device leak on sysmgr regmap lookup",
                            "    - mfd: max77620: Fix potential IRQ chip conflict when probing two devices",
                            "    - media: rc: st_rc: Fix reset control resource leak",
                            "    - media: verisilicon: Fix CPU stalls on G2 bus error",
                            "    - mtd: mtdpart: ignore error -ENOENT from parsers on subpartitions",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIQ chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q02NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H512NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H01NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H02NWxxAM chips",
                            "    - parisc: entry.S: fix space adjustment on interruption for 64-bit",
                            "      userspace",
                            "    - parisc: entry: set W bit for !compat tasks in syscall_restore_rfi()",
                            "    - perf/x86/amd/uncore: Fix the return value of amd_uncore_df_event_init()",
                            "      on error",
                            "    - powerpc/pseries/cmm: call balloon_devinfo_init() also without",
                            "      CONFIG_BALLOON_COMPACTION",
                            "    - firmware: stratix10-svc: Add mutex in stratix10 memory management",
                            "    - dm-ebs: Mark full buffer dirty even on partial write",
                            "    - dm-bufio: align write boundary on physical block size",
                            "    - fbdev: gbefb: fix to use physical address instead of dma address",
                            "    - fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing",
                            "    - fbdev: tcx.c fix mem_map to correct smem_start offset",
                            "    - media: cec: Fix debugfs leak on bus_register() failure",
                            "    - media: msp3400: Avoid possible out-of-bounds array accesses in",
                            "      msp3400c_thread()",
                            "    - media: platform: mtk-mdp3: fix device leaks at probe",
                            "    - media: renesas: rcar_drif: fix device node reference leak in",
                            "      rcar_drif_bond_enabled",
                            "    - media: samsung: exynos4-is: fix potential ABBA deadlock on init",
                            "    - media: TDA1997x: Remove redundant cancel_delayed_work in probe",
                            "    - media: verisilicon: Protect G2 HEVC decoder against invalid DPB index",
                            "    - media: videobuf2: Fix device reference leak in vb2_dc_alloc error path",
                            "    - media: vpif_capture: fix section mismatch",
                            "    - media: vpif_display: fix section mismatch",
                            "    - media: amphion: Cancel message work before releasing the VPU core",
                            "    - media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe",
                            "    - media: i2c: adv7842: Remove redundant cancel_delayed_work in probe",
                            "    - media: mediatek: vcodec: Fix a reference leak in",
                            "      mtk_vcodec_fw_vpu_init()",
                            "    - LoongArch: Add new PCI ID for pci_fixup_vgadev()",
                            "    - LoongArch: Correct the calculation logic of thread_count",
                            "    - LoongArch: Fix build errors for CONFIG_RANDSTRUCT",
                            "    - LoongArch: Use __pmd()/__pte() for swap entry conversions",
                            "    - LoongArch: Use unsigned long for _end and _text",
                            "    - mm/damon/tests/sysfs-kunit: handle alloc failures on",
                            "      damon_sysfs_test_add_targets()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures in",
                            "      damon_test_split_evenly_fail()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_test_split_evenly_succ()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_at()",
                            "    - mm/damon/tests/core-kunit: handle allocation failures in",
                            "      damon_test_regions()",
                            "    - mm/damon/tests/core-kunit: handle memory failure from",
                            "      damon_test_target()",
                            "    - mm/damon/tests/core-kunit: handle memory alloc failure from",
                            "      damon_test_aggregate()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      dasmon_test_merge_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_merge_two()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_set_regions()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_update_monitoring_result()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_ops_registration()",
                            "    - mm/damon/tests/core-kunit: handle alloc failure on",
                            "      damon_test_set_attrs()",
                            "    - pmdomain: imx: Fix reference count leak in imx_gpc_probe()",
                            "    - compiler_types.h: add \"auto\" as a macro for \"__auto_type\"",
                            "    - mm/kasan: fix incorrect unpoisoning in vrealloc for KASAN",
                            "    - kasan: refactor pcpu kasan vmalloc unpoison",
                            "    - kasan: unpoison vms[area] addresses with a common tag",
                            "    - lockd: fix vfs_test_lock() calls",
                            "    - idr: fix idr_alloc() returning an ID out of range",
                            "    - mm/page_owner: fix memory leak in page_owner_stack_fops->release()",
                            "    - tools/mm/page_owner_sort: fix timestamp comparison for stable sorting",
                            "    - samples/ftrace: Adjust LoongArch register restore order in direct calls",
                            "    - fjes: Add missing iounmap in fjes_hw_init()",
                            "    - LoongArch: Refactor register restoration in ftrace_common_return",
                            "    - LoongArch: BPF: Zero-extend bpf_tail_call() index",
                            "    - nfsd: Drop the client reference in client_states_open()",
                            "    - net: usb: sr9700: fix incorrect command used to write single register",
                            "    - net: macb: Relocate mog_init_rings() callback from macb_mac_link_up() to",
                            "      macb_open()",
                            "    - drm/amdgpu/gmc12: add amdgpu_vm_handle_fault() handling",
                            "    - drm/amdgpu: add missing lock to amdgpu_ttm_access_memory_sdma",
                            "    - drm/amdgpu/gmc11: add amdgpu_vm_handle_fault() handling",
                            "    - drm/msm/a6xx: Fix out of bound IO access in a6xx_get_gmu_registers",
                            "    - drm/buddy: Optimize free block management with RB tree",
                            "    - drm/buddy: Separate clear and dirty free block trees",
                            "    - drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg()",
                            "    - drm/edid: add DRM_EDID_IDENT_INIT() to initialize struct drm_edid_ident",
                            "    - drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse()",
                            "    - drm/mediatek: Fix probe resource leaks",
                            "    - drm/mediatek: Fix probe memory leak",
                            "    - drm/mediatek: Fix probe device leaks",
                            "    - drm/amdkfd: Trap handler support for expert scheduling mode",
                            "    - drm/i915: Fix format string truncation warning",
                            "    - drm/mgag200: Fix big-endian support",
                            "    - drm/xe/bo: Don't include the CCS metadata in the dma-buf sg-table",
                            "    - drm/xe/oa: Disallow 0 OA property values",
                            "    - drm/xe: Adjust long-running workload timeslices to reasonable values",
                            "    - drm/xe: Use usleep_range for accurate long-running workload timeslicing",
                            "    - drm/xe: Drop preempt-fences when destroying imported dma-bufs.",
                            "    - drm/nouveau/dispnv50: Don't call drm_atomic_get_crtc_state() in",
                            "      prepare_fb",
                            "    - drm/imagination: Disallow exporting of PM/FW protected objects",
                            "    - lib/crypto: riscv/chacha: Avoid s0/fp register",
                            "    - gfs2: fix freeze error handling",
                            "    - btrfs: don't rewrite ret from inode_permission",
                            "    - sched/eevdf: Fix min_vruntime vs avg_vruntime",
                            "    - erofs: fix unexpected EIO under memory pressure",
                            "    - sched_ext: Fix incorrect sched_class settings for per-cpu migration",
                            "      tasks",
                            "    - jbd2: fix the inconsistency between checksum and data in memory for",
                            "      journal sb",
                            "    - xhci: dbgtty: fix device unregister: fixup",
                            "    - f2fs: fix to detect recoverable inode during dryrun of",
                            "      find_fsync_dnodes()",
                            "    - serial: core: Restore sysfs fwnode information",
                            "    - mptcp: pm: ignore unknown endpoint flags",
                            "    - mm/ksm: fix exec/fork inheritance support for prctl",
                            "    - ARM: dts: microchip: sama7g5: fix uart fifo size to 32",
                            "    - tpm2-sessions: Fix out of range indexing in name_size",
                            "    - tpm2-sessions: Fix tpm2_read_public range checks",
                            "    - sched_ext: Factor out local_dsq_post_enq() from dispatch_enqueue()",
                            "    - sched_ext: Fix missing post-enqueue handling in",
                            "      move_local_task_to_local_dsq()",
                            "    - drm/displayid: add quirk to ignore DisplayID checksum errors",
                            "    - serial: xilinx_uartps: fix rs485 delay_rts_after_send",
                            "    - f2fs: add timeout in f2fs_enable_checkpoint()",
                            "    - f2fs: dump more information for f2fs_{enable,disable}_checkpoint()",
                            "    - f2fs: fix to propagate error from f2fs_enable_checkpoint()",
                            "    - gpiolib: acpi: Add quirk for Dell Precision 7780",
                            "    - serial: core: Fix serial device initialization",
                            "    - media: i2c: imx219: Fix 1920x1080 mode to use 1:1 pixel aspect ratio",
                            "    - ASoC: renesas: rz-ssi: Fix channel swap issue in full duplex mode",
                            "    - block: handle zone management operations completions",
                            "    - ASoC: qcom: sdw: fix memory leak for sdw_stream_runtime",
                            "    - ASoC: renesas: rz-ssi: Fix rz_ssi_priv::hw_params_cache::sample_width",
                            "    - PCI: brcmstb: Fix disabling L0s capability",
                            "    - powerpc/pseries/cmm: adjust BALLOON_MIGRATE when migrating pages",
                            "    - media: amphion: Make some vpu_v4l2 functions static",
                            "    - media: amphion: Remove vpu_vb_is_codecconfig",
                            "    - vfio/pci: Disable qword access to the PCI ROM bar",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failres in",
                            "      damon_test_new_filter()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_do_test_apply_three_regions()",
                            "    - block: fix NULL pointer dereference in blk_zone_reset_all_bio_endio()",
                            "    - bpf: Fix truncated dmabuf iterator reads",
                            "    - bpf: Fix verifier assumptions of bpf_d_path's output buffer",
                            "    - btrfs: fix changeset leak on mmap write after failure to reserve",
                            "      metadata",
                            "    - scripts: kdoc_parser.py: warn about Python version only once",
                            "    - crypto: ccp - Add support for PCI device 0x115A",
                            "    - hfsplus: fix volume corruption issue for generic/101",
                            "    - Bluetooth: btusb: add new custom firmwares",
                            "    - net/mlx5: make enable_mpesw idempotent",
                            "    - net: phy: realtek: eliminate priv->phycr2 variable",
                            "    - net: phy: realtek: eliminate has_phycr2 variable",
                            "    - net: phy: realtek: allow CLKOUT to be disabled on RTL8211F(D)(I)-VD-CG",
                            "    - net: phy: realtek: eliminate priv->phycr1 variable",
                            "    - net: phy: realtek: create rtl8211f_config_phy_eee() helper",
                            "    - net: phy: RTL8211FVD: Restore disabling of PHY-mode EEE",
                            "    - net: ti: icssg-prueth: add PTP_1588_CLOCK_OPTIONAL dependency",
                            "    - selftests: net: Fix build warnings",
                            "    - selftests: net: tfo: Fix build warning",
                            "    - inet: frags: avoid theoretical race in ip_frag_reinit()",
                            "    - inet: frags: add inet_frag_queue_flush()",
                            "    - selftests: netfilter: prefer xfail in case race wasn't triggered",
                            "    - can: j1939: make j1939_sk_bind() fail if device is no longer registered",
                            "    - net/mlx5e: Use ip6_dst_lookup instead of ipv6_dst_lookup_flow for MAC",
                            "      init",
                            "    - net/mlx5e: Trigger neighbor resolution for unresolved destinations",
                            "    - drm/tests: hdmi: Handle drm_kunit_helper_enable_crtc_connector()",
                            "      returning EDEADLK",
                            "    - drm/tests: Handle EDEADLK in drm_test_check_valid_clones()",
                            "    - drm/tests: Handle EDEADLK in set_up_atomic_state()",
                            "    - selftests: ublk: fix overflow in ublk_queue_auto_zc_fallback()",
                            "    - block: unify elevator tags and type xarrays into struct elv_change_ctx",
                            "    - block: move elevator tags into struct elevator_resources",
                            "    - block: introduce alloc_sched_data and free_sched_data elevator methods",
                            "    - block: use {alloc|free}_sched data methods",
                            "    - spi: microchip: rename driver file and internal identifiers",
                            "    - [Config] Remove CONFIG_SPI_MICROCHIP_CORE",
                            "    - spi: mpfs: Fix an error handling path in mpfs_spi_probe()",
                            "    - drm/xe: Fix freq kobject leak on sysfs_create_files failure",
                            "    - drm/xe: Apply Wa_14020316580 in xe_gt_idle_enable_pg()",
                            "    - drm/xe: Increase TDF timeout",
                            "    - io_uring: fix nr_segs calculation in io_import_kbuf",
                            "    - ublk: add parameter `struct io_uring_cmd *` to ublk_prep_auto_buf_reg()",
                            "    - ublk: add `union ublk_io_buf` with improved naming",
                            "    - ublk: refactor auto buffer register in ublk_dispatch_req()",
                            "    - drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME",
                            "    - amd/iommu: Preserve domain ids inside the kdump kernel",
                            "    - arm64: dts: mediatek: Apply mt8395-radxa DT overlay at build time",
                            "    - Input: apple_z2 - fix reading incorrect reports after exiting sleep",
                            "    - Input: xpad - add support for CRKD Guitars",
                            "    - platform/x86: intel_pmc_ipc: fix ACPI buffer memory leak",
                            "    - x86/mm/tlb/trace: Export the TLB_REMOTE_WRONG_CPU enum in",
                            "      <trace/events/tlb.h>",
                            "    - ASoC: fsl_sai: Constrain sample rates from audio PLLs only in master",
                            "      mode",
                            "    - ASoC: SDCA: support Q7.8 volume format",
                            "    - ASoC: ops: fix snd_soc_get_volsw for sx controls",
                            "    - scsi: lpfc: Fix reusing an ndlp that is marked NLP_DROPPED during FLOGI",
                            "    - usb: xhci: Don't unchain link TRBs on quirky HCs",
                            "    - platform/x86: wmi-gamezone: Add Legion Go 2 Quirks",
                            "    - hwmon: (emc2305) fix device node refcount leak in error path",
                            "    - hwmon: (emc2305) fix double put in emc2305_probe_childs_from_dt",
                            "    - ublk: add helpers to check ublk_device flags",
                            "    - rust/drm/gem: Fix missing header in `Object` rustdoc",
                            "    - rust: dma: add helpers for architectures without CONFIG_HAS_DMA",
                            "    - samples: rust: fix endianness issue in rust_driver_pci",
                            "    - rust: io: define ResourceSize as resource_size_t",
                            "    - rust: io: move ResourceSize to top-level io module",
                            "    - rust: io: add typedef for phys_addr_t",
                            "    - clk: keystone: syscon-clk: fix regmap leak on probe failure",
                            "    - printk: Avoid scheduling irq_work on suspend",
                            "    - sched_ext: Fix the memleak for sch->helper objects",
                            "    - sched_ext: Fix bypass depth leak on scx_enable() failure",
                            "    - dt-bindings: clock: mmcc-sdm660: Add missing MDSS reset",
                            "    - phy: exynos5-usbdrd: fix clock prepare imbalance",
                            "    - efi: Add missing static initializer for efi_mm::cpus_allowed_lock",
                            "    - crypto: scatterwalk - Fix memcpy_sglist() to always succeed",
                            "    - printk: Allow printk_trigger_flush() to flush all types",
                            "    - printk: Avoid irq_work for printk_deferred() on suspend",
                            "    - mm/huge_memory: add pmd folio to ds_queue in do_huge_zero_wp_pmd()",
                            "    - crash: let architecture decide crash memory export to iomem_resource",
                            "    - usb: typec: ucsi: huawei-gaokin: add DRM dependency",
                            "    - f2fs: clean up w/ get_left_section_blocks()",
                            "    - f2fs: fix to not account invalid blocks in get_left_section_blocks()",
                            "    - KVM: selftests: Forcefully override ARCH from x86_64 to x86",
                            "    - KVM: Fix last_boosted_vcpu index assignment bug",
                            "    - KVM: TDX: Explicitly set user-return MSRs that *may* be clobbered by the",
                            "      TDX-Module",
                            "    - KVM: x86: Apply runtime updates to current CPUID during",
                            "      KVM_SET_CPUID{,2}",
                            "    - KVM: selftests: Add missing \"break\" in rseq_test's param parsing",
                            "    - xfs: fix the zoned RT growfs check for zone alignment",
                            "    - xfs: validate that zoned RT devices are zone aligned",
                            "    - arm64/gcs: Flush the GCS locking state on exec",
                            "    - ALSA: hda/realtek: Add Asus quirk for TAS amplifiers",
                            "    - NFSD: Clear TIME_DELEG in the suppattr_exclcreat bitmap",
                            "    - cgroup: rstat: use LOCK CMPXCHG in css_rstat_updated",
                            "    - gpio: loongson: Switch 2K2000/3000 GPIO to BYTE_CTRL_MODE",
                            "    - crypto: arm64/ghash - Fix incorrect output from ghash-neon",
                            "    - zloop: fail zone append operations that are targeting full zones",
                            "    - zloop: make the write pointer of full zones invalid",
                            "    - vfio: Fix ksize arg while copying user struct in",
                            "      vfio_df_ioctl_bind_iommufd()",
                            "    - rtla/timerlat_bpf: Stop tracing on user latency",
                            "    - pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling",
                            "      channel is enabled",
                            "    - lib/crypto: riscv: Depend on RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS",
                            "    - [Config] Disable accelerated crypto for riscv64 by default",
                            "    - io_uring/rsrc: fix lost entries after cloned range",
                            "    - ARM: dts: microchip: sama7d65: fix uart fifo size to 32",
                            "    - ice: add missing ice_deinit_hw() in devlink reinit path",
                            "    - arp: do not assume dev_hard_header() does not change skb->head",
                            "    - firmware: imx: scu-irq: Set mu_resource_id before get handle",
                            "    - tpm: Compare HMAC values in constant time",
                            "    - keys/trusted_keys: fix handle passed to tpm_buf_append_name during",
                            "      unseal",
                            "    - intel_th: fix device leak on output open()",
                            "    - Upstream stable to v6.18.2, v6.12.64, v6.18.3",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68791",
                            "    - fuse: missing copy_finish in fuse-over-io-uring argument copies",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68805",
                            "    - fuse: fix io-uring list corruption for terminated non-committed requests",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68812",
                            "    - media: iris: Add sanity check for stop streaming",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71117",
                            "    - block: Remove queue freezing from several sysfs store callbacks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71070",
                            "    - ublk: clean up user copy references on ublk server exit",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71124",
                            "    - drm/msm/a6xx: move preempt_prepare_postamble after error check",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71115",
                            "    - um: init cpu_tasks[] earlier",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68823",
                            "    - ublk: fix deadlock when reading partition table",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68793",
                            "    - drm/amdgpu: fix a job->pasid access race in gpu recovery",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68807",
                            "    - block: fix race between wbt_enable_default and IO submission",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68768",
                            "    - inet: frags: flush pending skbs in fqdir_pre_exit()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71140",
                            "    - media: mediatek: vcodec: Use spinlock for context list protection lock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71156",
                            "    - gve: defer interrupt enabling until NAPI registration",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2024-36347",
                            "    - x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo",
                            "    - x86/microcode/AMD: Select which microcode patch to load",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71068",
                            "    - svcrdma: bound check rq_pages index in inline path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68772",
                            "    - f2fs: fix to avoid updating compression context during writeback",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71105",
                            "    - f2fs: use global inline_xattr_slab instead of per-sb slab cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71130",
                            "    - drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71138",
                            "    - drm/msm/dpu: Add missing NULL pointer check for pingpong interface",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71083",
                            "    - drm/ttm: Avoid NULL pointer deref for evicted BOs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71099",
                            "    - drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71079",
                            "    - net: nfc: fix deadlock between nfc_unregister_device and",
                            "      rfkill_fop_write",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71129",
                            "    - LoongArch: BPF: Sign extend kfunc call arguments",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71093",
                            "    - e1000: fix OOB in e1000_tbi_should_accept()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71084",
                            "    - RDMA/cm: Fix leaking the multicast GID table reference",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71096",
                            "    - RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71136",
                            "    - media: adv7842: Avoid possible out-of-bounds array accesses in",
                            "      adv7842_cp_log_status()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71143",
                            "    - clk: samsung: exynos-clkout: Assign .num before accessing .hws",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71078",
                            "    - powerpc/64s/slb: Fix SLB multihit issue during SLB preload",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71089",
                            "    - iommu: disable SVA when CONFIG_X86 is set",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71081",
                            "    - ASoC: stm32: sai: fix OF node leak on probe",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71153",
                            "    - ksmbd: Fix memory leak in get_file_all_info()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71135",
                            "    - md/raid5: fix possible null-pointer dereferences in",
                            "      raid5_store_group_thread_cnt()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71157",
                            "    - RDMA/core: always drop device refcount in ib_del_sub_device_and_put()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71133",
                            "    - RDMA/irdma: avoid invalid read in irdma_net_event",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71080",
                            "    - ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71086",
                            "    - net: rose: fix invalid array index in rose_kill_by_device()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71097",
                            "    - ipv4: Fix reference count leak when using error routes with nexthop",
                            "      objects",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71085",
                            "    - ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71095",
                            "    - net: stmmac: fix the crash issue for zero copy XDP_TX action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71137",
                            "    - octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71101",
                            "    - platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package",
                            "      parsing",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71094",
                            "    - net: usb: asix: validate PHY address before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71132",
                            "    - smc91x: fix broken irq-context in PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71154",
                            "    - net: usb: rtl8150: fix memory leak on usb_submit_urb() failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71091",
                            "    - team: fix check for port enabled in",
                            "      team_queue_override_port_prio_changed()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71098",
                            "    - ip6_gre: make ip6gre_header() robust",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71082",
                            "    - Bluetooth: btusb: revert use of devm_kzalloc in btusb",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71131",
                            "    - crypto: seqiv - Do not use req->iv after crypto_aead_encrypt",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71087",
                            "    - iavf: fix off-by-one issues in iavf_config_rss_reg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71100",
                            "    - wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68821",
                            "    - fuse: fix readahead reclaim deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71071",
                            "    - iommu/mediatek: fix use-after-free on probe deferral",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71111",
                            "    - hwmon: (w83791d) Convert macros to functions to avoid TOCTOU",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71113",
                            "    - crypto: af_alg - zero initialize memory allocated via sock_kmalloc",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71149",
                            "    - io_uring/poll: correctly handle io_poll_add() return value on update",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68778",
                            "    - btrfs: don't log conflicting inode if it's a dir moved in the current",
                            "      transaction",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71119",
                            "    - powerpc/kexec: Enable SMT before waking offline CPUs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71120",
                            "    - SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in",
                            "      gss_read_proxy_verf",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68811",
                            "    - svcrdma: use rc_pageoff for memcpy byte offset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68803",
                            "    - NFSD: NFSv4 file creation neglects setting ACL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71148",
                            "    - net/handshake: restore destructor on submit failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68788",
                            "    - fsnotify: do not generate ACCESS/MODIFY events on child for special",
                            "      files",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71125",
                            "    - tracing: Do not register unsupported perf events",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68784",
                            "    - xfs: fix a UAF problem in xattr repair",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71104",
                            "    - KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV",
                            "      timer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71116",
                            "    - libceph: make decode_pool() more resilient against corrupted osdmaps",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71121",
                            "    - parisc: Do not reprogram affinitiy on ASP chip",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71102",
                            "    - scs: fix a wrong parameter in __scs_magic",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68804",
                            "    - platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68771",
                            "    - ocfs2: fix kernel BUG in ocfs2_find_victim_chain",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68808",
                            "    - media: vidtv: initialize local pointers upon transfer of memory",
                            "      ownership",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68810",
                            "    - KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68769",
                            "    - f2fs: fix return value of f2fs_recover_fsync_data()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71069",
                            "    - f2fs: invalidate dentry cache on failed whiteout creation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68796",
                            "    - f2fs: fix to avoid updating zero-sized extent in extent cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71065",
                            "    - f2fs: fix to avoid potential deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71107",
                            "    - f2fs: ensure node page reads complete before f2fs_put_super() finishes",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68782",
                            "    - scsi: target: Reset t_task_cdb pointer in error case",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71075",
                            "    - scsi: aic94xx: fix use-after-free in device removal path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68818",
                            "    - scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in",
                            "      abort path\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68797",
                            "    - char: applicom: fix NULL pointer dereference in ac_ioctl",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68781",
                            "    - usb: phy: fsl-usb: Fix use-after-free in delayed work during device",
                            "      removal",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68819",
                            "    - media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71126",
                            "    - mptcp: avoid deadlock on fallback while reinjecting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68820",
                            "    - ext4: xattr: fix null pointer deref in ext4_raw_inode()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71123",
                            "    - ext4: fix string copying in parse_apply_sb_mount_options()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71077",
                            "    - tpm: Cap the number of PCR banks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68814",
                            "    - io_uring: fix filename leak in __io_openat_prep()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71147",
                            "    - KEYS: trusted: Fix a memory leak in tpm2_load_cmd",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71151",
                            "    - cifs: Fix memory and information leak in smb3_reconfigure()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71109",
                            "    - MIPS: ftrace: Fix memory corruption when kernel is located beyond 32",
                            "      bits",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71108",
                            "    - usb: typec: ucsi: Handle incorrect num_connectors capability",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71114",
                            "    - via_wdt: fix critical boot hang due to unnamed resource allocation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68783",
                            "    - ALSA: usb-mixer: us16x08: validate meter packet indices",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68776",
                            "    - net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68773",
                            "    - spi: fsl-cpm: Check length parity before switching to 16 bit mode",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68822",
                            "    - Input: alps - fix use-after-free bugs caused by dev3_register_work",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71073",
                            "    - Input: lkkbd - disable pending work before freeing device",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68777",
                            "    - Input: ti_am335x_tsc - fix off-by-one error in wire_order validation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68806",
                            "    - ksmbd: fix buffer validation by including null terminator size in EA",
                            "      length",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71150",
                            "    - ksmbd: Fix refcount leak when invalid session is found on session lookup",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68786",
                            "    - ksmbd: skip lock-range check on equal size to avoid size==0 underflow",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71076",
                            "    - drm/xe/oa: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68802",
                            "    - drm/xe: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68789",
                            "    - hwmon: (ibmpex) fix use-after-free in high/low store",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71112",
                            "    - net: hns3: add VLAN id validation before using",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71064",
                            "    - net: hns3: using the num_tqps in the vf driver to apply for resources",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68775",
                            "    - net/handshake: duplicate handshake cancellations leak socket",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68816",
                            "    - net/mlx5: fw_tracer, Validate format string parameters",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68795",
                            "    - ethtool: Avoid overflowing userspace buffer on stats query",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71122",
                            "    - iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68815",
                            "    - net/sched: ets: Remove drr class from the active list if it changes to",
                            "      strict",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68799",
                            "    - caif: fix integer underflow in cffrml_receive()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68813",
                            "    - ipvs: fix ipv4 null-ptr-deref in route error path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68785",
                            "    - net: openvswitch: fix middle attribute validation in push_nsh() action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68770",
                            "    - bnxt_en: Fix XDP_TX path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68800",
                            "    - mlxsw: spectrum_mr: Fix use-after-free when updating multicast route",
                            "      stats",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68801",
                            "    - mlxsw: spectrum_router: Fix neighbour use-after-free",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71066",
                            "    - net/sched: ets: Always remove class from active list before deleting in",
                            "      ets_qdisc_change",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68787",
                            "    - netrom: Fix memory leak in nr_sendmsg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68809",
                            "    - ksmbd: vfs: fix race on m_flags in vfs_cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68817",
                            "    - ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68767",
                            "    - hfsplus: Verify inode mode when loading from disk",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68774",
                            "    - hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71067",
                            "    - ntfs: set dummy blocksize to read boot_block when mounting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71118",
                            "    - ACPICA: Avoid walking the Namespace if start_node is NULL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68780",
                            "    - sched/deadline: only set free_cpus for online runqueues",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68798",
                            "    - perf/x86/amd: Check event before enable to avoid GPF",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68794",
                            "    - iomap: adjust read range correctly for non-block-aligned positions",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71072",
                            "    - shmem: fix recovery on rename failures",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68351",
                            "    - exfat: fix refcount leak in exfat_find",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68736",
                            "    - landlock: Fix handling of disconnected directories",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68353",
                            "    - net: vxlan: prevent NULL deref in vxlan_xmit_one",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68745",
                            "    - scsi: qla2xxx: Clear cmds after chip reset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68365",
                            "    - fs/ntfs3: Initialize allocated memory before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68368",
                            "    - md: init bioset in mddev_init",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68725",
                            "    - bpf: Do not let BPF test infra emit invalid GSO types to stack",
                            "  * CVE-2026-23111",
                            "    - netfilter: nf_tables: fix inverted genmask check in",
                            "      nft_map_catchall_activate()",
                            "  * CVE-2026-23209",
                            "    - macvlan: fix error recovery in macvlan_common_newlink()",
                            "  * CVE-2026-23074",
                            "    - net/sched: Enforce that teql can only be used as root qdisc",
                            "  * CVE-2026-23060",
                            "    - crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN",
                            "      spec",
                            ""
                        ],
                        "package": "linux-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2143424,
                            2143428,
                            2134400,
                            2137613,
                            2141276,
                            2141377,
                            2137272,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250
                        ],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 12:01:17 +0100"
                    }
                ],
                "notes": "linux-riscv-tools-6.17.0-22 version '6.17.0-22.22.1' (source package linux-riscv version '6.17.0-22.22.1') was added. linux-riscv-tools-6.17.0-22 version '6.17.0-22.22.1' has the same source package name, linux-riscv, as removed package linux-headers-6.17.0-20-generic. As such we can use the source package version of the removed package, '6.17.0-20.20.1', as the starting point in our changelog diff. Kernel packages are an example of where the binary package name changes for the same source package. Using the removed package source package version as our starting point means we can still get meaningful changelog diffs even for what appears to be a new package.",
                "is_version_downgrade": false
            },
            {
                "name": "linux-tools-6.17.0-22-generic",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": null
                },
                "to_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-22.22.1",
                    "version": "6.17.0-22.22.1"
                },
                "cves": [
                    {
                        "cve": "CVE-2025-68791",
                        "url": "https://ubuntu.com/security/CVE-2025-68791",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68805",
                        "url": "https://ubuntu.com/security/CVE-2025-68805",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68812",
                        "url": "https://ubuntu.com/security/CVE-2025-68812",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71117",
                        "url": "https://ubuntu.com/security/CVE-2025-71117",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71070",
                        "url": "https://ubuntu.com/security/CVE-2025-71070",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71124",
                        "url": "https://ubuntu.com/security/CVE-2025-71124",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71115",
                        "url": "https://ubuntu.com/security/CVE-2025-71115",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68823",
                        "url": "https://ubuntu.com/security/CVE-2025-68823",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68793",
                        "url": "https://ubuntu.com/security/CVE-2025-68793",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68807",
                        "url": "https://ubuntu.com/security/CVE-2025-68807",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68768",
                        "url": "https://ubuntu.com/security/CVE-2025-68768",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71140",
                        "url": "https://ubuntu.com/security/CVE-2025-71140",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71156",
                        "url": "https://ubuntu.com/security/CVE-2025-71156",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2024-36347",
                        "url": "https://ubuntu.com/security/CVE-2024-36347",
                        "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-06-27 23:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71068",
                        "url": "https://ubuntu.com/security/CVE-2025-71068",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68772",
                        "url": "https://ubuntu.com/security/CVE-2025-68772",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71105",
                        "url": "https://ubuntu.com/security/CVE-2025-71105",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71130",
                        "url": "https://ubuntu.com/security/CVE-2025-71130",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71138",
                        "url": "https://ubuntu.com/security/CVE-2025-71138",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71083",
                        "url": "https://ubuntu.com/security/CVE-2025-71083",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71099",
                        "url": "https://ubuntu.com/security/CVE-2025-71099",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71079",
                        "url": "https://ubuntu.com/security/CVE-2025-71079",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71129",
                        "url": "https://ubuntu.com/security/CVE-2025-71129",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71093",
                        "url": "https://ubuntu.com/security/CVE-2025-71093",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71084",
                        "url": "https://ubuntu.com/security/CVE-2025-71084",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71096",
                        "url": "https://ubuntu.com/security/CVE-2025-71096",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71136",
                        "url": "https://ubuntu.com/security/CVE-2025-71136",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71143",
                        "url": "https://ubuntu.com/security/CVE-2025-71143",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71078",
                        "url": "https://ubuntu.com/security/CVE-2025-71078",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71089",
                        "url": "https://ubuntu.com/security/CVE-2025-71089",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71081",
                        "url": "https://ubuntu.com/security/CVE-2025-71081",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71153",
                        "url": "https://ubuntu.com/security/CVE-2025-71153",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71135",
                        "url": "https://ubuntu.com/security/CVE-2025-71135",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71157",
                        "url": "https://ubuntu.com/security/CVE-2025-71157",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71133",
                        "url": "https://ubuntu.com/security/CVE-2025-71133",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71080",
                        "url": "https://ubuntu.com/security/CVE-2025-71080",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71086",
                        "url": "https://ubuntu.com/security/CVE-2025-71086",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71097",
                        "url": "https://ubuntu.com/security/CVE-2025-71097",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71085",
                        "url": "https://ubuntu.com/security/CVE-2025-71085",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71095",
                        "url": "https://ubuntu.com/security/CVE-2025-71095",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71137",
                        "url": "https://ubuntu.com/security/CVE-2025-71137",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71101",
                        "url": "https://ubuntu.com/security/CVE-2025-71101",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71094",
                        "url": "https://ubuntu.com/security/CVE-2025-71094",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71132",
                        "url": "https://ubuntu.com/security/CVE-2025-71132",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71154",
                        "url": "https://ubuntu.com/security/CVE-2025-71154",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71091",
                        "url": "https://ubuntu.com/security/CVE-2025-71091",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71098",
                        "url": "https://ubuntu.com/security/CVE-2025-71098",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71082",
                        "url": "https://ubuntu.com/security/CVE-2025-71082",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71131",
                        "url": "https://ubuntu.com/security/CVE-2025-71131",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71087",
                        "url": "https://ubuntu.com/security/CVE-2025-71087",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71100",
                        "url": "https://ubuntu.com/security/CVE-2025-71100",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68821",
                        "url": "https://ubuntu.com/security/CVE-2025-68821",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71071",
                        "url": "https://ubuntu.com/security/CVE-2025-71071",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71111",
                        "url": "https://ubuntu.com/security/CVE-2025-71111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71113",
                        "url": "https://ubuntu.com/security/CVE-2025-71113",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71149",
                        "url": "https://ubuntu.com/security/CVE-2025-71149",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68778",
                        "url": "https://ubuntu.com/security/CVE-2025-68778",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71119",
                        "url": "https://ubuntu.com/security/CVE-2025-71119",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71120",
                        "url": "https://ubuntu.com/security/CVE-2025-71120",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68811",
                        "url": "https://ubuntu.com/security/CVE-2025-68811",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68803",
                        "url": "https://ubuntu.com/security/CVE-2025-68803",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71148",
                        "url": "https://ubuntu.com/security/CVE-2025-71148",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68788",
                        "url": "https://ubuntu.com/security/CVE-2025-68788",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71125",
                        "url": "https://ubuntu.com/security/CVE-2025-71125",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68784",
                        "url": "https://ubuntu.com/security/CVE-2025-68784",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71104",
                        "url": "https://ubuntu.com/security/CVE-2025-71104",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71116",
                        "url": "https://ubuntu.com/security/CVE-2025-71116",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71121",
                        "url": "https://ubuntu.com/security/CVE-2025-71121",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71102",
                        "url": "https://ubuntu.com/security/CVE-2025-71102",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68804",
                        "url": "https://ubuntu.com/security/CVE-2025-68804",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68771",
                        "url": "https://ubuntu.com/security/CVE-2025-68771",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68808",
                        "url": "https://ubuntu.com/security/CVE-2025-68808",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68810",
                        "url": "https://ubuntu.com/security/CVE-2025-68810",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68769",
                        "url": "https://ubuntu.com/security/CVE-2025-68769",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71069",
                        "url": "https://ubuntu.com/security/CVE-2025-71069",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68796",
                        "url": "https://ubuntu.com/security/CVE-2025-68796",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71065",
                        "url": "https://ubuntu.com/security/CVE-2025-71065",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71107",
                        "url": "https://ubuntu.com/security/CVE-2025-71107",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68782",
                        "url": "https://ubuntu.com/security/CVE-2025-68782",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71075",
                        "url": "https://ubuntu.com/security/CVE-2025-71075",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68818",
                        "url": "https://ubuntu.com/security/CVE-2025-68818",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68797",
                        "url": "https://ubuntu.com/security/CVE-2025-68797",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68781",
                        "url": "https://ubuntu.com/security/CVE-2025-68781",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68819",
                        "url": "https://ubuntu.com/security/CVE-2025-68819",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71126",
                        "url": "https://ubuntu.com/security/CVE-2025-71126",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68820",
                        "url": "https://ubuntu.com/security/CVE-2025-68820",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71123",
                        "url": "https://ubuntu.com/security/CVE-2025-71123",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71077",
                        "url": "https://ubuntu.com/security/CVE-2025-71077",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68814",
                        "url": "https://ubuntu.com/security/CVE-2025-68814",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71147",
                        "url": "https://ubuntu.com/security/CVE-2025-71147",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71151",
                        "url": "https://ubuntu.com/security/CVE-2025-71151",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71109",
                        "url": "https://ubuntu.com/security/CVE-2025-71109",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71108",
                        "url": "https://ubuntu.com/security/CVE-2025-71108",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71114",
                        "url": "https://ubuntu.com/security/CVE-2025-71114",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68783",
                        "url": "https://ubuntu.com/security/CVE-2025-68783",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68776",
                        "url": "https://ubuntu.com/security/CVE-2025-68776",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68773",
                        "url": "https://ubuntu.com/security/CVE-2025-68773",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68822",
                        "url": "https://ubuntu.com/security/CVE-2025-68822",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71073",
                        "url": "https://ubuntu.com/security/CVE-2025-71073",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68777",
                        "url": "https://ubuntu.com/security/CVE-2025-68777",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68806",
                        "url": "https://ubuntu.com/security/CVE-2025-68806",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71150",
                        "url": "https://ubuntu.com/security/CVE-2025-71150",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-23 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68786",
                        "url": "https://ubuntu.com/security/CVE-2025-68786",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71076",
                        "url": "https://ubuntu.com/security/CVE-2025-71076",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68802",
                        "url": "https://ubuntu.com/security/CVE-2025-68802",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68789",
                        "url": "https://ubuntu.com/security/CVE-2025-68789",
                        "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71112",
                        "url": "https://ubuntu.com/security/CVE-2025-71112",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71064",
                        "url": "https://ubuntu.com/security/CVE-2025-71064",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68775",
                        "url": "https://ubuntu.com/security/CVE-2025-68775",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68816",
                        "url": "https://ubuntu.com/security/CVE-2025-68816",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68795",
                        "url": "https://ubuntu.com/security/CVE-2025-68795",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71122",
                        "url": "https://ubuntu.com/security/CVE-2025-71122",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68815",
                        "url": "https://ubuntu.com/security/CVE-2025-68815",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68799",
                        "url": "https://ubuntu.com/security/CVE-2025-68799",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68813",
                        "url": "https://ubuntu.com/security/CVE-2025-68813",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68785",
                        "url": "https://ubuntu.com/security/CVE-2025-68785",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68770",
                        "url": "https://ubuntu.com/security/CVE-2025-68770",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68800",
                        "url": "https://ubuntu.com/security/CVE-2025-68800",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68801",
                        "url": "https://ubuntu.com/security/CVE-2025-68801",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71066",
                        "url": "https://ubuntu.com/security/CVE-2025-71066",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68787",
                        "url": "https://ubuntu.com/security/CVE-2025-68787",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68809",
                        "url": "https://ubuntu.com/security/CVE-2025-68809",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68817",
                        "url": "https://ubuntu.com/security/CVE-2025-68817",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68767",
                        "url": "https://ubuntu.com/security/CVE-2025-68767",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68774",
                        "url": "https://ubuntu.com/security/CVE-2025-68774",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71067",
                        "url": "https://ubuntu.com/security/CVE-2025-71067",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71118",
                        "url": "https://ubuntu.com/security/CVE-2025-71118",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-14 15:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68780",
                        "url": "https://ubuntu.com/security/CVE-2025-68780",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68798",
                        "url": "https://ubuntu.com/security/CVE-2025-68798",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68794",
                        "url": "https://ubuntu.com/security/CVE-2025-68794",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-71072",
                        "url": "https://ubuntu.com/security/CVE-2025-71072",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-01-13 16:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68351",
                        "url": "https://ubuntu.com/security/CVE-2025-68351",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68736",
                        "url": "https://ubuntu.com/security/CVE-2025-68736",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68353",
                        "url": "https://ubuntu.com/security/CVE-2025-68353",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68745",
                        "url": "https://ubuntu.com/security/CVE-2025-68745",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 13:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68365",
                        "url": "https://ubuntu.com/security/CVE-2025-68365",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68368",
                        "url": "https://ubuntu.com/security/CVE-2025-68368",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2025-68725",
                        "url": "https://ubuntu.com/security/CVE-2025-68725",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                        "cve_priority": "medium",
                        "cve_public_date": "2025-12-24 11:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23111",
                        "url": "https://ubuntu.com/security/CVE-2026-23111",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                        "cve_priority": "high",
                        "cve_public_date": "2026-02-13 14:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23209",
                        "url": "https://ubuntu.com/security/CVE-2026-23209",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-14 17:15:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23074",
                        "url": "https://ubuntu.com/security/CVE-2026-23074",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    },
                    {
                        "cve": "CVE-2026-23060",
                        "url": "https://ubuntu.com/security/CVE-2026-23060",
                        "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                        "cve_priority": "medium",
                        "cve_public_date": "2026-02-04 17:16:00 UTC"
                    }
                ],
                "launchpad_bugs_fixed": [
                    2143424,
                    2143428,
                    2134400,
                    2137613,
                    2141276,
                    2141377,
                    2137272,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250,
                    2142250
                ],
                "changes": [
                    {
                        "cves": [
                            {
                                "cve": "CVE-2025-68791",
                                "url": "https://ubuntu.com/security/CVE-2025-68791",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: missing copy_finish in fuse-over-io-uring argument copies  Fix a possible reference count leak of payload pages during fuse argument copies.  [Joanne: simplified error cleanup]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68805",
                                "url": "https://ubuntu.com/security/CVE-2025-68805",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix io-uring list corruption for terminated non-committed requests  When a request is terminated before it has been committed, the request is not removed from the queue's list. This leaves a dangling list entry that leads to list corruption and use-after-free issues.  Remove the request from the queue's list for terminated non-committed requests.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68812",
                                "url": "https://ubuntu.com/security/CVE-2025-68812",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71117",
                                "url": "https://ubuntu.com/security/CVE-2025-71117",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: Remove queue freezing from several sysfs store callbacks  Freezing the request queue from inside sysfs store callbacks may cause a deadlock in combination with the dm-multipath driver and the queue_if_no_path option. Additionally, freezing the request queue slows down system boot on systems where sysfs attributes are set synchronously.  Fix this by removing the blk_mq_freeze_queue() / blk_mq_unfreeze_queue() calls from the store callbacks that do not strictly need these callbacks. Add the __data_racy annotation to request_queue.rq_timeout to suppress KCSAN data race reports about the rq_timeout reads.  This patch may cause a small delay in applying the new settings.  For all the attributes affected by this patch, I/O will complete correctly whether the old or the new value of the attribute is used.  This patch affects the following sysfs attributes: * io_poll_delay * io_timeout * nomerges * read_ahead_kb * rq_affinity  Here is an example of a deadlock triggered by running test srp/002 if this patch is not applied:  task:multipathd Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  schedule_preempt_disabled+0x1c/0x30  __mutex_lock+0xb89/0x1650  mutex_lock_nested+0x1f/0x30  dm_table_set_restrictions+0x823/0xdf0  __bind+0x166/0x590  dm_swap_table+0x2a7/0x490  do_resume+0x1b1/0x610  dev_suspend+0x55/0x1a0  ctl_ioctl+0x3a5/0x7e0  dm_ctl_ioctl+0x12/0x20  __x64_sys_ioctl+0x127/0x1a0  x64_sys_call+0xe2b/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK> task:(udev-worker) Call Trace:  <TASK>  __schedule+0x8c1/0x1bf0  schedule+0xdd/0x270  blk_mq_freeze_queue_wait+0xf2/0x140  blk_mq_freeze_queue_nomemsave+0x23/0x30  queue_ra_store+0x14e/0x290  queue_attr_store+0x23e/0x2c0  sysfs_kf_write+0xde/0x140  kernfs_fop_write_iter+0x3b2/0x630  vfs_write+0x4fd/0x1390  ksys_write+0xfd/0x230  __x64_sys_write+0x76/0xc0  x64_sys_call+0x276/0x17d0  do_syscall_64+0x96/0x3a0  entry_SYSCALL_64_after_hwframe+0x4b/0x53  </TASK>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71070",
                                "url": "https://ubuntu.com/security/CVE-2025-71070",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: clean up user copy references on ublk server exit  If a ublk server process releases a ublk char device file, any requests dispatched to the ublk server but not yet completed will retain a ref value of UBLK_REFCOUNT_INIT. Before commit e63d2228ef83 (\"ublk: simplify aborting ublk request\"), __ublk_fail_req() would decrement the reference count before completing the failed request. However, that commit optimized __ublk_fail_req() to call __ublk_complete_rq() directly without decrementing the request reference count. The leaked reference count incorrectly allows user copy and zero copy operations on the completed ublk request. It also triggers the WARN_ON_ONCE(refcount_read(&io->ref)) warnings in ublk_queue_reinit() and ublk_deinit_queue(). Commit c5c5eb24ed61 (\"ublk: avoid ublk_io_release() called after ublk char dev is closed\") already fixed the issue for ublk devices using UBLK_F_SUPPORT_ZERO_COPY or UBLK_F_AUTO_BUF_REG. However, the reference count leak also affects UBLK_F_USER_COPY, the other reference-counted data copy mode. Fix the condition in ublk_check_and_reset_active_ref() to include all reference-counted data copy modes. This ensures that any ublk requests still owned by the ublk server when it exits have their reference counts reset to 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71124",
                                "url": "https://ubuntu.com/security/CVE-2025-71124",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/a6xx: move preempt_prepare_postamble after error check  Move the call to preempt_prepare_postamble() after verifying that preempt_postamble_ptr is valid. If preempt_postamble_ptr is NULL, dereferencing it in preempt_prepare_postamble() would lead to a crash.  This change avoids calling the preparation function when the postamble allocation has failed, preventing potential NULL pointer dereference and ensuring proper error handling.  Patchwork: https://patchwork.freedesktop.org/patch/687659/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71115",
                                "url": "https://ubuntu.com/security/CVE-2025-71115",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  um: init cpu_tasks[] earlier  This is currently done in uml_finishsetup(), but e.g. with KCOV enabled we'll crash because some init code can call into e.g. memparse(), which has coverage annotations, and then the checks in check_kcov_mode() crash because current is NULL.  Simply initialize the cpu_tasks[] array statically, which fixes the crash. For the later SMP work, it seems to have not really caused any problems yet, but initialize all of the entries anyway.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68823",
                                "url": "https://ubuntu.com/security/CVE-2025-68823",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ublk: fix deadlock when reading partition table  When one process(such as udev) opens ublk block device (e.g., to read the partition table via bdev_open()), a deadlock[1] can occur:  1. bdev_open() grabs disk->open_mutex 2. The process issues read I/O to ublk backend to read partition table 3. In __ublk_complete_rq(), blk_update_request() or blk_mq_end_request()    runs bio->bi_end_io() callbacks 4. If this triggers fput() on file descriptor of ublk block device, the    work may be deferred to current task's task work (see fput() implementation) 5. This eventually calls blkdev_release() from the same context 6. blkdev_release() tries to grab disk->open_mutex again 7. Deadlock: same task waiting for a mutex it already holds  The fix is to run blk_update_request() and blk_mq_end_request() with bottom halves disabled. This forces blkdev_release() to run in kernel work-queue context instead of current task work context, and allows ublk server to make forward progress, and avoids the deadlock.  [axboe: rewrite comment in ublk]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68793",
                                "url": "https://ubuntu.com/security/CVE-2025-68793",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/amdgpu: fix a job->pasid access race in gpu recovery  Avoid a possible UAF in GPU recovery due to a race between the sched timeout callback and the tdr work queue.  The gpu recovery function calls drm_sched_stop() and later drm_sched_start().  drm_sched_start() restarts the tdr queue which will eventually free the job.  If the tdr queue frees the job before time out callback completes, the job will be freed and we'll get a UAF when accessing the pasid.  Cache it early to avoid the UAF.  Example KASAN trace: [  493.058141] BUG: KASAN: slab-use-after-free in amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.067530] Read of size 4 at addr ffff88b0ce3f794c by task kworker/u128:1/323 [  493.074892] [  493.076485] CPU: 9 UID: 0 PID: 323 Comm: kworker/u128:1 Tainted: G           E       6.16.0-1289896.2.zuul.bf4f11df81c1410bbe901c4373305a31 #1 PREEMPT(voluntary) [  493.076493] Tainted: [E]=UNSIGNED_MODULE [  493.076495] Hardware name: TYAN B8021G88V2HR-2T/S8021GM2NR-2T, BIOS V1.03.B10 04/01/2019 [  493.076500] Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched] [  493.076512] Call Trace: [  493.076515]  <TASK> [  493.076518]  dump_stack_lvl+0x64/0x80 [  493.076529]  print_report+0xce/0x630 [  493.076536]  ? _raw_spin_lock_irqsave+0x86/0xd0 [  493.076541]  ? __pfx__raw_spin_lock_irqsave+0x10/0x10 [  493.076545]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077253]  kasan_report+0xb8/0xf0 [  493.077258]  ? amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.077965]  amdgpu_device_gpu_recover+0x968/0x990 [amdgpu] [  493.078672]  ? __pfx_amdgpu_device_gpu_recover+0x10/0x10 [amdgpu] [  493.079378]  ? amdgpu_coredump+0x1fd/0x4c0 [amdgpu] [  493.080111]  amdgpu_job_timedout+0x642/0x1400 [amdgpu] [  493.080903]  ? pick_task_fair+0x24e/0x330 [  493.080910]  ? __pfx_amdgpu_job_timedout+0x10/0x10 [amdgpu] [  493.081702]  ? _raw_spin_lock+0x75/0xc0 [  493.081708]  ? __pfx__raw_spin_lock+0x10/0x10 [  493.081712]  drm_sched_job_timedout+0x1b0/0x4b0 [gpu_sched] [  493.081721]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081725]  process_one_work+0x679/0xff0 [  493.081732]  worker_thread+0x6ce/0xfd0 [  493.081736]  ? __pfx_worker_thread+0x10/0x10 [  493.081739]  kthread+0x376/0x730 [  493.081744]  ? __pfx_kthread+0x10/0x10 [  493.081748]  ? __pfx__raw_spin_lock_irq+0x10/0x10 [  493.081751]  ? __pfx_kthread+0x10/0x10 [  493.081755]  ret_from_fork+0x247/0x330 [  493.081761]  ? __pfx_kthread+0x10/0x10 [  493.081764]  ret_from_fork_asm+0x1a/0x30 [  493.081771]  </TASK>  (cherry picked from commit 20880a3fd5dd7bca1a079534cf6596bda92e107d)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68807",
                                "url": "https://ubuntu.com/security/CVE-2025-68807",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  block: fix race between wbt_enable_default and IO submission  When wbt_enable_default() is moved out of queue freezing in elevator_change(), it can cause the wbt inflight counter to become negative (-1), leading to hung tasks in the writeback path. Tasks get stuck in wbt_wait() because the counter is in an inconsistent state.  The issue occurs because wbt_enable_default() could race with IO submission, allowing the counter to be decremented before proper initialization. This manifests as:    rq_wait[0]:     inflight:             -1     has_waiters:        True  rwb_enabled() checks the state, which can be updated exactly between wbt_wait() (rq_qos_throttle()) and wbt_track()(rq_qos_track()), then the inflight counter will become negative.  And results in hung task warnings like:   task:kworker/u24:39 state:D stack:0 pid:14767   Call Trace:     rq_qos_wait+0xb4/0x150     wbt_wait+0xa9/0x100     __rq_qos_throttle+0x24/0x40     blk_mq_submit_bio+0x672/0x7b0     ...  Fix this by:  1. Splitting wbt_enable_default() into:    - __wbt_enable_default(): Returns true if wbt_init() should be called    - wbt_enable_default(): Wrapper for existing callers (no init)    - wbt_init_enable_default(): New function that checks and inits WBT  2. Using wbt_init_enable_default() in blk_register_queue() to ensure    proper initialization during queue registration  3. Move wbt_init() out of wbt_enable_default() which is only for enabling    disabled wbt from bfq and iocost, and wbt_init() isn't needed. Then the    original lock warning can be avoided.  4. Removing the ELEVATOR_FLAG_ENABLE_WBT_ON_EXIT flag and its handling    code since it's no longer needed  This ensures WBT is properly initialized before any IO can be submitted, preventing the counter from going negative.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68768",
                                "url": "https://ubuntu.com/security/CVE-2025-68768",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  inet: frags: flush pending skbs in fqdir_pre_exit()  We have been seeing occasional deadlocks on pernet_ops_rwsem since September in NIPA. The stuck task was usually modprobe (often loading a driver like ipvlan), trying to take the lock as a Writer. lockdep does not track readers for rwsems so the read wasn't obvious from the reports.  On closer inspection the Reader holding the lock was conntrack looping forever in nf_conntrack_cleanup_net_list(). Based on past experience with occasional NIPA crashes I looked thru the tests which run before the crash and noticed that the crash follows ip_defrag.sh. An immediate red flag. Scouring thru (de)fragmentation queues reveals skbs sitting around, holding conntrack references.  The problem is that since conntrack depends on nf_defrag_ipv6, nf_defrag_ipv6 will load first. Since nf_defrag_ipv6 loads first its netns exit hooks run _after_ conntrack's netns exit hook.  Flush all fragment queue SKBs during fqdir_pre_exit() to release conntrack references before conntrack cleanup runs. Also flush the queues in timer expiry handlers when they discover fqdir->dead is set, in case packet sneaks in while we're running the pre_exit flush.  The commit under Fixes is not exactly the culprit, but I think previously the timer firing would eventually unblock the spinning conntrack.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71140",
                                "url": "https://ubuntu.com/security/CVE-2025-71140",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: mediatek: vcodec: Use spinlock for context list protection lock  Previously a mutex was added to protect the encoder and decoder context lists from unexpected changes originating from the SCP IP block, causing the context pointer to go invalid, resulting in a NULL pointer dereference in the IPI handler.  Turns out on the MT8173, the VPU IPI handler is called from hard IRQ context. This causes a big warning from the scheduler. This was first reported downstream on the ChromeOS kernels, but is also reproducible on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though the actual capture format is not supported, the affected code paths are triggered.  Since this lock just protects the context list and operations on it are very fast, it should be OK to switch to a spinlock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71156",
                                "url": "https://ubuntu.com/security/CVE-2025-71156",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  gve: defer interrupt enabling until NAPI registration  Currently, interrupts are automatically enabled immediately upon request. This allows interrupt to fire before the associated NAPI context is fully initialized and cause failures like below:  [    0.946369] Call Trace: [    0.946369]  <IRQ> [    0.946369]  __napi_poll+0x2a/0x1e0 [    0.946369]  net_rx_action+0x2f9/0x3f0 [    0.946369]  handle_softirqs+0xd6/0x2c0 [    0.946369]  ? handle_edge_irq+0xc1/0x1b0 [    0.946369]  __irq_exit_rcu+0xc3/0xe0 [    0.946369]  common_interrupt+0x81/0xa0 [    0.946369]  </IRQ> [    0.946369]  <TASK> [    0.946369]  asm_common_interrupt+0x22/0x40 [    0.946369] RIP: 0010:pv_native_safe_halt+0xb/0x10  Use the `IRQF_NO_AUTOEN` flag when requesting interrupts to prevent auto enablement and explicitly enable the interrupt in NAPI initialization path (and disable it during NAPI teardown).  This ensures that interrupt lifecycle is strictly coupled with readiness of NAPI context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2024-36347",
                                "url": "https://ubuntu.com/security/CVE-2024-36347",
                                "cve_description": "Improper signature verification in AMD CPU ROM microcode patch loader may allow an attacker with local administrator privilege to load malicious microcode, potentially resulting in loss of integrity of x86 instruction execution, loss of confidentiality and integrity of data in x86 CPU privileged context and compromise of SMM execution environment.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-06-27 23:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71068",
                                "url": "https://ubuntu.com/security/CVE-2025-71068",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: bound check rq_pages index in inline path  svc_rdma_copy_inline_range indexed rqstp->rq_pages[rc_curpage] without verifying rc_curpage stays within the allocated page array. Add guards before the first use and after advancing to a new page.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68772",
                                "url": "https://ubuntu.com/security/CVE-2025-68772",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating compression context during writeback  Bai, Shuangpeng <sjb7183@psu.edu> reported a bug as below:  Oops: divide error: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 11441 Comm: syz.0.46 Not tainted 6.17.0 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:f2fs_all_cluster_page_ready+0x106/0x550 fs/f2fs/compress.c:857 Call Trace:  <TASK>  f2fs_write_cache_pages fs/f2fs/data.c:3078 [inline]  __f2fs_write_data_pages fs/f2fs/data.c:3290 [inline]  f2fs_write_data_pages+0x1c19/0x3600 fs/f2fs/data.c:3317  do_writepages+0x38e/0x640 mm/page-writeback.c:2634  filemap_fdatawrite_wbc mm/filemap.c:386 [inline]  __filemap_fdatawrite_range mm/filemap.c:419 [inline]  file_write_and_wait_range+0x2ba/0x3e0 mm/filemap.c:794  f2fs_do_sync_file+0x6e6/0x1b00 fs/f2fs/file.c:294  generic_write_sync include/linux/fs.h:3043 [inline]  f2fs_file_write_iter+0x76e/0x2700 fs/f2fs/file.c:5259  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x7e9/0xe00 fs/read_write.c:686  ksys_write+0x19d/0x2d0 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xf7/0x470 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The bug was triggered w/ below race condition:  fsync\t\t\t\tsetattr\t\t\tioctl - f2fs_do_sync_file  - file_write_and_wait_range   - f2fs_write_cache_pages   : inode is non-compressed   : cc.cluster_size =     F2FS_I(inode)->i_cluster_size = 0    - tag_pages_for_writeback \t\t\t\t- f2fs_setattr \t\t\t\t - truncate_setsize \t\t\t\t - f2fs_truncate \t\t\t\t\t\t\t- f2fs_fileattr_set \t\t\t\t\t\t\t - f2fs_setflags_common \t\t\t\t\t\t\t  - set_compress_context \t\t\t\t\t\t\t  : F2FS_I(inode)->i_cluster_size = 4 \t\t\t\t\t\t\t  : set_inode_flag(inode, FI_COMPRESSED_FILE)    - f2fs_compressed_file    : return true    - f2fs_all_cluster_page_ready    : \"pgidx % cc->cluster_size\" trigger dividing 0 issue  Let's change as below to fix this issue: - introduce a new atomic type variable .writeback in structure f2fs_inode_info to track the number of threads which calling f2fs_write_cache_pages(). - use .i_sem lock to protect .writeback update. - check .writeback before update compression context in f2fs_setflags_common() to avoid race w/ ->writepages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71105",
                                "url": "https://ubuntu.com/security/CVE-2025-71105",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: use global inline_xattr_slab instead of per-sb slab cache  As Hong Yun reported in mailing list:  loop7: detected capacity change from 0 to 131072 ------------[ cut here ]------------ kmem_cache of name 'f2fs_xattr_entry-7:7' already exists WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 kmem_cache_sanity_check mm/slab_common.c:109 [inline] WARNING: CPU: 0 PID: 24426 at mm/slab_common.c:110 __kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 CPU: 0 UID: 0 PID: 24426 Comm: syz.7.1370 Not tainted 6.17.0-rc4 #1 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:kmem_cache_sanity_check mm/slab_common.c:109 [inline] RIP: 0010:__kmem_cache_create_args+0xa6/0x320 mm/slab_common.c:307 Call Trace:  __kmem_cache_create include/linux/slab.h:353 [inline]  f2fs_kmem_cache_create fs/f2fs/f2fs.h:2943 [inline]  f2fs_init_xattr_caches+0xa5/0xe0 fs/f2fs/xattr.c:843  f2fs_fill_super+0x1645/0x2620 fs/f2fs/super.c:4918  get_tree_bdev_flags+0x1fb/0x260 fs/super.c:1692  vfs_get_tree+0x43/0x140 fs/super.c:1815  do_new_mount+0x201/0x550 fs/namespace.c:3808  do_mount fs/namespace.c:4136 [inline]  __do_sys_mount fs/namespace.c:4347 [inline]  __se_sys_mount+0x298/0x2f0 fs/namespace.c:4324  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0x8e/0x3a0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x76/0x7e  The bug can be reproduced w/ below scripts: - mount /dev/vdb /mnt1 - mount /dev/vdc /mnt2 - umount /mnt1 - mounnt /dev/vdb /mnt1  The reason is if we created two slab caches, named f2fs_xattr_entry-7:3 and f2fs_xattr_entry-7:7, and they have the same slab size. Actually, slab system will only create one slab cache core structure which has slab name of \"f2fs_xattr_entry-7:3\", and two slab caches share the same structure and cache address.  So, if we destroy f2fs_xattr_entry-7:3 cache w/ cache address, it will decrease reference count of slab cache, rather than release slab cache entirely, since there is one more user has referenced the cache.  Then, if we try to create slab cache w/ name \"f2fs_xattr_entry-7:3\" again, slab system will find that there is existed cache which has the same name and trigger the warning.  Let's changes to use global inline_xattr_slab instead of per-sb slab cache for fixing.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71130",
                                "url": "https://ubuntu.com/security/CVE-2025-71130",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer  Initialize the eb.vma array with values of 0 when the eb structure is first set up. In particular, this sets the eb->vma[i].vma pointers to NULL, simplifying cleanup and getting rid of the bug described below.  During the execution of eb_lookup_vmas(), the eb->vma array is successively filled up with struct eb_vma objects. This process includes calling eb_add_vma(), which might fail; however, even in the event of failure, eb->vma[i].vma is set for the currently processed buffer.  If eb_add_vma() fails, eb_lookup_vmas() returns with an error, which prompts a call to eb_release_vmas() to clean up the mess. Since eb_lookup_vmas() might fail during processing any (possibly not first) buffer, eb_release_vmas() checks whether a buffer's vma is NULL to know at what point did the lookup function fail.  In eb_lookup_vmas(), eb->vma[i].vma is set to NULL if either the helper function eb_lookup_vma() or eb_validate_vma() fails. eb->vma[i+1].vma is set to NULL in case i915_gem_object_userptr_submit_init() fails; the current one needs to be cleaned up by eb_release_vmas() at this point, so the next one is set. If eb_add_vma() fails, neither the current nor the next vma is set to NULL, which is a source of a NULL deref bug described in the issue linked in the Closes tag.  When entering eb_lookup_vmas(), the vma pointers are set to the slab poison value, instead of NULL. This doesn't matter for the actual lookup, since it gets overwritten anyway, however the eb_release_vmas() function only recognizes NULL as the stopping value, hence the pointers are being set to NULL as they go in case of intermediate failure. This patch changes the approach to filling them all with NULL at the start instead, rather than handling that manually during failure.  (cherry picked from commit 08889b706d4f0b8d2352b7ca29c2d8df4d0787cd)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71138",
                                "url": "https://ubuntu.com/security/CVE-2025-71138",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/msm/dpu: Add missing NULL pointer check for pingpong interface  It is checked almost always in dpu_encoder_phys_wb_setup_ctl(), but in a single place the check is missing. Also use convenient locals instead of phys_enc->* where available.  Patchwork: https://patchwork.freedesktop.org/patch/693860/",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71083",
                                "url": "https://ubuntu.com/security/CVE-2025-71083",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/ttm: Avoid NULL pointer deref for evicted BOs  It is possible for a BO to exist that is not currently associated with a resource, e.g. because it has been evicted.  When devcoredump tries to read the contents of all BOs for dumping, we need to expect this as well -- in this case, ENODATA is recorded instead of the buffer contents.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71099",
                                "url": "https://ubuntu.com/security/CVE-2025-71099",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()  In xe_oa_add_config_ioctl(), we accessed oa_config->id after dropping metrics_lock. Since this lock protects the lifetime of oa_config, an attacker could guess the id and call xe_oa_remove_config_ioctl() with perfect timing, freeing oa_config before we dereference it, leading to a potential use-after-free.  Fix this by caching the id in a local variable while holding the lock.  v2: (Matt A) - Dropped mutex_unlock(&oa->metrics_lock) ordering change from   xe_oa_remove_config_ioctl()  (cherry picked from commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71079",
                                "url": "https://ubuntu.com/security/CVE-2025-71079",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write  A deadlock can occur between nfc_unregister_device() and rfkill_fop_write() due to lock ordering inversion between device_lock and rfkill_global_mutex.  The problematic lock order is:  Thread A (rfkill_fop_write):   rfkill_fop_write()     mutex_lock(&rfkill_global_mutex)       rfkill_set_block()         nfc_rfkill_set_block()           nfc_dev_down()             device_lock(&dev->dev)    <- waits for device_lock  Thread B (nfc_unregister_device):   nfc_unregister_device()     device_lock(&dev->dev)       rfkill_unregister()         mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex  This creates a classic ABBA deadlock scenario.  Fix this by moving rfkill_unregister() and rfkill_destroy() outside the device_lock critical section. Store the rfkill pointer in a local variable before releasing the lock, then call rfkill_unregister() after releasing device_lock.  This change is safe because rfkill_fop_write() holds rfkill_global_mutex while calling the rfkill callbacks, and rfkill_unregister() also acquires rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will wait for any ongoing callback to complete before proceeding, and device_del() is only called after rfkill_unregister() returns, preventing any use-after-free.  The similar lock ordering in nfc_register_device() (device_lock -> rfkill_global_mutex via rfkill_register) is safe because during registration the device is not yet in rfkill_list, so no concurrent rfkill operations can occur on this device.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71129",
                                "url": "https://ubuntu.com/security/CVE-2025-71129",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  LoongArch: BPF: Sign extend kfunc call arguments  The kfunc calls are native calls so they should follow LoongArch calling conventions. Sign extend its arguments properly to avoid kernel panic. This is done by adding a new emit_abi_ext() helper. The emit_abi_ext() helper performs extension in place meaning a value already store in the target register (Note: this is different from the existing sign_extend() helper and thus we can't reuse it).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71093",
                                "url": "https://ubuntu.com/security/CVE-2025-71093",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  e1000: fix OOB in e1000_tbi_should_accept()  In e1000_tbi_should_accept() we read the last byte of the frame via 'data[length - 1]' to evaluate the TBI workaround. If the descriptor- reported length is zero or larger than the actual RX buffer size, this read goes out of bounds and can hit unrelated slab objects. The issue is observed from the NAPI receive path (e1000_clean_rx_irq):  ================================================================== BUG: KASAN: slab-out-of-bounds in e1000_tbi_should_accept+0x610/0x790 Read of size 1 at addr ffff888014114e54 by task sshd/363  CPU: 0 PID: 363 Comm: sshd Not tainted 5.18.0-rc1 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014 Call Trace:  <IRQ>  dump_stack_lvl+0x5a/0x74  print_address_description+0x7b/0x440  print_report+0x101/0x200  kasan_report+0xc1/0xf0  e1000_tbi_should_accept+0x610/0x790  e1000_clean_rx_irq+0xa8c/0x1110  e1000_clean+0xde2/0x3c10  __napi_poll+0x98/0x380  net_rx_action+0x491/0xa20  __do_softirq+0x2c9/0x61d  do_softirq+0xd1/0x120  </IRQ>  <TASK>  __local_bh_enable_ip+0xfe/0x130  ip_finish_output2+0x7d5/0xb00  __ip_queue_xmit+0xe24/0x1ab0  __tcp_transmit_skb+0x1bcb/0x3340  tcp_write_xmit+0x175d/0x6bd0  __tcp_push_pending_frames+0x7b/0x280  tcp_sendmsg_locked+0x2e4f/0x32d0  tcp_sendmsg+0x24/0x40  sock_write_iter+0x322/0x430  vfs_write+0x56c/0xa60  ksys_write+0xd1/0x190  do_syscall_64+0x43/0x90  entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f511b476b10 Code: 73 01 c3 48 8b 0d 88 d3 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 0f 1f 44 00 00 83 3d f9 2b 2c 00 00 75 10 b8 01 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 31 c3 48 83 ec 08 e8 8e 9b 01 00 48 89 04 24 RSP: 002b:00007ffc9211d4e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000004024 RCX: 00007f511b476b10 RDX: 0000000000004024 RSI: 0000559a9385962c RDI: 0000000000000003 RBP: 0000559a9383a400 R08: fffffffffffffff0 R09: 0000000000004f00 R10: 0000000000000070 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc9211d57f R14: 0000559a9347bde7 R15: 0000000000000003  </TASK> Allocated by task 1:  __kasan_krealloc+0x131/0x1c0  krealloc+0x90/0xc0  add_sysfs_param+0xcb/0x8a0  kernel_add_sysfs_param+0x81/0xd4  param_sysfs_builtin+0x138/0x1a6  param_sysfs_init+0x57/0x5b  do_one_initcall+0x104/0x250  do_initcall_level+0x102/0x132  do_initcalls+0x46/0x74  kernel_init_freeable+0x28f/0x393  kernel_init+0x14/0x1a0  ret_from_fork+0x22/0x30 The buggy address belongs to the object at ffff888014114000  which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1620 bytes to the right of  2048-byte region [ffff888014114000, ffff888014114800] The buggy address belongs to the physical page: page:ffffea0000504400 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14110 head:ffffea0000504400 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x100000000010200(slab|head|node=0|zone=1) raw: 0100000000010200 0000000000000000 dead000000000001 ffff888013442000 raw: 0000000000000000 0000000000080008 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected ==================================================================  This happens because the TBI check unconditionally dereferences the last byte without validating the reported length first:  \tu8 last_byte = *(data + length - 1);  Fix by rejecting the frame early if the length is zero, or if it exceeds adapter->rx_buffer_len. This preserves the TBI workaround semantics for valid frames and prevents touching memory beyond the RX buffer.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71084",
                                "url": "https://ubuntu.com/security/CVE-2025-71084",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/cm: Fix leaking the multicast GID table reference  If the CM ID is destroyed while the CM event for multicast creating is still queued the cancel_work_sync() will prevent the work from running which also prevents destroying the ah_attr. This leaks a refcount and triggers a WARN:     GID entry ref leak for dev syz1 index 2 ref=573    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 release_gid_table drivers/infiniband/core/cache.c:806 [inline]    WARNING: CPU: 1 PID: 655 at drivers/infiniband/core/cache.c:809 gid_table_release_one+0x284/0x3cc drivers/infiniband/core/cache.c:886  Destroy the ah_attr after canceling the work, it is safe to call this twice.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71096",
                                "url": "https://ubuntu.com/security/CVE-2025-71096",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly  The netlink response for RDMA_NL_LS_OP_IP_RESOLVE should always have a LS_NLA_TYPE_DGID attribute, it is invalid if it does not.  Use the nl parsing logic properly and call nla_parse_deprecated() to fill the nlattrs array and then directly index that array to get the data for the DGID. Just fail if it is NULL.  Remove the for loop searching for the nla, and squash the validation and parsing into one function.  Fixes an uninitialized read from the stack triggered by userspace if it does not provide the DGID to a kernel initiated RDMA_NL_LS_OP_IP_RESOLVE query.      BUG: KMSAN: uninit-value in hex_byte_pack include/linux/hex.h:13 [inline]     BUG: KMSAN: uninit-value in ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      hex_byte_pack include/linux/hex.h:13 [inline]      ip6_string+0xef4/0x13a0 lib/vsprintf.c:1490      ip6_addr_string+0x18a/0x3e0 lib/vsprintf.c:1509      ip_addr_string+0x245/0xee0 lib/vsprintf.c:1633      pointer+0xc09/0x1bd0 lib/vsprintf.c:2542      vsnprintf+0xf8a/0x1bd0 lib/vsprintf.c:2930      vprintk_store+0x3ae/0x1530 kernel/printk/printk.c:2279      vprintk_emit+0x307/0xcd0 kernel/printk/printk.c:2426      vprintk_default+0x3f/0x50 kernel/printk/printk.c:2465      vprintk+0x36/0x50 kernel/printk/printk_safe.c:82      _printk+0x17e/0x1b0 kernel/printk/printk.c:2475      ib_nl_process_good_ip_rsep drivers/infiniband/core/addr.c:128 [inline]      ib_nl_handle_ip_res_resp+0x963/0x9d0 drivers/infiniband/core/addr.c:141      rdma_nl_rcv_msg drivers/infiniband/core/netlink.c:-1 [inline]      rdma_nl_rcv_skb drivers/infiniband/core/netlink.c:239 [inline]      rdma_nl_rcv+0xefa/0x11c0 drivers/infiniband/core/netlink.c:259      netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]      netlink_unicast+0xf04/0x12b0 net/netlink/af_netlink.c:1346      netlink_sendmsg+0x10b3/0x1250 net/netlink/af_netlink.c:1896      sock_sendmsg_nosec net/socket.c:714 [inline]      __sock_sendmsg+0x333/0x3d0 net/socket.c:729      ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2617      ___sys_sendmsg+0x271/0x3b0 net/socket.c:2671      __sys_sendmsg+0x1aa/0x300 net/socket.c:2703      __compat_sys_sendmsg net/compat.c:346 [inline]      __do_compat_sys_sendmsg net/compat.c:353 [inline]      __se_compat_sys_sendmsg net/compat.c:350 [inline]      __ia32_compat_sys_sendmsg+0xa4/0x100 net/compat.c:350      ia32_sys_call+0x3f6c/0x4310 arch/x86/include/generated/asm/syscalls_32.h:371      do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]      __do_fast_syscall_32+0xb0/0x150 arch/x86/entry/syscall_32.c:306      do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331      do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:3",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71136",
                                "url": "https://ubuntu.com/security/CVE-2025-71136",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()  It's possible for cp_read() and hdmi_read() to return -EIO. Those values are further used as indexes for accessing arrays.  Fix that by checking return values where it's needed.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71143",
                                "url": "https://ubuntu.com/security/CVE-2025-71143",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  clk: samsung: exynos-clkout: Assign .num before accessing .hws  Commit f316cdff8d67 (\"clk: Annotate struct clk_hw_onecell_data with __counted_by\") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in exynos_clkout_probe() due to .num being assigned after .hws[] has been accessed:    UBSAN: array-index-out-of-bounds in drivers/clk/samsung/clk-exynos-clkout.c:178:18   index 0 is out of range for type 'clk_hw *[*]'  Move the .num initialization to before the first access of .hws[], clearing up the warning.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71078",
                                "url": "https://ubuntu.com/security/CVE-2025-71078",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/64s/slb: Fix SLB multihit issue during SLB preload  On systems using the hash MMU, there is a software SLB preload cache that mirrors the entries loaded into the hardware SLB buffer. This preload cache is subject to periodic eviction — typically after every 256 context switches — to remove old entry.  To optimize performance, the kernel skips switch_mmu_context() in switch_mm_irqs_off() when the prev and next mm_struct are the same. However, on hash MMU systems, this can lead to inconsistencies between the hardware SLB and the software preload cache.  If an SLB entry for a process is evicted from the software cache on one CPU, and the same process later runs on another CPU without executing switch_mmu_context(), the hardware SLB may retain stale entries. If the kernel then attempts to reload that entry, it can trigger an SLB multi-hit error.  The following timeline shows how stale SLB entries are created and can cause a multi-hit error when a process moves between CPUs without a MMU context switch.  CPU 0                                   CPU 1 -----                                    ----- Process P exec                                    swapper/1  load_elf_binary   begin_new_exc     activate_mm      switch_mm_irqs_off       switch_mmu_context        switch_slb        /*         * This invalidates all         * the entries in the HW         * and setup the new HW         * SLB entries as per the         * preload cache.         */ context_switch sched_migrate_task migrates process P to cpu-1  Process swapper/0                       context switch (to process P) (uses mm_struct of Process P)           switch_mm_irqs_off()                                          switch_slb                                            load_slb++                                             /*                                             * load_slb becomes 0 here                                             * and we evict an entry from                                             * the preload cache with                                             * preload_age(). We still                                             * keep HW SLB and preload                                             * cache in sync, that is                                             * because all HW SLB entries                                             * anyways gets evicted in                                             * switch_slb during SLBIA.                                             * We then only add those                                             * entries back in HW SLB,                                             * which are currently                                             * present in preload_cache                                             * (after eviction).                                             */                                         load_elf_binary continues...                                          setup_new_exec()                                           slb_setup_new_exec()                                          sched_switch event                                         sched_migrate_task migrates                                         process P to cpu-0  context_switch from swapper/0 to Process P  switch_mm_irqs_off()   /*    * Since both prev and next mm struct are same we don't call    * switch_mmu_context(). This will cause the HW SLB and SW preload    * cache to go out of sync in preload_new_slb_context. Because there    * was an SLB entry which was evicted from both HW and preload cache    * on cpu-1. Now later in preload_new_slb_context(), when we will try    * to add the same preload entry again, we will add this to the SW    * preload cache and then will add it to the HW SLB. Since on cpu-0    * this entry was never invalidated, hence adding this entry to the HW    * SLB will cause a SLB multi-hit error.    */ load_elf_binary cont ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71089",
                                "url": "https://ubuntu.com/security/CVE-2025-71089",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu: disable SVA when CONFIG_X86 is set  Patch series \"Fix stale IOTLB entries for kernel address space\", v7.  This proposes a fix for a security vulnerability related to IOMMU Shared Virtual Addressing (SVA).  In an SVA context, an IOMMU can cache kernel page table entries.  When a kernel page table page is freed and reallocated for another purpose, the IOMMU might still hold stale, incorrect entries.  This can be exploited to cause a use-after-free or write-after-free condition, potentially leading to privilege escalation or data corruption.  This solution introduces a deferred freeing mechanism for kernel page table pages, which provides a safe window to notify the IOMMU to invalidate its caches before the page is reused.   This patch (of 8):  In the IOMMU Shared Virtual Addressing (SVA) context, the IOMMU hardware shares and walks the CPU's page tables.  The x86 architecture maps the kernel's virtual address space into the upper portion of every process's page table.  Consequently, in an SVA context, the IOMMU hardware can walk and cache kernel page table entries.  The Linux kernel currently lacks a notification mechanism for kernel page table changes, specifically when page table pages are freed and reused. The IOMMU driver is only notified of changes to user virtual address mappings.  This can cause the IOMMU's internal caches to retain stale entries for kernel VA.  Use-After-Free (UAF) and Write-After-Free (WAF) conditions arise when kernel page table pages are freed and later reallocated.  The IOMMU could misinterpret the new data as valid page table entries.  The IOMMU might then walk into attacker-controlled memory, leading to arbitrary physical memory DMA access or privilege escalation.  This is also a Write-After-Free issue, as the IOMMU will potentially continue to write Accessed and Dirty bits to the freed memory while attempting to walk the stale page tables.  Currently, SVA contexts are unprivileged and cannot access kernel mappings.  However, the IOMMU will still walk kernel-only page tables all the way down to the leaf entries, where it realizes the mapping is for the kernel and errors out.  This means the IOMMU still caches these intermediate page table entries, making the described vulnerability a real concern.  Disable SVA on x86 architecture until the IOMMU can receive notification to flush the paging cache before freeing the CPU kernel page table pages.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71081",
                                "url": "https://ubuntu.com/security/CVE-2025-71081",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ASoC: stm32: sai: fix OF node leak on probe  The reference taken to the sync provider OF node when probing the platform device is currently only dropped if the set_sync() callback fails during DAI probe.  Make sure to drop the reference on platform probe failures (e.g. probe deferral) and on driver unbind.  This also avoids a potential use-after-free in case the DAI is ever reprobed without first rebinding the platform driver.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71153",
                                "url": "https://ubuntu.com/security/CVE-2025-71153",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix memory leak in get_file_all_info()  In get_file_all_info(), if vfs_getattr() fails, the function returns immediately without freeing the allocated filename, leading to a memory leak.  Fix this by freeing the filename before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71135",
                                "url": "https://ubuntu.com/security/CVE-2025-71135",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md/raid5: fix possible null-pointer dereferences in raid5_store_group_thread_cnt()  The variable mddev->private is first assigned to conf and then checked:    conf = mddev->private;   if (!conf) ...  If conf is NULL, then mddev->private is also NULL. In this case, null-pointer dereferences can occur when calling raid5_quiesce():    raid5_quiesce(mddev, true);   raid5_quiesce(mddev, false);  since mddev->private is assigned to conf again in raid5_quiesce(), and conf is dereferenced in several places, for example:    conf->quiesce = 0;   wake_up(&conf->wait_for_quiescent);  To fix this issue, the function should unlock mddev and return before invoking raid5_quiesce() when conf is NULL, following the existing pattern in raid5_change_consistency_policy().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71157",
                                "url": "https://ubuntu.com/security/CVE-2025-71157",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/core: always drop device refcount in ib_del_sub_device_and_put()  Since nldev_deldev() (introduced by commit 060c642b2ab8 (\"RDMA/nldev: Add support to add/delete a sub IB device through netlink\") grabs a reference using ib_device_get_by_index() before calling ib_del_sub_device_and_put(), we need to drop that reference before returning -EOPNOTSUPP error.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71133",
                                "url": "https://ubuntu.com/security/CVE-2025-71133",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  RDMA/irdma: avoid invalid read in irdma_net_event  irdma_net_event() should not dereference anything from \"neigh\" (alias \"ptr\") until it has checked that the event is NETEVENT_NEIGH_UPDATE. Other events come with different structures pointed to by \"ptr\" and they may be smaller than struct neighbour.  Move the read of neigh->dev under the NETEVENT_NEIGH_UPDATE case.  The bug is mostly harmless, but it triggers KASAN on debug kernels:   BUG: KASAN: stack-out-of-bounds in irdma_net_event+0x32e/0x3b0 [irdma]  Read of size 8 at addr ffffc900075e07f0 by task kworker/27:2/542554   CPU: 27 PID: 542554 Comm: kworker/27:2 Kdump: loaded Not tainted 5.14.0-630.el9.x86_64+debug #1  Hardware name: [...]  Workqueue: events rt6_probe_deferred  Call Trace:   <IRQ>   dump_stack_lvl+0x60/0xb0   print_address_description.constprop.0+0x2c/0x3f0   print_report+0xb4/0x270   kasan_report+0x92/0xc0   irdma_net_event+0x32e/0x3b0 [irdma]   notifier_call_chain+0x9e/0x180   atomic_notifier_call_chain+0x5c/0x110   rt6_do_redirect+0xb91/0x1080   tcp_v6_err+0xe9b/0x13e0   icmpv6_notify+0x2b2/0x630   ndisc_redirect_rcv+0x328/0x530   icmpv6_rcv+0xc16/0x1360   ip6_protocol_deliver_rcu+0xb84/0x12e0   ip6_input_finish+0x117/0x240   ip6_input+0xc4/0x370   ipv6_rcv+0x420/0x7d0   __netif_receive_skb_one_core+0x118/0x1b0   process_backlog+0xd1/0x5d0   __napi_poll.constprop.0+0xa3/0x440   net_rx_action+0x78a/0xba0   handle_softirqs+0x2d4/0x9c0   do_softirq+0xad/0xe0   </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71080",
                                "url": "https://ubuntu.com/security/CVE-2025-71080",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT  On PREEMPT_RT kernels, after rt6_get_pcpu_route() returns NULL, the current task can be preempted. Another task running on the same CPU may then execute rt6_make_pcpu_route() and successfully install a pcpu_rt entry. When the first task resumes execution, its cmpxchg() in rt6_make_pcpu_route() will fail because rt6i_pcpu is no longer NULL, triggering the BUG_ON(prev). It's easy to reproduce it by adding mdelay() after rt6_get_pcpu_route().  Using preempt_disable/enable is not appropriate here because ip6_rt_pcpu_alloc() may sleep.  Fix this by handling the cmpxchg() failure gracefully on PREEMPT_RT: free our allocation and return the existing pcpu_rt installed by another task. The BUG_ON is replaced by WARN_ON_ONCE for non-PREEMPT_RT kernels where such races should not occur.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71086",
                                "url": "https://ubuntu.com/security/CVE-2025-71086",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: rose: fix invalid array index in rose_kill_by_device()  rose_kill_by_device() collects sockets into a local array[] and then iterates over them to disconnect sockets bound to a device being brought down.  The loop mistakenly indexes array[cnt] instead of array[i]. For cnt < ARRAY_SIZE(array), this reads an uninitialized entry; for cnt == ARRAY_SIZE(array), it is an out-of-bounds read. Either case can lead to an invalid socket pointer dereference and also leaks references taken via sock_hold().  Fix the index to use i.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71097",
                                "url": "https://ubuntu.com/security/CVE-2025-71097",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv4: Fix reference count leak when using error routes with nexthop objects  When a nexthop object is deleted, it is marked as dead and then fib_table_flush() is called to flush all the routes that are using the dead nexthop.  The current logic in fib_table_flush() is to only flush error routes (e.g., blackhole) when it is called as part of network namespace dismantle (i.e., with flush_all=true). Therefore, error routes are not flushed when their nexthop object is deleted:   # ip link add name dummy1 up type dummy  # ip nexthop add id 1 dev dummy1  # ip route add 198.51.100.1/32 nhid 1  # ip route add blackhole 198.51.100.2/32 nhid 1  # ip nexthop del id 1  # ip route show  blackhole 198.51.100.2 nhid 1 dev dummy1  As such, they keep holding a reference on the nexthop object which in turn holds a reference on the nexthop device, resulting in a reference count leak:   # ip link del dev dummy1  [   70.516258] unregister_netdevice: waiting for dummy1 to become free. Usage count = 2  Fix by flushing error routes when their nexthop is marked as dead.  IPv6 does not suffer from this problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71085",
                                "url": "https://ubuntu.com/security/CVE-2025-71085",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()  There exists a kernel oops caused by a BUG_ON(nhead < 0) at net/core/skbuff.c:2232 in pskb_expand_head(). This bug is triggered as part of the calipso_skbuff_setattr() routine when skb_cow() is passed headroom > INT_MAX (i.e. (int)(skb_headroom(skb) + len_delta) < 0).  The root cause of the bug is due to an implicit integer cast in __skb_cow(). The check (headroom > skb_headroom(skb)) is meant to ensure that delta = headroom - skb_headroom(skb) is never negative, otherwise we will trigger a BUG_ON in pskb_expand_head(). However, if headroom > INT_MAX and delta <= -NET_SKB_PAD, the check passes, delta becomes negative, and pskb_expand_head() is passed a negative value for nhead.  Fix the trigger condition in calipso_skbuff_setattr(). Avoid passing \"negative\" headroom sizes to skb_cow() within calipso_skbuff_setattr() by only using skb_cow() to grow headroom.  PoC: \tUsing `netlabelctl` tool:          netlabelctl map del default         netlabelctl calipso add pass doi:7         netlabelctl map add default address:0::1/128 protocol:calipso,7          Then run the following PoC:          int fd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);          // setup msghdr         int cmsg_size = 2;         int cmsg_len = 0x60;         struct msghdr msg;         struct sockaddr_in6 dest_addr;         struct cmsghdr * cmsg = (struct cmsghdr *) calloc(1,                         sizeof(struct cmsghdr) + cmsg_len);         msg.msg_name = &dest_addr;         msg.msg_namelen = sizeof(dest_addr);         msg.msg_iov = NULL;         msg.msg_iovlen = 0;         msg.msg_control = cmsg;         msg.msg_controllen = cmsg_len;         msg.msg_flags = 0;          // setup sockaddr         dest_addr.sin6_family = AF_INET6;         dest_addr.sin6_port = htons(31337);         dest_addr.sin6_flowinfo = htonl(31337);         dest_addr.sin6_addr = in6addr_loopback;         dest_addr.sin6_scope_id = 31337;          // setup cmsghdr         cmsg->cmsg_len = cmsg_len;         cmsg->cmsg_level = IPPROTO_IPV6;         cmsg->cmsg_type = IPV6_HOPOPTS;         char * hop_hdr = (char *)cmsg + sizeof(struct cmsghdr);         hop_hdr[1] = 0x9; //set hop size - (0x9 + 1) * 8 = 80          sendmsg(fd, &msg, 0);",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71095",
                                "url": "https://ubuntu.com/security/CVE-2025-71095",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: stmmac: fix the crash issue for zero copy XDP_TX action  There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.  [  216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [  216.187524] Internal error: Oops: 0000000096000144 [#1]  SMP [  216.301694] Call trace: [  216.304130]  dcache_clean_poc+0x20/0x38 (P) [  216.308308]  __dma_sync_single_for_device+0x1bc/0x1e0 [  216.313351]  stmmac_xdp_xmit_xdpf+0x354/0x400 [  216.317701]  __stmmac_xdp_run_prog+0x164/0x368 [  216.322139]  stmmac_napi_poll_rxtx+0xba8/0xf00 [  216.326576]  __napi_poll+0x40/0x218 [  216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt  For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71137",
                                "url": "https://ubuntu.com/security/CVE-2025-71137",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"  This patch ensures that the RX ring size (rx_pending) is not set below the permitted length. This avoids UBSAN shift-out-of-bounds errors when users passes small or zero ring sizes via ethtool -G.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71101",
                                "url": "https://ubuntu.com/security/CVE-2025-71101",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package parsing  The hp_populate_*_elements_from_package() functions in the hp-bioscfg driver contain out-of-bounds array access vulnerabilities.  These functions parse ACPI packages into internal data structures using a for loop with index variable 'elem' that iterates through enum_obj/integer_obj/order_obj/password_obj/string_obj arrays.  When processing multi-element fields like PREREQUISITES and ENUM_POSSIBLE_VALUES, these functions read multiple consecutive array elements using expressions like 'enum_obj[elem + reqs]' and 'enum_obj[elem + pos_values]' within nested loops.  The bug is that the bounds check only validated elem, but did not consider the additional offset when accessing elem + reqs or elem + pos_values.  The fix changes the bounds check to validate the actual accessed index.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71094",
                                "url": "https://ubuntu.com/security/CVE-2025-71094",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: asix: validate PHY address before use  The ASIX driver reads the PHY address from the USB device via asix_read_phy_addr(). A malicious or faulty device can return an invalid address (>= PHY_MAX_ADDR), which causes a warning in mdiobus_get_phy():    addr 207 out of range   WARNING: drivers/net/phy/mdio_bus.c:76  Validate the PHY address in asix_read_phy_addr() and remove the now-redundant check in ax88172a.c.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71132",
                                "url": "https://ubuntu.com/security/CVE-2025-71132",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  smc91x: fix broken irq-context in PREEMPT_RT  When smc91x.c is built with PREEMPT_RT, the following splat occurs in FVP_RevC:  [   13.055000] smc91x LNRO0003:00 eth0: link up, 10Mbps, half-duplex, lpa 0x0000 [   13.062137] BUG: workqueue leaked atomic, lock or RCU: kworker/2:1[106] [   13.062137]      preempt=0x00000000 lock=0->0 RCU=0->1 workfn=mld_ifc_work [   13.062266] C ** replaying previous printk message ** [   13.062266] CPU: 2 UID: 0 PID: 106 Comm: kworker/2:1 Not tainted 6.18.0-dirty #179 PREEMPT_{RT,(full)} [   13.062353] Hardware name:  , BIOS [   13.062382] Workqueue: mld mld_ifc_work [   13.062469] Call trace: [   13.062494]  show_stack+0x24/0x40 (C) [   13.062602]  __dump_stack+0x28/0x48 [   13.062710]  dump_stack_lvl+0x7c/0xb0 [   13.062818]  dump_stack+0x18/0x34 [   13.062926]  process_scheduled_works+0x294/0x450 [   13.063043]  worker_thread+0x260/0x3d8 [   13.063124]  kthread+0x1c4/0x228 [   13.063235]  ret_from_fork+0x10/0x20  This happens because smc_special_trylock() disables IRQs even on PREEMPT_RT, but smc_special_unlock() does not restore IRQs on PREEMPT_RT. The reason is that smc_special_unlock() calls spin_unlock_irqrestore(), and rcu_read_unlock_bh() in __dev_queue_xmit() cannot invoke rcu_read_unlock() through __local_bh_enable_ip() when current->softirq_disable_cnt becomes zero.  To address this issue, replace smc_special_trylock() with spin_trylock_irqsave().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71154",
                                "url": "https://ubuntu.com/security/CVE-2025-71154",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure  In async_set_registers(), when usb_submit_urb() fails, the allocated   async_req structure and URB are not freed, causing a memory leak.    The completion callback async_set_reg_cb() is responsible for freeing   these allocations, but it is only called after the URB is successfully   submitted and completes (successfully or with error). If submission   fails, the callback never runs and the memory is leaked.    Fix this by freeing both the URB and the request structure in the error   path when usb_submit_urb() fails.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71091",
                                "url": "https://ubuntu.com/security/CVE-2025-71091",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  team: fix check for port enabled in team_queue_override_port_prio_changed()  There has been a syzkaller bug reported recently with the following trace:  list_del corruption, ffff888058bea080->prev is LIST_POISON2 (dead000000000122) ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:59! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 3 UID: 0 PID: 21246 Comm: syz.0.2928 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__list_del_entry_valid_or_report+0x13e/0x200 lib/list_debug.c:59 Code: 48 c7 c7 e0 71 f0 8b e8 30 08 ef fc 90 0f 0b 48 89 ef e8 a5 02 55 fd 48 89 ea 48 89 de 48 c7 c7 40 72 f0 8b e8 13 08 ef fc 90 <0f> 0b 48 89 ef e8 88 02 55 fd 48 89 ea 48 b8 00 00 00 00 00 fc ff RSP: 0018:ffffc9000d49f370 EFLAGS: 00010286 RAX: 000000000000004e RBX: ffff888058bea080 RCX: ffffc9002817d000 RDX: 0000000000000000 RSI: ffffffff819becc6 RDI: 0000000000000005 RBP: dead000000000122 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 0000000000000001 R12: ffff888039e9c230 R13: ffff888058bea088 R14: ffff888058bea080 R15: ffff888055461480 FS:  00007fbbcfe6f6c0(0000) GS:ffff8880d6d0a000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c3afcb0 CR3: 00000000382c7000 CR4: 0000000000352ef0 Call Trace:  <TASK>  __list_del_entry_valid include/linux/list.h:132 [inline]  __list_del_entry include/linux/list.h:223 [inline]  list_del_rcu include/linux/rculist.h:178 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:826 [inline]  __team_queue_override_port_del drivers/net/team/team_core.c:821 [inline]  team_queue_override_port_prio_changed drivers/net/team/team_core.c:883 [inline]  team_priority_option_set+0x171/0x2f0 drivers/net/team/team_core.c:1534  team_option_set drivers/net/team/team_core.c:376 [inline]  team_nl_options_set_doit+0x8ae/0xe60 drivers/net/team/team_core.c:2653  genl_family_rcv_msg_doit+0x209/0x2f0 net/netlink/genetlink.c:1115  genl_family_rcv_msg net/netlink/genetlink.c:1195 [inline]  genl_rcv_msg+0x55c/0x800 net/netlink/genetlink.c:1210  netlink_rcv_skb+0x158/0x420 net/netlink/af_netlink.c:2552  genl_rcv+0x28/0x40 net/netlink/genetlink.c:1219  netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]  netlink_unicast+0x5aa/0x870 net/netlink/af_netlink.c:1346  netlink_sendmsg+0x8c8/0xdd0 net/netlink/af_netlink.c:1896  sock_sendmsg_nosec net/socket.c:727 [inline]  __sock_sendmsg net/socket.c:742 [inline]  ____sys_sendmsg+0xa98/0xc70 net/socket.c:2630  ___sys_sendmsg+0x134/0x1d0 net/socket.c:2684  __sys_sendmsg+0x16d/0x220 net/socket.c:2716  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xcd/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f  The problem is in this flow: 1) Port is enabled, queue_id != 0, in qom_list 2) Port gets disabled         -> team_port_disable()         -> team_queue_override_port_del()         -> del (removed from list) 3) Port is disabled, queue_id != 0, not in any list 4) Priority changes         -> team_queue_override_port_prio_changed()         -> checks: port disabled && queue_id != 0         -> calls del - hits the BUG as it is removed already  To fix this, change the check in team_queue_override_port_prio_changed() so it returns early if port is not enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71098",
                                "url": "https://ubuntu.com/security/CVE-2025-71098",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ip6_gre: make ip6gre_header() robust  Over the years, syzbot found many ways to crash the kernel in ip6gre_header() [1].  This involves team or bonding drivers ability to dynamically change their dev->needed_headroom and/or dev->hard_header_len  In this particular crash mld_newpack() allocated an skb with a too small reserve/headroom, and by the time mld_sendpack() was called, syzbot managed to attach an ip6gre device.  [1] skbuff: skb_under_panic: text:ffffffff8a1d69a8 len:136 put:40 head:ffff888059bc7000 data:ffff888059bc6fe8 tail:0x70 end:0x6c0 dev:team0 ------------[ cut here ]------------  kernel BUG at net/core/skbuff.c:213 !  <TASK>   skb_under_panic net/core/skbuff.c:223 [inline]   skb_push+0xc3/0xe0 net/core/skbuff.c:2641   ip6gre_header+0xc8/0x790 net/ipv6/ip6_gre.c:1371   dev_hard_header include/linux/netdevice.h:3436 [inline]   neigh_connected_output+0x286/0x460 net/core/neighbour.c:1618   neigh_output include/net/neighbour.h:556 [inline]   ip6_finish_output2+0xfb3/0x1480 net/ipv6/ip6_output.c:136  __ip6_finish_output net/ipv6/ip6_output.c:-1 [inline]   ip6_finish_output+0x234/0x7d0 net/ipv6/ip6_output.c:220   NF_HOOK_COND include/linux/netfilter.h:307 [inline]   ip6_output+0x340/0x550 net/ipv6/ip6_output.c:247   NF_HOOK+0x9e/0x380 include/linux/netfilter.h:318   mld_sendpack+0x8d4/0xe60 net/ipv6/mcast.c:1855   mld_send_cr net/ipv6/mcast.c:2154 [inline]   mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71082",
                                "url": "https://ubuntu.com/security/CVE-2025-71082",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: btusb: revert use of devm_kzalloc in btusb  This reverts commit 98921dbd00c4e (\"Bluetooth: Use devm_kzalloc in btusb.c file\").  In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen.  The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet.  To fix this, revert the use of devm and go back to freeing memory explicitly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71131",
                                "url": "https://ubuntu.com/security/CVE-2025-71131",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt  As soon as crypto_aead_encrypt is called, the underlying request may be freed by an asynchronous completion.  Thus dereferencing req->iv after it returns is invalid.  Instead of checking req->iv against info, create a new variable unaligned_info and use it for that purpose instead.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71087",
                                "url": "https://ubuntu.com/security/CVE-2025-71087",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iavf: fix off-by-one issues in iavf_config_rss_reg()  There are off-by-one bugs when configuring RSS hash key and lookup table, causing out-of-bounds reads to memory [1] and out-of-bounds writes to device registers.  Before commit 43a3d9ba34c9 (\"i40evf: Allow PF driver to configure RSS\"), the loop upper bounds were:     i <= I40E_VFQF_{HKEY,HLUT}_MAX_INDEX which is safe since the value is the last valid index.  That commit changed the bounds to:     i <= adapter->rss_{key,lut}_size / 4 where `rss_{key,lut}_size / 4` is the number of dwords, so the last valid index is `(rss_{key,lut}_size / 4) - 1`. Therefore, using `<=` accesses one element past the end.  Fix the issues by using `<` instead of `<=`, ensuring we do not exceed the bounds.  [1] KASAN splat about rss_key_size off-by-one   BUG: KASAN: slab-out-of-bounds in iavf_config_rss+0x619/0x800   Read of size 4 at addr ffff888102c50134 by task kworker/u8:6/63    CPU: 0 UID: 0 PID: 63 Comm: kworker/u8:6 Not tainted 6.18.0-rc2-enjuk-tnguy-00378-g3005f5b77652-dirty #156 PREEMPT(voluntary)   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014   Workqueue: iavf iavf_watchdog_task   Call Trace:    <TASK>    dump_stack_lvl+0x6f/0xb0    print_report+0x170/0x4f3    kasan_report+0xe1/0x1a0    iavf_config_rss+0x619/0x800    iavf_watchdog_task+0x2be7/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    </TASK>    Allocated by task 63:    kasan_save_stack+0x30/0x50    kasan_save_track+0x14/0x30    __kasan_kmalloc+0x7f/0x90    __kmalloc_noprof+0x246/0x6f0    iavf_watchdog_task+0x28fc/0x3230    process_one_work+0x7fd/0x1420    worker_thread+0x4d1/0xd40    kthread+0x344/0x660    ret_from_fork+0x249/0x320    ret_from_fork_asm+0x1a/0x30    The buggy address belongs to the object at ffff888102c50100    which belongs to the cache kmalloc-64 of size 64   The buggy address is located 0 bytes to the right of    allocated 52-byte region [ffff888102c50100, ffff888102c50134)    The buggy address belongs to the physical page:   page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102c50   flags: 0x200000000000000(node=0|zone=2)   page_type: f5(slab)   raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000   raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000   page dumped because: kasan: bad access detected    Memory state around the buggy address:    ffff888102c50000: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc    ffff888102c50080: 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc   >ffff888102c50100: 00 00 00 00 00 00 04 fc fc fc fc fc fc fc fc fc                                        ^    ffff888102c50180: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc    ffff888102c50200: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71100",
                                "url": "https://ubuntu.com/security/CVE-2025-71100",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()  TID getting from ieee80211_get_tid() might be out of range of array size of sta_entry->tids[], so check TID is less than MAX_TID_COUNT. Othwerwise, UBSAN warn:   UBSAN: array-index-out-of-bounds in drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c:514:30  index 10 is out of range for type 'rtl_tid_data [9]'",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68821",
                                "url": "https://ubuntu.com/security/CVE-2025-68821",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fuse: fix readahead reclaim deadlock  Commit e26ee4efbc79 (\"fuse: allocate ff->release_args only if release is needed\") skips allocating ff->release_args if the server does not implement open. However in doing so, fuse_prepare_release() now skips grabbing the reference on the inode, which makes it possible for an inode to be evicted from the dcache while there are inflight readahead requests. This causes a deadlock if the server triggers reclaim while servicing the readahead request and reclaim attempts to evict the inode of the file being read ahead. Since the folio is locked during readahead, when reclaim evicts the fuse inode and fuse_evict_inode() attempts to remove all folios associated with the inode from the page cache (truncate_inode_pages_range()), reclaim will block forever waiting for the lock since readahead cannot relinquish the lock because it is itself blocked in reclaim:  >>> stack_trace(1504735)  folio_wait_bit_common (mm/filemap.c:1308:4)  folio_lock (./include/linux/pagemap.h:1052:3)  truncate_inode_pages_range (mm/truncate.c:336:10)  fuse_evict_inode (fs/fuse/inode.c:161:2)  evict (fs/inode.c:704:3)  dentry_unlink_inode (fs/dcache.c:412:3)  __dentry_kill (fs/dcache.c:615:3)  shrink_kill (fs/dcache.c:1060:12)  shrink_dentry_list (fs/dcache.c:1087:3)  prune_dcache_sb (fs/dcache.c:1168:2)  super_cache_scan (fs/super.c:221:10)  do_shrink_slab (mm/shrinker.c:435:9)  shrink_slab (mm/shrinker.c:626:10)  shrink_node (mm/vmscan.c:5951:2)  shrink_zones (mm/vmscan.c:6195:3)  do_try_to_free_pages (mm/vmscan.c:6257:3)  do_swap_page (mm/memory.c:4136:11)  handle_pte_fault (mm/memory.c:5562:10)  handle_mm_fault (mm/memory.c:5870:9)  do_user_addr_fault (arch/x86/mm/fault.c:1338:10)  handle_page_fault (arch/x86/mm/fault.c:1481:3)  exc_page_fault (arch/x86/mm/fault.c:1539:2)  asm_exc_page_fault+0x22/0x27  Fix this deadlock by allocating ff->release_args and grabbing the reference on the inode when preparing the file for release even if the server does not implement open. The inode reference will be dropped when the last reference on the fuse file is dropped (see fuse_file_put() -> fuse_release_end()).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71071",
                                "url": "https://ubuntu.com/security/CVE-2025-71071",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommu/mediatek: fix use-after-free on probe deferral  The driver is dropping the references taken to the larb devices during probe after successful lookup as well as on errors. This can potentially lead to a use-after-free in case a larb device has not yet been bound to its driver so that the iommu driver probe defers.  Fix this by keeping the references as expected while the iommu driver is bound.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71111",
                                "url": "https://ubuntu.com/security/CVE-2025-71111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU  The macro FAN_FROM_REG evaluates its arguments multiple times. When used in lockless contexts involving shared driver data, this leads to Time-of-Check to Time-of-Use (TOCTOU) race conditions, potentially causing divide-by-zero errors.  Convert the macro to a static function. This guarantees that arguments are evaluated only once (pass-by-value), preventing the race conditions.  Additionally, in store_fan_div, move the calculation of the minimum limit inside the update lock. This ensures that the read-modify-write sequence operates on consistent data.  Adhere to the principle of minimal changes by only converting macros that evaluate arguments multiple times and are used in lockless contexts.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71113",
                                "url": "https://ubuntu.com/security/CVE-2025-71113",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: af_alg - zero initialize memory allocated via sock_kmalloc  Several crypto user API contexts and requests allocated with sock_kmalloc() were left uninitialized, relying on callers to set fields explicitly. This resulted in the use of uninitialized data in certain error paths or when new fields are added in the future.  The ACVP patches also contain two user-space interface files: algif_kpp.c and algif_akcipher.c. These too rely on proper initialization of their context structures.  A particular issue has been observed with the newly added 'inflight' variable introduced in af_alg_ctx by commit:    67b164a871af (\"crypto: af_alg - Disallow multiple in-flight AIO requests\")  Because the context is not memset to zero after allocation, the inflight variable has contained garbage values. As a result, af_alg_alloc_areq() has incorrectly returned -EBUSY randomly when the garbage value was interpreted as true:    https://github.com/gregkh/linux/blame/master/crypto/af_alg.c#L1209  The check directly tests ctx->inflight without explicitly comparing against true/false. Since inflight is only ever set to true or false later, an uninitialized value has triggered -EBUSY failures. Zero-initializing memory allocated with sock_kmalloc() ensures inflight and other fields start in a known state, removing random issues caused by uninitialized data.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71149",
                                "url": "https://ubuntu.com/security/CVE-2025-71149",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring/poll: correctly handle io_poll_add() return value on update  When the core of io_uring was updated to handle completions consistently and with fixed return codes, the POLL_REMOVE opcode with updates got slightly broken. If a POLL_ADD is pending and then POLL_REMOVE is used to update the events of that request, if that update causes the POLL_ADD to now trigger, then that completion is lost and a CQE is never posted.  Additionally, ensure that if an update does cause an existing POLL_ADD to complete, that the completion value isn't always overwritten with -ECANCELED. For that case, whatever io_poll_add() set the value to should just be retained.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68778",
                                "url": "https://ubuntu.com/security/CVE-2025-68778",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  btrfs: don't log conflicting inode if it's a dir moved in the current transaction  We can't log a conflicting inode if it's a directory and it was moved from one parent directory to another parent directory in the current transaction, as this can result an attempt to have a directory with two hard links during log replay, one for the old parent directory and another for the new parent directory.  The following scenario triggers that issue:  1) We have directories \"dir1\" and \"dir2\" created in a past transaction.    Directory \"dir1\" has inode A as its parent directory;  2) We move \"dir1\" to some other directory;  3) We create a file with the name \"dir1\" in directory inode A;  4) We fsync the new file. This results in logging the inode of the new file    and the inode for the directory \"dir1\" that was previously moved in the    current transaction. So the log tree has the INODE_REF item for the    new location of \"dir1\";  5) We move the new file to some other directory. This results in updating    the log tree to included the new INODE_REF for the new location of the    file and removes the INODE_REF for the old location. This happens    during the rename when we call btrfs_log_new_name();  6) We fsync the file, and that persists the log tree changes done in the    previous step (btrfs_log_new_name() only updates the log tree in    memory);  7) We have a power failure;  8) Next time the fs is mounted, log replay happens and when processing    the inode for directory \"dir1\" we find a new INODE_REF and add that    link, but we don't remove the old link of the inode since we have    not logged the old parent directory of the directory inode \"dir1\".  As a result after log replay finishes when we trigger writeback of the subvolume tree's extent buffers, the tree check will detect that we have a directory a hard link count of 2 and we get a mount failure. The errors and stack traces reported in dmesg/syslog are like this:     [ 3845.729764] BTRFS info (device dm-0): start tree-log replay    [ 3845.730304] page: refcount:3 mapcount:0 mapping:000000005c8a3027 index:0x1d00 pfn:0x11510c    [ 3845.731236] memcg:ffff9264c02f4e00    [ 3845.731751] aops:btree_aops [btrfs] ino:1    [ 3845.732300] flags: 0x17fffc00000400a(uptodate|private|writeback|node=0|zone=2|lastcpupid=0x1ffff)    [ 3845.733346] raw: 017fffc00000400a 0000000000000000 dead000000000122 ffff9264d978aea8    [ 3845.734265] raw: 0000000000001d00 ffff92650e6d4738 00000003ffffffff ffff9264c02f4e00    [ 3845.735305] page dumped because: eb page dump    [ 3845.735981] BTRFS critical (device dm-0): corrupt leaf: root=5 block=30408704 slot=6 ino=257, invalid nlink: has 2 expect no more than 1 for dir    [ 3845.737786] BTRFS info (device dm-0): leaf 30408704 gen 10 total ptrs 17 free space 14881 owner 5    [ 3845.737789] BTRFS info (device dm-0): refs 4 lock_owner 0 current 30701    [ 3845.737792] \titem 0 key (256 INODE_ITEM 0) itemoff 16123 itemsize 160    [ 3845.737794] \t\tinode generation 3 transid 9 size 16 nbytes 16384    [ 3845.737795] \t\tblock group 0 mode 40755 links 1 uid 0 gid 0    [ 3845.737797] \t\trdev 0 sequence 2 flags 0x0    [ 3845.737798] \t\tatime 1764259517.0    [ 3845.737800] \t\tctime 1764259517.572889464    [ 3845.737801] \t\tmtime 1764259517.572889464    [ 3845.737802] \t\totime 1764259517.0    [ 3845.737803] \titem 1 key (256 INODE_REF 256) itemoff 16111 itemsize 12    [ 3845.737805] \t\tindex 0 name_len 2    [ 3845.737807] \titem 2 key (256 DIR_ITEM 2363071922) itemoff 16077 itemsize 34    [ 3845.737808] \t\tlocation key (257 1 0) type 2    [ 3845.737810] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737811] \titem 3 key (256 DIR_ITEM 2676584006) itemoff 16043 itemsize 34    [ 3845.737813] \t\tlocation key (258 1 0) type 2    [ 3845.737814] \t\ttransid 9 data_len 0 name_len 4    [ 3845.737815] \titem 4 key (256 DIR_INDEX 2) itemoff 16009 itemsize 34    [ 3845.737816] \t\tlocation key (257 1 0) type 2    [ ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71119",
                                "url": "https://ubuntu.com/security/CVE-2025-71119",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  powerpc/kexec: Enable SMT before waking offline CPUs  If SMT is disabled or a partial SMT state is enabled, when a new kernel image is loaded for kexec, on reboot the following warning is observed:  kexec: Waking offline cpu 228. WARNING: CPU: 0 PID: 9062 at arch/powerpc/kexec/core_64.c:223 kexec_prepare_cpus+0x1b0/0x1bc [snip]  NIP kexec_prepare_cpus+0x1b0/0x1bc  LR  kexec_prepare_cpus+0x1a0/0x1bc  Call Trace:   kexec_prepare_cpus+0x1a0/0x1bc (unreliable)   default_machine_kexec+0x160/0x19c   machine_kexec+0x80/0x88   kernel_kexec+0xd0/0x118   __do_sys_reboot+0x210/0x2c4   system_call_exception+0x124/0x320   system_call_vectored_common+0x15c/0x2ec  This occurs as add_cpu() fails due to cpu_bootable() returning false for CPUs that fail the cpu_smt_thread_allowed() check or non primary threads if SMT is disabled.  Fix the issue by enabling SMT and resetting the number of SMT threads to the number of threads per core, before attempting to wake up all present CPUs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71120",
                                "url": "https://ubuntu.com/security/CVE-2025-71120",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf  A zero length gss_token results in pages == 0 and in_token->pages[0] is NULL. The code unconditionally evaluates page_address(in_token->pages[0]) for the initial memcpy, which can dereference NULL even when the copy length is 0. Guard the first memcpy so it only runs when length > 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68811",
                                "url": "https://ubuntu.com/security/CVE-2025-68811",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  svcrdma: use rc_pageoff for memcpy byte offset  svc_rdma_copy_inline_range added rc_curpage (page index) to the page base instead of the byte offset rc_pageoff. Use rc_pageoff so copies land within the current page.  Found by ZeroPath (https://zeropath.com)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68803",
                                "url": "https://ubuntu.com/security/CVE-2025-68803",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  NFSD: NFSv4 file creation neglects setting ACL  An NFSv4 client that sets an ACL with a named principal during file creation retrieves the ACL afterwards, and finds that it is only a default ACL (based on the mode bits) and not the ACL that was requested during file creation. This violates RFC 8881 section 6.4.1.3: \"the ACL attribute is set as given\".  The issue occurs in nfsd_create_setattr(), which calls nfsd_attrs_valid() to determine whether to call nfsd_setattr(). However, nfsd_attrs_valid() checks only for iattr changes and security labels, but not POSIX ACLs. When only an ACL is present, the function returns false, nfsd_setattr() is skipped, and the POSIX ACL is never applied to the inode.  Subsequently, when the client retrieves the ACL, the server finds no POSIX ACL on the inode and returns one generated from the file's mode bits rather than returning the originally-specified ACL.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71148",
                                "url": "https://ubuntu.com/security/CVE-2025-71148",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: restore destructor on submit failure  handshake_req_submit() replaces sk->sk_destruct but never restores it when submission fails before the request is hashed. handshake_sk_destruct() then returns early and the original destructor never runs, leaking the socket. Restore sk_destruct on the error path.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68788",
                                "url": "https://ubuntu.com/security/CVE-2025-68788",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fsnotify: do not generate ACCESS/MODIFY events on child for special files  inotify/fanotify do not allow users with no read access to a file to subscribe to events (e.g. IN_ACCESS/IN_MODIFY), but they do allow the same user to subscribe for watching events on children when the user has access to the parent directory (e.g. /dev).  Users with no read access to a file but with read access to its parent directory can still stat the file and see if it was accessed/modified via atime/mtime change.  The same is not true for special files (e.g. /dev/null). Users will not generally observe atime/mtime changes when other users read/write to special files, only when someone sets atime/mtime via utimensat().  Align fsnotify events with this stat behavior and do not generate ACCESS/MODIFY events to parent watchers on read/write of special files. The events are still generated to parent watchers on utimensat(). This closes some side-channels that could be possibly used for information exfiltration [1].  [1] https://snee.la/pdf/pubs/file-notification-attacks.pdf",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71125",
                                "url": "https://ubuntu.com/security/CVE-2025-71125",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tracing: Do not register unsupported perf events  Synthetic events currently do not have a function to register perf events. This leads to calling the tracepoint register functions with a NULL function pointer which triggers:   ------------[ cut here ]------------  WARNING: kernel/tracepoint.c:175 at tracepoint_add_func+0x357/0x370, CPU#2: perf/2272  Modules linked in: kvm_intel kvm irqbypass  CPU: 2 UID: 0 PID: 2272 Comm: perf Not tainted 6.18.0-ftest-11964-ge022764176fc-dirty #323 PREEMPTLAZY  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-debian-1.17.0-1 04/01/2014  RIP: 0010:tracepoint_add_func+0x357/0x370  Code: 28 9c e8 4c 0b f5 ff eb 0f 4c 89 f7 48 c7 c6 80 4d 28 9c e8 ab 89 f4 ff 31 c0 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc <0f> 0b 49 c7 c6 ea ff ff ff e9 ee fe ff ff 0f 0b e9 f9 fe ff ff 0f  RSP: 0018:ffffabc0c44d3c40 EFLAGS: 00010246  RAX: 0000000000000001 RBX: ffff9380aa9e4060 RCX: 0000000000000000  RDX: 000000000000000a RSI: ffffffff9e1d4a98 RDI: ffff937fcf5fd6c8  RBP: 0000000000000001 R08: 0000000000000007 R09: ffff937fcf5fc780  R10: 0000000000000003 R11: ffffffff9c193910 R12: 000000000000000a  R13: ffffffff9e1e5888 R14: 0000000000000000 R15: ffffabc0c44d3c78  FS:  00007f6202f5f340(0000) GS:ffff93819f00f000(0000) knlGS:0000000000000000  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  CR2: 000055d3162281a8 CR3: 0000000106a56003 CR4: 0000000000172ef0  Call Trace:   <TASK>   tracepoint_probe_register+0x5d/0x90   synth_event_reg+0x3c/0x60   perf_trace_event_init+0x204/0x340   perf_trace_init+0x85/0xd0   perf_tp_event_init+0x2e/0x50   perf_try_init_event+0x6f/0x230   ? perf_event_alloc+0x4bb/0xdc0   perf_event_alloc+0x65a/0xdc0   __se_sys_perf_event_open+0x290/0x9f0   do_syscall_64+0x93/0x7b0   ? entry_SYSCALL_64_after_hwframe+0x76/0x7e   ? trace_hardirqs_off+0x53/0xc0   entry_SYSCALL_64_after_hwframe+0x76/0x7e  Instead, have the code return -ENODEV, which doesn't warn and has perf error out with:   # perf record -e synthetic:futex_wait Error: The sys_perf_event_open() syscall returned with 19 (No such device) for event (synthetic:futex_wait). \"dmesg | grep -i perf\" may provide additional information.  Ideally perf should support synthetic events, but for now just fix the warning. The support can come later.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68784",
                                "url": "https://ubuntu.com/security/CVE-2025-68784",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  xfs: fix a UAF problem in xattr repair  The xchk_setup_xattr_buf function can allocate a new value buffer, which means that any reference to ab->value before the call could become a dangling pointer.  Fix this by moving an assignment to after the buffer setup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71104",
                                "url": "https://ubuntu.com/security/CVE-2025-71104",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer  When advancing the target expiration for the guest's APIC timer in periodic mode, set the expiration to \"now\" if the target expiration is in the past (similar to what is done in update_target_expiration()).  Blindly adding the period to the previous target expiration can result in KVM generating a practically unbounded number of hrtimer IRQs due to programming an expired timer over and over.  In extreme scenarios, e.g. if userspace pauses/suspends a VM for an extended duration, this can even cause hard lockups in the host.  Currently, the bug only affects Intel CPUs when using the hypervisor timer (HV timer), a.k.a. the VMX preemption timer.  Unlike the software timer, a.k.a. hrtimer, which KVM keeps running even on exits to userspace, the HV timer only runs while the guest is active.  As a result, if the vCPU does not run for an extended duration, there will be a huge gap between the target expiration and the current time the vCPU resumes running. Because the target expiration is incremented by only one period on each timer expiration, this leads to a series of timer expirations occurring rapidly after the vCPU/VM resumes.  More critically, when the vCPU first triggers a periodic HV timer expiration after resuming, advancing the expiration by only one period will result in a target expiration in the past.  As a result, the delta may be calculated as a negative value.  When the delta is converted into an absolute value (tscdeadline is an unsigned u64), the resulting value can overflow what the HV timer is capable of programming.  I.e. the large value will exceed the VMX Preemption Timer's maximum bit width of cpu_preemption_timer_multi + 32, and thus cause KVM to switch from the HV timer to the software timer (hrtimers).  After switching to the software timer, periodic timer expiration callbacks may be executed consecutively within a single clock interrupt handler, because hrtimers honors KVM's request for an expiration in the past and immediately re-invokes KVM's callback after reprogramming.  And because the interrupt handler runs with IRQs disabled, restarting KVM's hrtimer over and over until the target expiration is advanced to \"now\" can result in a hard lockup.  E.g. the following hard lockup was triggered in the host when running a Windows VM (only relevant because it used the APIC timer in periodic mode) after resuming the VM from a long suspend (in the host).    NMI watchdog: Watchdog detected hard LOCKUP on cpu 45   ...   RIP: 0010:advance_periodic_target_expiration+0x4d/0x80 [kvm]   ...   RSP: 0018:ff4f88f5d98d8ef0 EFLAGS: 00000046   RAX: fff0103f91be678e RBX: fff0103f91be678e RCX: 00843a7d9e127bcc   RDX: 0000000000000002 RSI: 0052ca4003697505 RDI: ff440d5bfbdbd500   RBP: ff440d5956f99200 R08: ff2ff2a42deb6a84 R09: 000000000002a6c0   R10: 0122d794016332b3 R11: 0000000000000000 R12: ff440db1af39cfc0   R13: ff440db1af39cfc0 R14: ffffffffc0d4a560 R15: ff440db1af39d0f8   FS:  00007f04a6ffd700(0000) GS:ff440db1af380000(0000) knlGS:000000e38a3b8000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 000000d5651feff8 CR3: 000000684e038002 CR4: 0000000000773ee0   PKRU: 55555554   Call Trace:    <IRQ>    apic_timer_fn+0x31/0x50 [kvm]    __hrtimer_run_queues+0x100/0x280    hrtimer_interrupt+0x100/0x210    ? ttwu_do_wakeup+0x19/0x160    smp_apic_timer_interrupt+0x6a/0x130    apic_timer_interrupt+0xf/0x20    </IRQ>  Moreover, if the suspend duration of the virtual machine is not long enough to trigger a hard lockup in this scenario, since commit 98c25ead5eda (\"KVM: VMX: Move preemption timer <=> hrtimer dance to common x86\"), KVM will continue using the software timer until the guest reprograms the APIC timer in some way.  Since the periodic timer does not require frequent APIC timer register programming, the guest may continue to use the software timer in ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71116",
                                "url": "https://ubuntu.com/security/CVE-2025-71116",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  libceph: make decode_pool() more resilient against corrupted osdmaps  If the osdmap is (maliciously) corrupted such that the encoded length of ceph_pg_pool envelope is less than what is expected for a particular encoding version, out-of-bounds reads may ensue because the only bounds check that is there is based on that length value.  This patch adds explicit bounds checks for each field that is decoded or skipped.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71121",
                                "url": "https://ubuntu.com/security/CVE-2025-71121",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  parisc: Do not reprogram affinitiy on ASP chip  The ASP chip is a very old variant of the GSP chip and is used e.g. in HP 730 workstations. When trying to reprogram the affinity it will crash with a HPMC as the relevant registers don't seem to be at the usual location.  Let's avoid the crash by checking the sversion. Also note, that reprogramming isn't necessary either, as the HP730 is a just a single-CPU machine.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71102",
                                "url": "https://ubuntu.com/security/CVE-2025-71102",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scs: fix a wrong parameter in __scs_magic  __scs_magic() needs a 'void *' variable, but a 'struct task_struct *' is given.  'task_scs(tsk)' is the starting address of the task's shadow call stack, and '__scs_magic(task_scs(tsk))' is the end address of the task's shadow call stack.  Here should be '__scs_magic(task_scs(tsk))'.  The user-visible effect of this bug is that when CONFIG_DEBUG_STACK_USAGE is enabled, the shadow call stack usage checking function (scs_check_usage) would scan an incorrect memory range.  This could lead  1. **Inaccurate stack usage reporting**: The function would calculate    wrong usage statistics for the shadow call stack, potentially showing    incorrect value in kmsg.  2. **Potential kernel crash**: If the value of __scs_magic(tsk)is    greater than that of __scs_magic(task_scs(tsk)), the for loop may    access unmapped memory, potentially causing a kernel panic.  However,    this scenario is unlikely because task_struct is allocated via the slab    allocator (which typically returns lower addresses), while the shadow    call stack returned by task_scs(tsk) is allocated via vmalloc(which    typically returns higher addresses).  However, since this is purely a debugging feature (CONFIG_DEBUG_STACK_USAGE), normal production systems should be not unaffected.  The bug only impacts developers and testers who are actively debugging stack usage with this configuration enabled.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68804",
                                "url": "https://ubuntu.com/security/CVE-2025-68804",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver  After unbinding the driver, another kthread `cros_ec_console_log_work` is still accessing the device, resulting an UAF and crash.  The driver doesn't unregister the EC device in .remove() which should shutdown sub-devices synchronously.  Fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68771",
                                "url": "https://ubuntu.com/security/CVE-2025-68771",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ocfs2: fix kernel BUG in ocfs2_find_victim_chain  syzbot reported a kernel BUG in ocfs2_find_victim_chain() because the `cl_next_free_rec` field of the allocation chain list (next free slot in the chain list) is 0, triggring the BUG_ON(!cl->cl_next_free_rec) condition in ocfs2_find_victim_chain() and panicking the kernel.  To fix this, an if condition is introduced in ocfs2_claim_suballoc_bits(), just before calling ocfs2_find_victim_chain(), the code block in it being executed when either of the following conditions is true:  1. `cl_next_free_rec` is equal to 0, indicating that there are no free chains in the allocation chain list 2. `cl_next_free_rec` is greater than `cl_count` (the total number of chains in the allocation chain list)  Either of them being true is indicative of the fact that there are no chains left for usage.  This is addressed using ocfs2_error(), which prints the error log for debugging purposes, rather than panicking the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68808",
                                "url": "https://ubuntu.com/security/CVE-2025-68808",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: vidtv: initialize local pointers upon transfer of memory ownership  vidtv_channel_si_init() creates a temporary list (program, service, event) and ownership of the memory itself is transferred to the PAT/SDT/EIT tables through vidtv_psi_pat_program_assign(), vidtv_psi_sdt_service_assign(), vidtv_psi_eit_event_assign().  The problem here is that the local pointer where the memory ownership transfer was completed is not initialized to NULL. This causes the vidtv_psi_pmt_create_sec_for_each_pat_entry() function to fail, and in the flow that jumps to free_eit, the memory that was freed by vidtv_psi_*_table_destroy() can be accessed again by vidtv_psi_*_event_destroy() due to the uninitialized local pointer, so it is freed once again.  Therefore, to prevent use-after-free and double-free vulnerability, local pointers must be initialized to NULL when transferring memory ownership.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68810",
                                "url": "https://ubuntu.com/security/CVE-2025-68810",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot  Reject attempts to disable KVM_MEM_GUEST_MEMFD on a memslot that was initially created with a guest_memfd binding, as KVM doesn't support toggling KVM_MEM_GUEST_MEMFD on existing memslots.  KVM prevents enabling KVM_MEM_GUEST_MEMFD, but doesn't prevent clearing the flag.  Failure to reject the new memslot results in a use-after-free due to KVM not unbinding from the guest_memfd instance.  Unbinding on a FLAGS_ONLY change is easy enough, and can/will be done as a hardening measure (in anticipation of KVM supporting dirty logging on guest_memfd at some point), but fixing the use-after-free would only address the immediate symptom.    ==================================================================   BUG: KASAN: slab-use-after-free in kvm_gmem_release+0x362/0x400 [kvm]   Write of size 8 at addr ffff8881111ae908 by task repro/745    CPU: 7 UID: 1000 PID: 745 Comm: repro Not tainted 6.18.0-rc6-115d5de2eef3-next-kasan #3 NONE   Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015   Call Trace:    <TASK>    dump_stack_lvl+0x51/0x60    print_report+0xcb/0x5c0    kasan_report+0xb4/0xe0    kvm_gmem_release+0x362/0x400 [kvm]    __fput+0x2fa/0x9d0    task_work_run+0x12c/0x200    do_exit+0x6ae/0x2100    do_group_exit+0xa8/0x230    __x64_sys_exit_group+0x3a/0x50    x64_sys_call+0x737/0x740    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53   RIP: 0033:0x7f581f2eac31    </TASK>    Allocated by task 745 on cpu 6 at 9.746971s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_kmalloc+0x77/0x90    kvm_set_memory_region.part.0+0x652/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53    Freed by task 745 on cpu 6 at 9.747467s:    kasan_save_stack+0x20/0x40    kasan_save_track+0x13/0x50    __kasan_save_free_info+0x37/0x50    __kasan_slab_free+0x3b/0x60    kfree+0xf5/0x440    kvm_set_memslot+0x3c2/0x1160 [kvm]    kvm_set_memory_region.part.0+0x86a/0x1110 [kvm]    kvm_vm_ioctl+0x14b0/0x3290 [kvm]    __x64_sys_ioctl+0x129/0x1a0    do_syscall_64+0x5b/0x900    entry_SYSCALL_64_after_hwframe+0x4b/0x53",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68769",
                                "url": "https://ubuntu.com/security/CVE-2025-68769",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix return value of f2fs_recover_fsync_data()  With below scripts, it will trigger panic in f2fs:  mkfs.f2fs -f /dev/vdd mount /dev/vdd /mnt/f2fs touch /mnt/f2fs/foo sync echo 111 >> /mnt/f2fs/foo f2fs_io fsync /mnt/f2fs/foo f2fs_io shutdown 2 /mnt/f2fs umount /mnt/f2fs mount -o ro,norecovery /dev/vdd /mnt/f2fs or mount -o ro,disable_roll_forward /dev/vdd /mnt/f2fs  F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 F2FS-fs (vdd): Mounted with checkpoint version = 7f5c361f F2FS-fs (vdd): Stopped filesystem due to reason: 0 F2FS-fs (vdd): f2fs_recover_fsync_data: recovery fsync data, check_only: 1 Filesystem f2fs get_tree() didn't set fc->root, returned 1 ------------[ cut here ]------------ kernel BUG at fs/super.c:1761! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 3 UID: 0 PID: 722 Comm: mount Not tainted 6.18.0-rc2+ #721 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:vfs_get_tree.cold+0x18/0x1a Call Trace:  <TASK>  fc_mount+0x13/0xa0  path_mount+0x34e/0xc50  __x64_sys_mount+0x121/0x150  do_syscall_64+0x84/0x800  entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa6cc126cfe  The root cause is we missed to handle error number returned from f2fs_recover_fsync_data() when mounting image w/ ro,norecovery or ro,disable_roll_forward mount option, result in returning a positive error number to vfs_get_tree(), fix it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71069",
                                "url": "https://ubuntu.com/security/CVE-2025-71069",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: invalidate dentry cache on failed whiteout creation  F2FS can mount filesystems with corrupted directory depth values that get runtime-clamped to MAX_DIR_HASH_DEPTH. When RENAME_WHITEOUT operations are performed on such directories, f2fs_rename performs directory modifications (updating target entry and deleting source entry) before attempting to add the whiteout entry via f2fs_add_link.  If f2fs_add_link fails due to the corrupted directory structure, the function returns an error to VFS, but the partial directory modifications have already been committed to disk. VFS assumes the entire rename operation failed and does not update the dentry cache, leaving stale mappings.  In the error path, VFS does not call d_move() to update the dentry cache. This results in new_dentry still pointing to the old inode (new_inode) which has already had its i_nlink decremented to zero. The stale cache causes subsequent operations to incorrectly reference the freed inode.  This causes subsequent operations to use cached dentry information that no longer matches the on-disk state. When a second rename targets the same entry, VFS attempts to decrement i_nlink on the stale inode, which may already have i_nlink=0, triggering a WARNING in drop_nlink().  Example sequence: 1. First rename (RENAME_WHITEOUT): file2 → file1    - f2fs updates file1 entry on disk (points to inode 8)    - f2fs deletes file2 entry on disk    - f2fs_add_link(whiteout) fails (corrupted directory)    - Returns error to VFS    - VFS does not call d_move() due to error    - VFS cache still has: file1 → inode 7 (stale!)    - inode 7 has i_nlink=0 (already decremented)  2. Second rename: file3 → file1    - VFS uses stale cache: file1 → inode 7    - Tries to drop_nlink on inode 7 (i_nlink already 0)    - WARNING in drop_nlink()  Fix this by explicitly invalidating old_dentry and new_dentry when f2fs_add_link fails during whiteout creation. This forces VFS to refresh from disk on subsequent operations, ensuring cache consistency even when the rename partially succeeds.  Reproducer: 1. Mount F2FS image with corrupted i_current_depth 2. renameat2(file2, file1, RENAME_WHITEOUT) 3. renameat2(file3, file1, 0) 4. System triggers WARNING in drop_nlink()",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68796",
                                "url": "https://ubuntu.com/security/CVE-2025-68796",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid updating zero-sized extent in extent cache  As syzbot reported:  F2FS-fs (loop0): __update_extent_tree_range: extent len is zero, type: 0, extent [0, 0, 0], age [0, 0] ------------[ cut here ]------------ kernel BUG at fs/f2fs/extent_cache.c:678! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5336 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:__update_extent_tree_range+0x13bc/0x1500 fs/f2fs/extent_cache.c:678 Call Trace:  <TASK>  f2fs_update_read_extent_cache_range+0x192/0x3e0 fs/f2fs/extent_cache.c:1085  f2fs_do_zero_range fs/f2fs/file.c:1657 [inline]  f2fs_zero_range+0x10c1/0x1580 fs/f2fs/file.c:1737  f2fs_fallocate+0x583/0x990 fs/f2fs/file.c:2030  vfs_fallocate+0x669/0x7e0 fs/open.c:342  ioctl_preallocate fs/ioctl.c:289 [inline]  file_ioctl+0x611/0x780 fs/ioctl.c:-1  do_vfs_ioctl+0xb33/0x1430 fs/ioctl.c:576  __do_sys_ioctl fs/ioctl.c:595 [inline]  __se_sys_ioctl+0x82/0x170 fs/ioctl.c:583  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f07bc58eec9  In error path of f2fs_zero_range(), it may add a zero-sized extent into extent cache, it should be avoided.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71065",
                                "url": "https://ubuntu.com/security/CVE-2025-71065",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: fix to avoid potential deadlock  As Jiaming Zhang and syzbot reported, there is potential deadlock in f2fs as below:  Chain exists of:   &sbi->cp_rwsem --> fs_reclaim --> sb_internal#2   Possible unsafe locking scenario:         CPU0                    CPU1        ----                    ----   rlock(sb_internal#2);                                lock(fs_reclaim);                                lock(sb_internal#2);   rlock(&sbi->cp_rwsem);   *** DEADLOCK ***  3 locks held by kswapd0/73:  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: balance_pgdat mm/vmscan.c:7015 [inline]  #0: ffffffff8e247a40 (fs_reclaim){+.+.}-{0:0}, at: kswapd+0x951/0x2800 mm/vmscan.c:7389  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_trylock_shared fs/super.c:562 [inline]  #1: ffff8880118400e0 (&type->s_umount_key#50){.+.+}-{4:4}, at: super_cache_scan+0x91/0x4b0 fs/super.c:197  #2: ffff888011840610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x8d9/0x1b60 fs/f2fs/inode.c:890  stack backtrace: CPU: 0 UID: 0 PID: 73 Comm: kswapd0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace:  <TASK>  dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120  print_circular_bug+0x2ee/0x310 kernel/locking/lockdep.c:2043  check_noncircular+0x134/0x160 kernel/locking/lockdep.c:2175  check_prev_add kernel/locking/lockdep.c:3165 [inline]  check_prevs_add kernel/locking/lockdep.c:3284 [inline]  validate_chain+0xb9b/0x2140 kernel/locking/lockdep.c:3908  __lock_acquire+0xab9/0xd20 kernel/locking/lockdep.c:5237  lock_acquire+0x120/0x360 kernel/locking/lockdep.c:5868  down_read+0x46/0x2e0 kernel/locking/rwsem.c:1537  f2fs_down_read fs/f2fs/f2fs.h:2278 [inline]  f2fs_lock_op fs/f2fs/f2fs.h:2357 [inline]  f2fs_do_truncate_blocks+0x21c/0x10c0 fs/f2fs/file.c:791  f2fs_truncate_blocks+0x10a/0x300 fs/f2fs/file.c:867  f2fs_truncate+0x489/0x7c0 fs/f2fs/file.c:925  f2fs_evict_inode+0x9f2/0x1b60 fs/f2fs/inode.c:897  evict+0x504/0x9c0 fs/inode.c:810  f2fs_evict_inode+0x1dc/0x1b60 fs/f2fs/inode.c:853  evict+0x504/0x9c0 fs/inode.c:810  dispose_list fs/inode.c:852 [inline]  prune_icache_sb+0x21b/0x2c0 fs/inode.c:1000  super_cache_scan+0x39b/0x4b0 fs/super.c:224  do_shrink_slab+0x6ef/0x1110 mm/shrinker.c:437  shrink_slab_memcg mm/shrinker.c:550 [inline]  shrink_slab+0x7ef/0x10d0 mm/shrinker.c:628  shrink_one+0x28a/0x7c0 mm/vmscan.c:4955  shrink_many mm/vmscan.c:5016 [inline]  lru_gen_shrink_node mm/vmscan.c:5094 [inline]  shrink_node+0x315d/0x3780 mm/vmscan.c:6081  kswapd_shrink_node mm/vmscan.c:6941 [inline]  balance_pgdat mm/vmscan.c:7124 [inline]  kswapd+0x147c/0x2800 mm/vmscan.c:7389  kthread+0x70e/0x8a0 kernel/kthread.c:463  ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245  </TASK>  The root cause is deadlock among four locks as below:  kswapd - fs_reclaim\t\t\t\t--- Lock A  - shrink_one   - evict    - f2fs_evict_inode     - sb_start_intwrite\t\t\t--- Lock B  - iput  - evict   - f2fs_evict_inode    - sb_start_intwrite\t\t\t--- Lock B    - f2fs_truncate     - f2fs_truncate_blocks      - f2fs_do_truncate_blocks       - f2fs_lock_op\t\t\t--- Lock C  ioctl - f2fs_ioc_commit_atomic_write  - f2fs_lock_op\t\t\t\t--- Lock C   - __f2fs_commit_atomic_write    - __replace_atomic_write_block     - f2fs_get_dnode_of_data      - __get_node_folio       - f2fs_check_nid_range        - f2fs_handle_error         - f2fs_record_errors          - f2fs_down_write\t\t--- Lock D  open - do_open  - do_truncate   - security_inode_need_killpriv    - f2fs_getxattr     - lookup_all_xattrs      - f2fs_handle_error       - f2fs_record_errors        - f2fs_down_write\t\t--- Lock D         - f2fs_commit_super          - read_mapping_folio           - filemap_alloc_folio_noprof            - prepare_alloc_pages             - fs_reclaim_acquire\t--- Lock A  In order to a ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71107",
                                "url": "https://ubuntu.com/security/CVE-2025-71107",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  f2fs: ensure node page reads complete before f2fs_put_super() finishes  Xfstests generic/335, generic/336 sometimes crash with the following message:  F2FS-fs (dm-0): detect filesystem reference count leak during umount, type: 9, count: 1 ------------[ cut here ]------------ kernel BUG at fs/f2fs/super.c:1939! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 609351 Comm: umount Tainted: G        W          6.17.0-rc5-xfstests-g9dd1835ecda5 #1 PREEMPT(none) Tainted: [W]=WARN Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:f2fs_put_super+0x3b3/0x3c0 Call Trace:  <TASK>  generic_shutdown_super+0x7e/0x190  kill_block_super+0x1a/0x40  kill_f2fs_super+0x9d/0x190  deactivate_locked_super+0x30/0xb0  cleanup_mnt+0xba/0x150  task_work_run+0x5c/0xa0  exit_to_user_mode_loop+0xb7/0xc0  do_syscall_64+0x1ae/0x1c0  entry_SYSCALL_64_after_hwframe+0x76/0x7e  </TASK> ---[ end trace 0000000000000000 ]---  It appears that sometimes it is possible that f2fs_put_super() is called before all node page reads are completed. Adding a call to f2fs_wait_on_all_pages() for F2FS_RD_NODE fixes the problem.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68782",
                                "url": "https://ubuntu.com/security/CVE-2025-68782",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: target: Reset t_task_cdb pointer in error case  If allocation of cmd->t_task_cdb fails, it remains NULL but is later dereferenced in the 'err' path.  In case of error, reset NULL t_task_cdb value to point at the default fixed-size buffer.  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71075",
                                "url": "https://ubuntu.com/security/CVE-2025-71075",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: aic94xx: fix use-after-free in device removal path  The asd_pci_remove() function fails to synchronize with pending tasklets before freeing the asd_ha structure, leading to a potential use-after-free vulnerability.  When a device removal is triggered (via hot-unplug or module unload), race condition can occur.  The fix adds tasklet_kill() before freeing the asd_ha structure, ensuring all scheduled tasklets complete before cleanup proceeds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68818",
                                "url": "https://ubuntu.com/security/CVE-2025-68818",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in abort path\"  This reverts commit 0367076b0817d5c75dfb83001ce7ce5c64d803a9.  The commit being reverted added code to __qla2x00_abort_all_cmds() to call sp->done() without holding a spinlock.  But unlike the older code below it, this new code failed to check sp->cmd_type and just assumed TYPE_SRB, which results in a jump to an invalid pointer in target-mode with TYPE_TGT_CMD:  qla2xxx [0000:65:00.0]-d034:8: qla24xx_do_nack_work create sess success   0000000009f7a79b qla2xxx [0000:65:00.0]-5003:8: ISP System Error - mbx1=1ff5h mbx2=10h   mbx3=0h mbx4=0h mbx5=191h mbx6=0h mbx7=0h. qla2xxx [0000:65:00.0]-d01e:8: -> fwdump no buffer qla2xxx [0000:65:00.0]-f03a:8: qla_target(0): System error async event   0x8002 occurred qla2xxx [0000:65:00.0]-00af:8: Performing ISP error recovery -   ha=0000000058183fda. BUG: kernel NULL pointer dereference, address: 0000000000000000 PF: supervisor instruction fetch in kernel mode PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: 0010 [#1] SMP CPU: 2 PID: 9446 Comm: qla2xxx_8_dpc Tainted: G           O       6.1.133 #1 Hardware name: Supermicro Super Server/X11SPL-F, BIOS 4.2 12/15/2023 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc90001f93dc8 EFLAGS: 00010206 RAX: 0000000000000282 RBX: 0000000000000355 RCX: ffff88810d16a000 RDX: ffff88810dbadaa8 RSI: 0000000000080000 RDI: ffff888169dc38c0 RBP: ffff888169dc38c0 R08: 0000000000000001 R09: 0000000000000045 R10: ffffffffa034bdf0 R11: 0000000000000000 R12: ffff88810800bb40 R13: 0000000000001aa8 R14: ffff888100136610 R15: ffff8881070f7400 FS:  0000000000000000(0000) GS:ffff88bf80080000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 000000010c8ff006 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:  <TASK>  ? __die+0x4d/0x8b  ? page_fault_oops+0x91/0x180  ? trace_buffer_unlock_commit_regs+0x38/0x1a0  ? exc_page_fault+0x391/0x5e0  ? asm_exc_page_fault+0x22/0x30  __qla2x00_abort_all_cmds+0xcb/0x3e0 [qla2xxx_scst]  qla2x00_abort_all_cmds+0x50/0x70 [qla2xxx_scst]  qla2x00_abort_isp_cleanup+0x3b7/0x4b0 [qla2xxx_scst]  qla2x00_abort_isp+0xfd/0x860 [qla2xxx_scst]  qla2x00_do_dpc+0x581/0xa40 [qla2xxx_scst]  kthread+0xa8/0xd0  </TASK>  Then commit 4475afa2646d (\"scsi: qla2xxx: Complete command early within lock\") added the spinlock back, because not having the lock caused a race and a crash.  But qla2x00_abort_srb() in the switch below already checks for qla2x00_chip_is_down() and handles it the same way, so the code above the switch is now redundant and still buggy in target-mode. Remove it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68797",
                                "url": "https://ubuntu.com/security/CVE-2025-68797",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  char: applicom: fix NULL pointer dereference in ac_ioctl  Discovered by Atuin - Automated Vulnerability Discovery Engine.  In ac_ioctl, the validation of IndexCard and the check for a valid RamIO pointer are skipped when cmd is 6. However, the function unconditionally executes readb(apbs[IndexCard].RamIO + VERS) at the end.  If cmd is 6, IndexCard may reference a board that does not exist (where RamIO is NULL), leading to a NULL pointer dereference.  Fix this by skipping the readb access when cmd is 6, as this command is a global information query and does not target a specific board context.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68781",
                                "url": "https://ubuntu.com/security/CVE-2025-68781",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: phy: fsl-usb: Fix use-after-free in delayed work during device removal  The delayed work item otg_event is initialized in fsl_otg_conf() and scheduled under two conditions: 1. When a host controller binds to the OTG controller. 2. When the USB ID pin state changes (cable insertion/removal).  A race condition occurs when the device is removed via fsl_otg_remove(): the fsl_otg instance may be freed while the delayed work is still pending or executing. This leads to use-after-free when the work function fsl_otg_event() accesses the already freed memory.  The problematic scenario:  (detach thread)            | (delayed work) fsl_otg_remove()           |   kfree(fsl_otg_dev) //FREE| fsl_otg_event()                            |   og = container_of(...) //USE                            |   og-> //USE  Fix this by calling disable_delayed_work_sync() in fsl_otg_remove() before deallocating the fsl_otg structure. This ensures the delayed work is properly canceled and completes execution prior to memory deallocation.  This bug was identified through static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68819",
                                "url": "https://ubuntu.com/security/CVE-2025-68819",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()  rlen value is a user-controlled value, but dtv5100_i2c_msg() does not check the size of the rlen value. Therefore, if it is set to a value larger than sizeof(st->data), an out-of-bounds vuln occurs for st->data.  Therefore, we need to add proper range checking to prevent this vuln.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71126",
                                "url": "https://ubuntu.com/security/CVE-2025-71126",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mptcp: avoid deadlock on fallback while reinjecting  Jakub reported an MPTCP deadlock at fallback time:   WARNING: possible recursive locking detected  6.18.0-rc7-virtme #1 Not tainted  --------------------------------------------  mptcp_connect/20858 is trying to acquire lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_try_fallback+0xd8/0x280   but task is already holding lock:  ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   other info that might help us debug this:   Possible unsafe locking scenario:          CPU0         ----    lock(&msk->fallback_lock);    lock(&msk->fallback_lock);    *** DEADLOCK ***    May be due to missing lock nesting notation   3 locks held by mptcp_connect/20858:   #0: ff1100001da18290 (sk_lock-AF_INET){+.+.}-{0:0}, at: mptcp_sendmsg+0x114/0x1bc0   #1: ff1100001db40fd0 (k-sk_lock-AF_INET#2){+.+.}-{0:0}, at: __mptcp_retrans+0x2cb/0xaa0   #2: ff1100001da18b60 (&msk->fallback_lock){+.-.}-{3:3}, at: __mptcp_retrans+0x352/0xaa0   stack backtrace:  CPU: 0 UID: 0 PID: 20858 Comm: mptcp_connect Not tainted 6.18.0-rc7-virtme #1 PREEMPT(full)  Hardware name: Bochs, BIOS Bochs 01/01/2011  Call Trace:   <TASK>   dump_stack_lvl+0x6f/0xa0   print_deadlock_bug.cold+0xc0/0xcd   validate_chain+0x2ff/0x5f0   __lock_acquire+0x34c/0x740   lock_acquire.part.0+0xbc/0x260   _raw_spin_lock_bh+0x38/0x50   __mptcp_try_fallback+0xd8/0x280   mptcp_sendmsg_frag+0x16c2/0x3050   __mptcp_retrans+0x421/0xaa0   mptcp_release_cb+0x5aa/0xa70   release_sock+0xab/0x1d0   mptcp_sendmsg+0xd5b/0x1bc0   sock_write_iter+0x281/0x4d0   new_sync_write+0x3c5/0x6f0   vfs_write+0x65e/0xbb0   ksys_write+0x17e/0x200   do_syscall_64+0xbb/0xfd0   entry_SYSCALL_64_after_hwframe+0x4b/0x53  RIP: 0033:0x7fa5627cbc5e  Code: 4d 89 d8 e8 14 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa  RSP: 002b:00007fff1fe14700 EFLAGS: 00000202 ORIG_RAX: 0000000000000001  RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 00007fa5627cbc5e  RDX: 0000000000001f9c RSI: 00007fff1fe16984 RDI: 0000000000000005  RBP: 00007fff1fe14710 R08: 0000000000000000 R09: 0000000000000000  R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff1fe16920  R13: 0000000000002000 R14: 0000000000001f9c R15: 0000000000001f9c  The packet scheduler could attempt a reinjection after receiving an MP_FAIL and before the infinite map has been transmitted, causing a deadlock since MPTCP needs to do the reinjection atomically from WRT fallback.  Address the issue explicitly avoiding the reinjection in the critical scenario. Note that this is the only fallback critical section that could potentially send packets and hit the double-lock.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68820",
                                "url": "https://ubuntu.com/security/CVE-2025-68820",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: xattr: fix null pointer deref in ext4_raw_inode()  If ext4_get_inode_loc() fails (e.g. if it returns -EFSCORRUPTED), iloc.bh will remain set to NULL. Since ext4_xattr_inode_dec_ref_all() lacks error checking, this will lead to a null pointer dereference in ext4_raw_inode(), called right after ext4_get_inode_loc().  Found by Linux Verification Center (linuxtesting.org) with SVACE.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71123",
                                "url": "https://ubuntu.com/security/CVE-2025-71123",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ext4: fix string copying in parse_apply_sb_mount_options()  strscpy_pad() can't be used to copy a non-NUL-term string into a NUL-term string of possibly bigger size.  Commit 0efc5990bca5 (\"string.h: Introduce memtostr() and memtostr_pad()\") provides additional information in that regard.  So if this happens, the following warning is observed:  strnlen: detected buffer overflow: 65 byte read of buffer size 64 WARNING: CPU: 0 PID: 28655 at lib/string_helpers.c:1032 __fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Modules linked in: CPU: 0 UID: 0 PID: 28655 Comm: syz-executor.3 Not tainted 6.12.54-syzkaller-00144-g5f0270f1ba00 #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__fortify_report+0x96/0xc0 lib/string_helpers.c:1032 Call Trace:  <TASK>  __fortify_panic+0x1f/0x30 lib/string_helpers.c:1039  strnlen include/linux/fortify-string.h:235 [inline]  sized_strscpy include/linux/fortify-string.h:309 [inline]  parse_apply_sb_mount_options fs/ext4/super.c:2504 [inline]  __ext4_fill_super fs/ext4/super.c:5261 [inline]  ext4_fill_super+0x3c35/0xad00 fs/ext4/super.c:5706  get_tree_bdev_flags+0x387/0x620 fs/super.c:1636  vfs_get_tree+0x93/0x380 fs/super.c:1814  do_new_mount fs/namespace.c:3553 [inline]  path_mount+0x6ae/0x1f70 fs/namespace.c:3880  do_mount fs/namespace.c:3893 [inline]  __do_sys_mount fs/namespace.c:4103 [inline]  __se_sys_mount fs/namespace.c:4080 [inline]  __x64_sys_mount+0x280/0x300 fs/namespace.c:4080  do_syscall_x64 arch/x86/entry/common.c:52 [inline]  do_syscall_64+0x64/0x140 arch/x86/entry/common.c:83  entry_SYSCALL_64_after_hwframe+0x76/0x7e  Since userspace is expected to provide s_mount_opts field to be at most 63 characters long with the ending byte being NUL-term, use a 64-byte buffer which matches the size of s_mount_opts, so that strscpy_pad() does its job properly.  Return with error if the user still managed to provide a non-NUL-term string here.  Found by Linux Verification Center (linuxtesting.org) with Syzkaller.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71077",
                                "url": "https://ubuntu.com/security/CVE-2025-71077",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  tpm: Cap the number of PCR banks  tpm2_get_pcr_allocation() does not cap any upper limit for the number of banks. Cap the limit to eight banks so that out of bounds values coming from external I/O cause on only limited harm.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68814",
                                "url": "https://ubuntu.com/security/CVE-2025-68814",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  io_uring: fix filename leak in __io_openat_prep()   __io_openat_prep() allocates a struct filename using getname(). However, for the condition of the file being installed in the fixed file table as well as having O_CLOEXEC flag set, the function returns early. At that point, the request doesn't have REQ_F_NEED_CLEANUP flag set. Due to this, the memory for the newly allocated struct filename is not cleaned up, causing a memory leak.  Fix this by setting the REQ_F_NEED_CLEANUP for the request just after the successful getname() call, so that when the request is torn down, the filename will be cleaned up, along with other resources needing cleanup.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71147",
                                "url": "https://ubuntu.com/security/CVE-2025-71147",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  KEYS: trusted: Fix a memory leak in tpm2_load_cmd  'tpm2_load_cmd' allocates a tempoary blob indirectly via 'tpm2_key_decode' but it is not freed in the failure paths. Address this by wrapping the blob into with a cleanup helper.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71151",
                                "url": "https://ubuntu.com/security/CVE-2025-71151",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  cifs: Fix memory and information leak in smb3_reconfigure()  In smb3_reconfigure(), if smb3_sync_session_ctx_passwords() fails, the function returns immediately without freeing and erasing the newly allocated new_password and new_password2. This causes both a memory leak and a potential information leak.  Fix this by calling kfree_sensitive() on both password buffers before returning in this error case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71109",
                                "url": "https://ubuntu.com/security/CVE-2025-71109",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits  Since commit e424054000878 (\"MIPS: Tracing: Reduce the overhead of dynamic Function Tracer\"), the macro UASM_i_LA_mostly has been used, and this macro can generate more than 2 instructions. At the same time, the code in ftrace assumes that no more than 2 instructions can be generated, which is why it stores them in an int[2] array. However, as previously noted, the macro UASM_i_LA_mostly (and now UASM_i_LA) causes a buffer overflow when _mcount is beyond 32 bits. This leads to corruption of the variables located in the __read_mostly section.  This corruption was observed because the variable __cpu_primary_thread_mask was corrupted, causing a hang very early during boot.  This fix prevents the corruption by avoiding the generation of instructions if they could exceed 2 instructions in length. Fortunately, insn_la_mcount is only used if the instrumented code is located outside the kernel code section, so dynamic ftrace can still be used, albeit in a more limited scope. This is still preferable to corrupting memory and/or crashing the kernel.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71108",
                                "url": "https://ubuntu.com/security/CVE-2025-71108",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  usb: typec: ucsi: Handle incorrect num_connectors capability  The UCSI spec states that the num_connectors field is 7 bits, and the 8th bit is reserved and should be set to zero. Some buggy FW has been known to set this bit, and it can lead to a system not booting. Flag that the FW is not behaving correctly, and auto-fix the value so that the system boots correctly.  Found on Lenovo P1 G8 during Linux enablement program. The FW will be fixed, but seemed worth addressing in case it hit platforms that aren't officially Linux supported.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71114",
                                "url": "https://ubuntu.com/security/CVE-2025-71114",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  via_wdt: fix critical boot hang due to unnamed resource allocation  The VIA watchdog driver uses allocate_resource() to reserve a MMIO region for the watchdog control register. However, the allocated resource was not given a name, which causes the kernel resource tree to contain an entry marked as \"<BAD>\" under /proc/iomem on x86 platforms.  During boot, this unnamed resource can lead to a critical hang because subsequent resource lookups and conflict checks fail to handle the invalid entry properly.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68783",
                                "url": "https://ubuntu.com/security/CVE-2025-68783",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ALSA: usb-mixer: us16x08: validate meter packet indices  get_meter_levels_from_urb() parses the 64-byte meter packets sent by the device and fills the per-channel arrays meter_level[], comp_level[] and master_level[] in struct snd_us16x08_meter_store.  Currently the function derives the channel index directly from the meter packet (MUB2(meter_urb, s) - 1) and uses it to index those arrays without validating the range. If the packet contains a negative or out-of-range channel number, the driver may write past the end of these arrays.  Introduce a local channel variable and validate it before updating the arrays. We reject negative indices, limit meter_level[] and comp_level[] to SND_US16X08_MAX_CHANNELS, and guard master_level[] updates with ARRAY_SIZE(master_level).",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68776",
                                "url": "https://ubuntu.com/security/CVE-2025-68776",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()  prp_get_untagged_frame() calls __pskb_copy() to create frame->skb_std but doesn't check if the allocation failed. If __pskb_copy() returns NULL, skb_clone() is called with a NULL pointer, causing a crash:  Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 0 UID: 0 PID: 5625 Comm: syz.1.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:skb_clone+0xd7/0x3a0 net/core/skbuff.c:2041 Code: 03 42 80 3c 20 00 74 08 4c 89 f7 e8 23 29 05 f9 49 83 3e 00 0f 85 a0 01 00 00 e8 94 dd 9d f8 48 8d 6b 7e 49 89 ee 49 c1 ee 03 <43> 0f b6 04 26 84 c0 0f 85 d1 01 00 00 44 0f b6 7d 00 41 83 e7 0c RSP: 0018:ffffc9000d00f200 EFLAGS: 00010207 RAX: ffffffff892235a1 RBX: 0000000000000000 RCX: ffff88803372a480 RDX: 0000000000000000 RSI: 0000000000000820 RDI: 0000000000000000 RBP: 000000000000007e R08: ffffffff8f7d0f77 R09: 1ffffffff1efa1ee R10: dffffc0000000000 R11: fffffbfff1efa1ef R12: dffffc0000000000 R13: 0000000000000820 R14: 000000000000000f R15: ffff88805144cc00 FS:  0000555557f6d500(0000) GS:ffff88808d72f000(0000) knlGS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000555581d35808 CR3: 000000005040e000 CR4: 0000000000352ef0 Call Trace:  <TASK>  hsr_forward_do net/hsr/hsr_forward.c:-1 [inline]  hsr_forward_skb+0x1013/0x2860 net/hsr/hsr_forward.c:741  hsr_handle_frame+0x6ce/0xa70 net/hsr/hsr_slave.c:84  __netif_receive_skb_core+0x10b9/0x4380 net/core/dev.c:5966  __netif_receive_skb_one_core net/core/dev.c:6077 [inline]  __netif_receive_skb+0x72/0x380 net/core/dev.c:6192  netif_receive_skb_internal net/core/dev.c:6278 [inline]  netif_receive_skb+0x1cb/0x790 net/core/dev.c:6337  tun_rx_batched+0x1b9/0x730 drivers/net/tun.c:1485  tun_get_user+0x2b65/0x3e90 drivers/net/tun.c:1953  tun_chr_write_iter+0x113/0x200 drivers/net/tun.c:1999  new_sync_write fs/read_write.c:593 [inline]  vfs_write+0x5c9/0xb30 fs/read_write.c:686  ksys_write+0x145/0x250 fs/read_write.c:738  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0449f8e1ff Code: 89 54 24 18 48 89 74 24 10 89 7c 24 08 e8 f9 92 02 00 48 8b 54 24 18 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 44 24 08 e8 4c 93 02 00 48 RSP: 002b:00007ffd7ad94c90 EFLAGS: 00000293 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f044a1e5fa0 RCX: 00007f0449f8e1ff RDX: 000000000000003e RSI: 0000200000000500 RDI: 00000000000000c8 RBP: 00007ffd7ad94d20 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000003e R11: 0000000000000293 R12: 0000000000000001 R13: 00007f044a1e5fa0 R14: 00007f044a1e5fa0 R15: 0000000000000003  </TASK>  Add a NULL check immediately after __pskb_copy() to handle allocation failures gracefully.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68773",
                                "url": "https://ubuntu.com/security/CVE-2025-68773",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  spi: fsl-cpm: Check length parity before switching to 16 bit mode  Commit fc96ec826bce (\"spi: fsl-cpm: Use 16 bit mode for large transfers with even size\") failed to make sure that the size is really even before switching to 16 bit mode. Until recently the problem went unnoticed because kernfs uses a pre-allocated bounce buffer of size PAGE_SIZE for reading EEPROM.  But commit 8ad6249c51d0 (\"eeprom: at25: convert to spi-mem API\") introduced an additional dynamically allocated bounce buffer whose size is exactly the size of the transfer, leading to a buffer overrun in the fsl-cpm driver when that size is odd.  Add the missing length parity verification and remain in 8 bit mode when the length is not even.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68822",
                                "url": "https://ubuntu.com/security/CVE-2025-68822",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: alps - fix use-after-free bugs caused by dev3_register_work  The dev3_register_work delayed work item is initialized within alps_reconnect() and scheduled upon receipt of the first bare PS/2 packet from an external PS/2 device connected to the ALPS touchpad. During device detachment, the original implementation calls flush_workqueue() in psmouse_disconnect() to ensure completion of dev3_register_work. However, the flush_workqueue() in psmouse_disconnect() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after flush_workqueue() has finished executing, the dev3_register_work could still be scheduled. Although the psmouse state is set to PSMOUSE_CMD_MODE in psmouse_disconnect(), the scheduling of dev3_register_work remains unaffected.  The race condition can occur as follows:  CPU 0 (cleanup path)     | CPU 1 (delayed work) psmouse_disconnect()     |   psmouse_set_state()    |   flush_workqueue()      | alps_report_bare_ps2_packet()   alps_disconnect()      |   psmouse_queue_work()     kfree(priv); // FREE | alps_register_bare_ps2_mouse()                          |   priv = container_of(work...); // USE                          |   priv->dev3 // USE  Add disable_delayed_work_sync() in alps_disconnect() to ensure that dev3_register_work is properly canceled and prevented from executing after the alps_data structure has been deallocated.  This bug is identified by static analysis.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71073",
                                "url": "https://ubuntu.com/security/CVE-2025-71073",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: lkkbd - disable pending work before freeing device  lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields.  lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free.  Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68777",
                                "url": "https://ubuntu.com/security/CVE-2025-68777",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation  The current validation 'wire_order[i] > ARRAY_SIZE(config_pins)' allows wire_order[i] to equal ARRAY_SIZE(config_pins), which causes out-of-bounds access when used as index in 'config_pins[wire_order[i]]'.  Since config_pins has 4 elements (indices 0-3), the valid range for wire_order should be 0-3. Fix the off-by-one error by using >= instead of > in the validation check.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68806",
                                "url": "https://ubuntu.com/security/CVE-2025-68806",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix buffer validation by including null terminator size in EA length  The smb2_set_ea function, which handles Extended Attributes (EA), was performing buffer validation checks that incorrectly omitted the size of the null terminating character (+1 byte) for EA Name. This patch fixes the issue by explicitly adding '+ 1' to EaNameLength where the null terminator is expected to be present in the buffer, ensuring the validation accurately reflects the total required buffer size.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71150",
                                "url": "https://ubuntu.com/security/CVE-2025-71150",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: Fix refcount leak when invalid session is found on session lookup  When a session is found but its state is not SMB2_SESSION_VALID, It indicates that no valid session was found, but it is missing to decrement the reference count acquired by the session lookup, which results in a reference count leak. This patch fixes the issue by explicitly calling ksmbd_user_session_put to release the reference to the session.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-23 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68786",
                                "url": "https://ubuntu.com/security/CVE-2025-68786",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: skip lock-range check on equal size to avoid size==0 underflow  When size equals the current i_size (including 0), the code used to call check_lock_range(filp, i_size, size - 1, WRITE), which computes `size - 1` and can underflow for size==0. Skip the equal case.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71076",
                                "url": "https://ubuntu.com/security/CVE-2025-71076",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe/oa: Limit num_syncs to prevent oversized allocations  The OA open parameters did not validate num_syncs, allowing userspace to pass arbitrarily large values, potentially leading to excessive allocations.  Add check to ensure that num_syncs does not exceed DRM_XE_MAX_SYNCS, returning -EINVAL when the limit is violated.  v2: use XE_IOCTL_DBG() and drop duplicated check. (Ashutosh)  (cherry picked from commit e057b2d2b8d815df3858a87dffafa2af37e5945b)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68802",
                                "url": "https://ubuntu.com/security/CVE-2025-68802",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  drm/xe: Limit num_syncs to prevent oversized allocations  The exec and vm_bind ioctl allow userspace to specify an arbitrary num_syncs value. Without bounds checking, a very large num_syncs can force an excessively large allocation, leading to kernel warnings from the page allocator as below.  Introduce DRM_XE_MAX_SYNCS (set to 1024) and reject any request exceeding this limit.  \" ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1217 at mm/page_alloc.c:5124 __alloc_frozen_pages_noprof+0x2f8/0x2180 mm/page_alloc.c:5124 ... Call Trace:  <TASK>  alloc_pages_mpol+0xe4/0x330 mm/mempolicy.c:2416  ___kmalloc_large_node+0xd8/0x110 mm/slub.c:4317  __kmalloc_large_node_noprof+0x18/0xe0 mm/slub.c:4348  __do_kmalloc_node mm/slub.c:4364 [inline]  __kmalloc_noprof+0x3d4/0x4b0 mm/slub.c:4388  kmalloc_noprof include/linux/slab.h:909 [inline]  kmalloc_array_noprof include/linux/slab.h:948 [inline]  xe_exec_ioctl+0xa47/0x1e70 drivers/gpu/drm/xe/xe_exec.c:158  drm_ioctl_kernel+0x1f1/0x3e0 drivers/gpu/drm/drm_ioctl.c:797  drm_ioctl+0x5e7/0xc50 drivers/gpu/drm/drm_ioctl.c:894  xe_drm_ioctl+0x10b/0x170 drivers/gpu/drm/xe/xe_device.c:224  vfs_ioctl fs/ioctl.c:51 [inline]  __do_sys_ioctl fs/ioctl.c:598 [inline]  __se_sys_ioctl fs/ioctl.c:584 [inline]  __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:584  do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]  do_syscall_64+0xbb/0x380 arch/x86/entry/syscall_64.c:94  entry_SYSCALL_64_after_hwframe+0x77/0x7f ... \"  v2: Add \"Reported-by\" and Cc stable kernels. v3: Change XE_MAX_SYNCS from 64 to 1024. (Matt & Ashutosh) v4: s/XE_MAX_SYNCS/DRM_XE_MAX_SYNCS/ (Matt) v5: Do the check at the top of the exec func. (Matt)  (cherry picked from commit b07bac9bd708ec468cd1b8a5fe70ae2ac9b0a11c)",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68789",
                                "url": "https://ubuntu.com/security/CVE-2025-68789",
                                "cve_description": "Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71112",
                                "url": "https://ubuntu.com/security/CVE-2025-71112",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: add VLAN id validation before using  Currently, the VLAN id may be used without validation when receive a VLAN configuration mailbox from VF. The length of vlan_del_fail_bmap is BITS_TO_LONGS(VLAN_N_VID). It may cause out-of-bounds memory access once the VLAN id is bigger than or equal to VLAN_N_VID.  Therefore, VLAN id needs to be checked to ensure it is within the range of VLAN_N_VID.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71064",
                                "url": "https://ubuntu.com/security/CVE-2025-71064",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: hns3: using the num_tqps in the vf driver to apply for resources  Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller than hdev->num_tqps, which causes some hdev->htqp[i] to remain uninitialized in hclgevf_knic_setup().  Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps, ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent and that all elements are properly initialized.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68775",
                                "url": "https://ubuntu.com/security/CVE-2025-68775",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/handshake: duplicate handshake cancellations leak socket  When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.  If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.  This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd.  When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport().  When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().  Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68816",
                                "url": "https://ubuntu.com/security/CVE-2025-68816",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/mlx5: fw_tracer, Validate format string parameters  Add validation for format string parameters in the firmware tracer to prevent potential security vulnerabilities and crashes from malformed format strings received from firmware.  The firmware tracer receives format strings from the device firmware and uses them to format trace messages. Without proper validation, bad firmware could provide format strings with invalid format specifiers (e.g., %s, %p, %n) that could lead to crashes, or other undefined behavior.  Add mlx5_tracer_validate_params() to validate that all format specifiers in trace strings are limited to safe integer/hex formats (%x, %d, %i, %u, %llx, %lx, etc.). Reject strings containing other format types that could be used to access arbitrary memory or cause crashes. Invalid format strings are added to the trace output for visibility with \"BAD_FORMAT: \" prefix.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68795",
                                "url": "https://ubuntu.com/security/CVE-2025-68795",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ethtool: Avoid overflowing userspace buffer on stats query  The ethtool -S command operates across three ioctl calls: ETHTOOL_GSSET_INFO for the size, ETHTOOL_GSTRINGS for the names, and ETHTOOL_GSTATS for the values.  If the number of stats changes between these calls (e.g., due to device reconfiguration), userspace's buffer allocation will be incorrect, potentially leading to buffer overflow.  Drivers are generally expected to maintain stable stat counts, but some drivers (e.g., mlx5, bnx2x, bna, ksz884x) use dynamic counters, making this scenario possible.  Some drivers try to handle this internally: - bnad_get_ethtool_stats() returns early in case stats.n_stats is not   equal to the driver's stats count. - micrel/ksz884x also makes sure not to write anything beyond   stats.n_stats and overflow the buffer.  However, both use stats.n_stats which is already assigned with the value returned from get_sset_count(), hence won't solve the issue described here.  Change ethtool_get_strings(), ethtool_get_stats(), ethtool_get_phy_stats() to not return anything in case of a mismatch between userspace's size and get_sset_size(), to prevent buffer overflow. The returned n_stats value will be equal to zero, to reflect that nothing has been returned.  This could result in one of two cases when using upstream ethtool, depending on when the size change is detected: 1. When detected in ethtool_get_strings():     # ethtool -S eth2     no stats available  2. When detected in get stats, all stats will be reported as zero.  Both cases are presumably transient, and a subsequent ethtool call should succeed.  Other than the overflow avoidance, these two cases are very evident (no output/cleared stats), which is arguably better than presenting incorrect/shifted stats. I also considered returning an error instead of a \"silent\" response, but that seems more destructive towards userspace apps.  Notes: - This patch does not claim to fix the inherent race, it only makes sure   that we do not overflow the userspace buffer, and makes for a more   predictable behavior.  - RTNL lock is held during each ioctl, the race window exists between   the separate ioctl calls when the lock is released.  - Userspace ethtool always fills stats.n_stats, but it is likely that   these stats ioctls are implemented in other userspace applications   which might not fill it. The added code checks that it's not zero,   to prevent any regressions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71122",
                                "url": "https://ubuntu.com/security/CVE-2025-71122",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED  syzkaller found it could overflow math in the test infrastructure and cause a WARN_ON by corrupting the reserved interval tree. This only effects test kernels with CONFIG_IOMMUFD_TEST.  Validate the user input length in the test ioctl.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68815",
                                "url": "https://ubuntu.com/security/CVE-2025-68815",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Remove drr class from the active list if it changes to strict  Whenever a user issues an ets qdisc change command, transforming a drr class into a strict one, the ets code isn't checking whether that class was in the active list and removing it. This means that, if a user changes a strict class (which was in the active list) back to a drr one, that class will be added twice to the active list [1].  Doing so with the following commands:  tc qdisc add dev lo root handle 1: ets bands 2 strict 1 tc qdisc add dev lo parent 1:2 handle 20: \\     tbf rate 8bit burst 100b latency 1s tc filter add dev lo parent 1: basic classid 1:2 ping -c1 -W0.01 -s 56 127.0.0.1 tc qdisc change dev lo root handle 1: ets bands 2 strict 2 tc qdisc change dev lo root handle 1: ets bands 2 strict 1 ping -c1 -W0.01 -s 56 127.0.0.1  Will trigger the following splat with list debug turned on:  [   59.279014][  T365] ------------[ cut here ]------------ [   59.279452][  T365] list_add double add: new=ffff88801d60e350, prev=ffff88801d60e350, next=ffff88801d60e2c0. [   59.280153][  T365] WARNING: CPU: 3 PID: 365 at lib/list_debug.c:35 __list_add_valid_or_report+0x17f/0x220 [   59.280860][  T365] Modules linked in: [   59.281165][  T365] CPU: 3 UID: 0 PID: 365 Comm: tc Not tainted 6.18.0-rc7-00105-g7e9f13163c13-dirty #239 PREEMPT(voluntary) [   59.281977][  T365] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [   59.282391][  T365] RIP: 0010:__list_add_valid_or_report+0x17f/0x220 [   59.282842][  T365] Code: 89 c6 e8 d4 b7 0d ff 90 0f 0b 90 90 31 c0 e9 31 ff ff ff 90 48 c7 c7 e0 a0 22 9f 48 89 f2 48 89 c1 4c 89 c6 e8 b2 b7 0d ff 90 <0f> 0b 90 90 31 c0 e9 0f ff ff ff 48 89 f7 48 89 44 24 10 4c 89 44 ... [   59.288812][  T365] Call Trace: [   59.289056][  T365]  <TASK> [   59.289224][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.289546][  T365]  ets_qdisc_change+0xd2b/0x1e80 [   59.289891][  T365]  ? __lock_acquire+0x7e7/0x1be0 [   59.290223][  T365]  ? __pfx_ets_qdisc_change+0x10/0x10 [   59.290546][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.290898][  T365]  ? __mutex_trylock_common+0xda/0x240 [   59.291228][  T365]  ? __pfx___mutex_trylock_common+0x10/0x10 [   59.291655][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.291993][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.292313][  T365]  ? trace_contention_end+0xc8/0x110 [   59.292656][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293022][  T365]  ? srso_alias_return_thunk+0x5/0xfbef5 [   59.293351][  T365]  tc_modify_qdisc+0x63a/0x1cf0  Fix this by always checking and removing an ets class from the active list when changing it to strict.  [1] https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/tree/net/sched/sch_ets.c?id=ce052b9402e461a9aded599f5b47e76bc727f7de#n663",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68799",
                                "url": "https://ubuntu.com/security/CVE-2025-68799",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  caif: fix integer underflow in cffrml_receive()  The cffrml_receive() function extracts a length field from the packet header and, when FCS is disabled, subtracts 2 from this length without validating that len >= 2.  If an attacker sends a malicious packet with a length field of 0 or 1 to an interface with FCS disabled, the subtraction causes an integer underflow.  This can lead to memory exhaustion and kernel instability, potential information disclosure if padding contains uninitialized kernel memory.  Fix this by validating that len >= 2 before performing the subtraction.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68813",
                                "url": "https://ubuntu.com/security/CVE-2025-68813",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ipvs: fix ipv4 null-ptr-deref in route error path  The IPv4 code path in __ip_vs_get_out_rt() calls dst_link_failure() without ensuring skb->dev is set, leading to a NULL pointer dereference in fib_compute_spec_dst() when ipv4_link_failure() attempts to send ICMP destination unreachable messages.  The issue emerged after commit ed0de45a1008 (\"ipv4: recompile ip options in ipv4_link_failure\") started calling __ip_options_compile() from ipv4_link_failure(). This code path eventually calls fib_compute_spec_dst() which dereferences skb->dev. An attempt was made to fix the NULL skb->dev dereference in commit 0113d9c9d1cc (\"ipv4: fix null-deref in ipv4_link_failure\"), but it only addressed the immediate dev_net(skb->dev) dereference by using a fallback device. The fix was incomplete because fib_compute_spec_dst() later in the call chain still accesses skb->dev directly, which remains NULL when IPVS calls dst_link_failure().  The crash occurs when: 1. IPVS processes a packet in NAT mode with a misconfigured destination 2. Route lookup fails in __ip_vs_get_out_rt() before establishing a route 3. The error path calls dst_link_failure(skb) with skb->dev == NULL 4. ipv4_link_failure() → ipv4_send_dest_unreach() →    __ip_options_compile() → fib_compute_spec_dst() 5. fib_compute_spec_dst() dereferences NULL skb->dev  Apply the same fix used for IPv6 in commit 326bf17ea5d4 (\"ipvs: fix ipv6 route unreach panic\"): set skb->dev from skb_dst(skb)->dev before calling dst_link_failure().  KASAN: null-ptr-deref in range [0x0000000000000328-0x000000000000032f] CPU: 1 PID: 12732 Comm: syz.1.3469 Not tainted 6.6.114 #2 RIP: 0010:__in_dev_get_rcu include/linux/inetdevice.h:233 RIP: 0010:fib_compute_spec_dst+0x17a/0x9f0 net/ipv4/fib_frontend.c:285 Call Trace:   <TASK>   spec_dst_fill net/ipv4/ip_options.c:232   spec_dst_fill net/ipv4/ip_options.c:229   __ip_options_compile+0x13a1/0x17d0 net/ipv4/ip_options.c:330   ipv4_send_dest_unreach net/ipv4/route.c:1252   ipv4_link_failure+0x702/0xb80 net/ipv4/route.c:1265   dst_link_failure include/net/dst.h:437   __ip_vs_get_out_rt+0x15fd/0x19e0 net/netfilter/ipvs/ip_vs_xmit.c:412   ip_vs_nat_xmit+0x1d8/0xc80 net/netfilter/ipvs/ip_vs_xmit.c:764",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68785",
                                "url": "https://ubuntu.com/security/CVE-2025-68785",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: openvswitch: fix middle attribute validation in push_nsh() action  The push_nsh() action structure looks like this:   OVS_ACTION_ATTR_PUSH_NSH(OVS_KEY_ATTR_NSH(OVS_NSH_KEY_ATTR_BASE,...))  The outermost OVS_ACTION_ATTR_PUSH_NSH attribute is OK'ed by the nla_for_each_nested() inside __ovs_nla_copy_actions().  The innermost OVS_NSH_KEY_ATTR_BASE/MD1/MD2 are OK'ed by the nla_for_each_nested() inside nsh_key_put_from_nlattr().  But nothing checks if the attribute in the middle is OK.  We don't even check that this attribute is the OVS_KEY_ATTR_NSH.  We just do a double unwrap with a pair of nla_data() calls - first time directly while calling validate_push_nsh() and the second time as part of the nla_for_each_nested() macro, which isn't safe, potentially causing invalid memory access if the size of this attribute is incorrect.  The failure may not be noticed during validation due to larger netlink buffer, but cause trouble later during action execution where the buffer is allocated exactly to the size:   BUG: KASAN: slab-out-of-bounds in nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]  Read of size 184 at addr ffff88816459a634 by task a.out/22624   CPU: 8 UID: 0 PID: 22624 6.18.0-rc7+ #115 PREEMPT(voluntary)  Call Trace:   <TASK>   dump_stack_lvl+0x51/0x70   print_address_description.constprop.0+0x2c/0x390   kasan_report+0xdd/0x110   kasan_check_range+0x35/0x1b0   __asan_memcpy+0x20/0x60   nsh_hdr_from_nlattr+0x1dd/0x6a0 [openvswitch]   push_nsh+0x82/0x120 [openvswitch]   do_execute_actions+0x1405/0x2840 [openvswitch]   ovs_execute_actions+0xd5/0x3b0 [openvswitch]   ovs_packet_cmd_execute+0x949/0xdb0 [openvswitch]   genl_family_rcv_msg_doit+0x1d6/0x2b0   genl_family_rcv_msg+0x336/0x580   genl_rcv_msg+0x9f/0x130   netlink_rcv_skb+0x11f/0x370   genl_rcv+0x24/0x40   netlink_unicast+0x73e/0xaa0   netlink_sendmsg+0x744/0xbf0   __sys_sendto+0x3d6/0x450   do_syscall_64+0x79/0x2c0   entry_SYSCALL_64_after_hwframe+0x76/0x7e   </TASK>  Let's add some checks that the attribute is properly sized and it's the only one attribute inside the action.  Technically, there is no real reason for OVS_KEY_ATTR_NSH to be there, as we know that we're pushing an NSH header already, it just creates extra nesting, but that's how uAPI works today.  So, keeping as it is.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68770",
                                "url": "https://ubuntu.com/security/CVE-2025-68770",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bnxt_en: Fix XDP_TX path  For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct.  __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations.  In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again.  Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp().  But if the TX ring has no more room, the flag will not be set.  This will cause the TX producer to be ahead but the driver will not hit the TX doorbell.  For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT.  The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt().  The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets.  The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68800",
                                "url": "https://ubuntu.com/security/CVE-2025-68800",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_mr: Fix use-after-free when updating multicast route stats  Cited commit added a dedicated mutex (instead of RTNL) to protect the multicast route list, so that it will not change while the driver periodically traverses it in order to update the kernel about multicast route stats that were queried from the device.  One instance of list entry deletion (during route replace) was missed and it can result in a use-after-free [1].  Fix by acquiring the mutex before deleting the entry from the list and releasing it afterwards.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum] Read of size 8 at addr ffff8881523c2fa8 by task kworker/2:5/22043  CPU: 2 UID: 0 PID: 22043 Comm: kworker/2:5 Not tainted 6.18.0-rc1-custom-g1a3d6d7cd014 #1 PREEMPT(full) Hardware name: Mellanox Technologies Ltd. MSN2010/SA002610, BIOS 5.6.5 08/24/2017 Workqueue: mlxsw_core mlxsw_sp_mr_stats_update [mlxsw_spectrum] Call Trace:  <TASK>  dump_stack_lvl+0xba/0x110  print_report+0x174/0x4f5  kasan_report+0xdf/0x110  mlxsw_sp_mr_stats_update+0x4a5/0x540 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:1006 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  </TASK>  Allocated by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x8f/0xa0  mlxsw_sp_mr_route_add+0xd8/0x4770 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30  Freed by task 29933:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x70  __kasan_slab_free+0x43/0x70  kfree+0x14e/0x700  mlxsw_sp_mr_route_add+0x2dea/0x4770 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c:444 [mlxsw_spectrum]  mlxsw_sp_router_fibmr_event_work+0x371/0xad0 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:7965 [mlxsw_spectrum]  process_one_work+0x9cc/0x18e0  worker_thread+0x5df/0xe40  kthread+0x3b8/0x730  ret_from_fork+0x3e9/0x560  ret_from_fork_asm+0x1a/0x30",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68801",
                                "url": "https://ubuntu.com/security/CVE-2025-68801",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  mlxsw: spectrum_router: Fix neighbour use-after-free  We sometimes observe use-after-free when dereferencing a neighbour [1]. The problem seems to be that the driver stores a pointer to the neighbour, but without holding a reference on it. A reference is only taken when the neighbour is used by a nexthop.  Fix by simplifying the reference counting scheme. Always take a reference when storing a neighbour pointer in a neighbour entry. Avoid taking a referencing when the neighbour is used by a nexthop as the neighbour entry associated with the nexthop already holds a reference.  Tested by running the test that uncovered the problem over 300 times. Without this patch the problem was reproduced after a handful of iterations.  [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x2d4/0x310 Read of size 8 at addr ffff88817f8e3420 by task ip/3929  CPU: 3 UID: 0 PID: 3929 Comm: ip Not tainted 6.18.0-rc4-virtme-g36b21a067510 #3 PREEMPT(full) Hardware name: Nvidia SN5600/VMOD0013, BIOS 5.13 05/31/2023 Call Trace:  <TASK>  dump_stack_lvl+0x6f/0xa0  print_address_description.constprop.0+0x6e/0x300  print_report+0xfc/0x1fb  kasan_report+0xe4/0x110  mlxsw_sp_neigh_entry_update+0x2d4/0x310  mlxsw_sp_router_rif_gone_sync+0x35f/0x510  mlxsw_sp_rif_destroy+0x1ea/0x730  mlxsw_sp_inetaddr_port_vlan_event+0xa1/0x1b0  __mlxsw_sp_inetaddr_lag_event+0xcc/0x130  __mlxsw_sp_inetaddr_event+0xf5/0x3c0  mlxsw_sp_router_netdevice_event+0x1015/0x1580  notifier_call_chain+0xcc/0x150  call_netdevice_notifiers_info+0x7e/0x100  __netdev_upper_dev_unlink+0x10b/0x210  netdev_upper_dev_unlink+0x79/0xa0  vrf_del_slave+0x18/0x50  do_set_master+0x146/0x7d0  do_setlink.isra.0+0x9a0/0x2880  rtnl_newlink+0x637/0xb20  rtnetlink_rcv_msg+0x6fe/0xb90  netlink_rcv_skb+0x123/0x380  netlink_unicast+0x4a3/0x770  netlink_sendmsg+0x75b/0xc90  __sock_sendmsg+0xbe/0x160  ____sys_sendmsg+0x5b2/0x7d0  ___sys_sendmsg+0xfd/0x180  __sys_sendmsg+0x124/0x1c0  do_syscall_64+0xbb/0xfd0  entry_SYSCALL_64_after_hwframe+0x4b/0x53 [...]  Allocated by task 109:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_kmalloc+0x7b/0x90  __kmalloc_noprof+0x2c1/0x790  neigh_alloc+0x6af/0x8f0  ___neigh_create+0x63/0xe90  mlxsw_sp_nexthop_neigh_init+0x430/0x7e0  mlxsw_sp_nexthop_type_init+0x212/0x960  mlxsw_sp_nexthop6_group_info_init.constprop.0+0x81f/0x1280  mlxsw_sp_nexthop6_group_get+0x392/0x6a0  mlxsw_sp_fib6_entry_create+0x46a/0xfd0  mlxsw_sp_router_fib6_replace+0x1ed/0x5f0  mlxsw_sp_router_fib6_event_work+0x10a/0x2a0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Freed by task 154:  kasan_save_stack+0x30/0x50  kasan_save_track+0x14/0x30  __kasan_save_free_info+0x3b/0x60  __kasan_slab_free+0x43/0x70  kmem_cache_free_bulk.part.0+0x1eb/0x5e0  kvfree_rcu_bulk+0x1f2/0x260  kfree_rcu_work+0x130/0x1b0  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20  Last potentially related work creation:  kasan_save_stack+0x30/0x50  kasan_record_aux_stack+0x8c/0xa0  kvfree_call_rcu+0x93/0x5b0  mlxsw_sp_router_neigh_event_work+0x67d/0x860  process_one_work+0xd57/0x1390  worker_thread+0x4d6/0xd40  kthread+0x355/0x5b0  ret_from_fork+0x1d4/0x270  ret_from_fork_asm+0x11/0x20",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71066",
                                "url": "https://ubuntu.com/security/CVE-2025-71066",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change  zdi-disclosures@trendmicro.com says:  The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`.  It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis.  Analysis:  static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt,                           struct netlink_ext_ack *extack) { ...        // (1) this lock is preventing .change handler (`ets_qdisc_change`)       //to race with .dequeue handler (`ets_qdisc_dequeue`)       sch_tree_lock(sch);        for (i = nbands; i < oldbands; i++) {               if (i >= q->nstrict && q->classes[i].qdisc->q.qlen)                       list_del_init(&q->classes[i].alist);               qdisc_purge_queue(q->classes[i].qdisc);       }        WRITE_ONCE(q->nbands, nbands);       for (i = nstrict; i < q->nstrict; i++) {               if (q->classes[i].qdisc->q.qlen) { \t\t      // (2) the class is added to the q->active                       list_add_tail(&q->classes[i].alist, &q->active);                       q->classes[i].deficit = quanta[i];               }       }       WRITE_ONCE(q->nstrict, nstrict);       memcpy(q->prio2band, priomap, sizeof(priomap));        for (i = 0; i < q->nbands; i++)               WRITE_ONCE(q->classes[i].quantum, quanta[i]);        for (i = oldbands; i < q->nbands; i++) {               q->classes[i].qdisc = queues[i];               if (q->classes[i].qdisc != &noop_qdisc)                       qdisc_hash_add(q->classes[i].qdisc, true);       }        // (3) the qdisc is unlocked, now dequeue can be called in parallel       // to the rest of .change handler       sch_tree_unlock(sch);        ets_offload_change(sch);       for (i = q->nbands; i < oldbands; i++) { \t      // (4) we're reducing the refcount for our class's qdisc and \t      //  freeing it               qdisc_put(q->classes[i].qdisc); \t      // (5) If we call .dequeue between (4) and (5), we will have \t      // a strong UAF and we can control RIP               q->classes[i].qdisc = NULL;               WRITE_ONCE(q->classes[i].quantum, 0);               q->classes[i].deficit = 0;               gnet_stats_basic_sync_init(&q->classes[i].bstats);               memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats));       }       return 0; }  Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc  Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com)  ``` DEV=\"${DEV:-lo}\" ROOT_HANDLE=\"${ROOT_HANDLE:-1:}\" BAND2_HANDLE=\"${BAND2_HANDLE:-20:}\"   # child under 1:2 PING_BYTES=\"${PING_BYTES:-48}\" PING_COUNT=\"${PING_COUNT:-200000}\" PING_DST=\"${PING_DST:-127.0.0.1}\"  SLOW_TBF_RATE=\"${SLOW_TBF_RATE:-8bit}\" SLOW_TBF_BURST=\"${SLOW_TBF_BURST:-100b}\" SLOW_TBF_LAT=\"${SLOW_TBF_LAT:-1s}\"  cleanup() {   tc qdisc del dev \"$DEV\" root 2>/dev/null } trap cleanup EXIT  ip link set \"$DEV\" up  tc qdisc del dev \"$DEV\" root 2>/dev/null || true  tc qdisc add dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2  tc qdisc add dev \"$DEV\" parent 1:2 handle \"$BAND2_HANDLE\" \\   tbf rate \"$SLOW_TBF_RATE\" burst \"$SLOW_TBF_BURST\" latency \"$SLOW_TBF_LAT\"  tc filter add dev \"$DEV\" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV  ping -I \"$DEV\" -f -c \"$PING_COUNT\" -s \"$PING_BYTES\" -W 0.001 \"$PING_DST\" \\   >/dev/null 2>&1 & tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 0 tc qdisc change dev \"$DEV\" root handle \"$ROOT_HANDLE\" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev \"$DEV\" parent ---truncated---",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68787",
                                "url": "https://ubuntu.com/security/CVE-2025-68787",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netrom: Fix memory leak in nr_sendmsg()  syzbot reported a memory leak [1].  When function sock_alloc_send_skb() return NULL in nr_output(), the original skb is not freed, which was allocated in nr_sendmsg(). Fix this by freeing it before return.  [1] BUG: memory leak unreferenced object 0xffff888129f35500 (size 240):   comm \"syz.0.17\", pid 6119, jiffies 4294944652   hex dump (first 32 bytes):     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................     00 00 00 00 00 00 00 00 00 10 52 28 81 88 ff ff  ..........R(....   backtrace (crc 1456a3e4):     kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]     slab_post_alloc_hook mm/slub.c:4983 [inline]     slab_alloc_node mm/slub.c:5288 [inline]     kmem_cache_alloc_node_noprof+0x36f/0x5e0 mm/slub.c:5340     __alloc_skb+0x203/0x240 net/core/skbuff.c:660     alloc_skb include/linux/skbuff.h:1383 [inline]     alloc_skb_with_frags+0x69/0x3f0 net/core/skbuff.c:6671     sock_alloc_send_pskb+0x379/0x3e0 net/core/sock.c:2965     sock_alloc_send_skb include/net/sock.h:1859 [inline]     nr_sendmsg+0x287/0x450 net/netrom/af_netrom.c:1105     sock_sendmsg_nosec net/socket.c:727 [inline]     __sock_sendmsg net/socket.c:742 [inline]     sock_write_iter+0x293/0x2a0 net/socket.c:1195     new_sync_write fs/read_write.c:593 [inline]     vfs_write+0x45d/0x710 fs/read_write.c:686     ksys_write+0x143/0x170 fs/read_write.c:738     do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]     do_syscall_64+0xa4/0xfa0 arch/x86/entry/syscall_64.c:94     entry_SYSCALL_64_after_hwframe+0x77/0x7f",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68809",
                                "url": "https://ubuntu.com/security/CVE-2025-68809",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: vfs: fix race on m_flags in vfs_cache  ksmbd maintains delete-on-close and pending-delete state in ksmbd_inode->m_flags. In vfs_cache.c this field is accessed under inconsistent locking: some paths read and modify m_flags under ci->m_lock while others do so without taking the lock at all.  Examples:   - ksmbd_query_inode_status() and __ksmbd_inode_close() use    ci->m_lock when checking or updating m_flags.  - ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete() and ksmbd_fd_set_delete_on_close()    used to read and modify m_flags without ci->m_lock.  This creates a potential data race on m_flags when multiple threads open, close and delete the same file concurrently. In the worst case delete-on-close and pending-delete bits can be lost or observed in an inconsistent state, leading to confusing delete semantics (files that stay on disk after delete-on-close, or files that disappear while still in use).  Fix it by:   - Making ksmbd_query_inode_status() look at m_flags under ci->m_lock    after dropping inode_hash_lock.  - Adding ci->m_lock protection to all helpers that read or modify    m_flags (ksmbd_inode_pending_delete(), ksmbd_set_inode_pending_delete(),    ksmbd_clear_inode_pending_delete(), ksmbd_fd_set_delete_on_close()).  - Keeping the existing ci->m_lock protection in __ksmbd_inode_close(),    and moving the actual unlink/xattr removal outside the lock.  This unifies the locking around m_flags and removes the data race while preserving the existing delete-on-close behaviour.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68817",
                                "url": "https://ubuntu.com/security/CVE-2025-68817",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency  Under high concurrency, A tree-connection object (tcon) is freed on a disconnect path while another path still holds a reference and later executes *_put()/write on it.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68767",
                                "url": "https://ubuntu.com/security/CVE-2025-68767",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: Verify inode mode when loading from disk  syzbot is reporting that S_IFMT bits of inode->i_mode can become bogus when the S_IFMT bits of the 16bits \"mode\" field loaded from disk are corrupted.  According to [1], the permissions field was treated as reserved in Mac OS 8 and 9. According to [2], the reserved field was explicitly initialized with 0, and that field must remain 0 as long as reserved. Therefore, when the \"mode\" field is not 0 (i.e. no longer reserved), the file must be S_IFDIR if dir == 1, and the file must be one of S_IFREG/S_IFLNK/S_IFCHR/ S_IFBLK/S_IFIFO/S_IFSOCK if dir == 0.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68774",
                                "url": "https://ubuntu.com/security/CVE-2025-68774",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create  When sync() and link() are called concurrently, both threads may enter hfs_bnode_find() without finding the node in the hash table and proceed to create it.  Thread A:   hfsplus_write_inode()     -> hfsplus_write_system_inode()       -> hfs_btree_write()         -> hfs_bnode_find(tree, 0)           -> __hfs_bnode_create(tree, 0)  Thread B:   hfsplus_create_cat()     -> hfs_brec_insert()       -> hfs_bnode_split()         -> hfs_bmap_alloc()           -> hfs_bnode_find(tree, 0)             -> __hfs_bnode_create(tree, 0)  In this case, thread A creates the bnode, sets refcnt=1, and hashes it. Thread B also tries to create the same bnode, notices it has already been inserted, drops its own instance, and uses the hashed one without getting the node.  ```  \tnode2 = hfs_bnode_findhash(tree, cnid); \tif (!node2) {                                 <- Thread A \t\thash = hfs_bnode_hash(cnid); \t\tnode->next_hash = tree->node_hash[hash]; \t\ttree->node_hash[hash] = node; \t\ttree->node_hash_cnt++; \t} else {                                      <- Thread B \t\tspin_unlock(&tree->hash_lock); \t\tkfree(node); \t\twait_event(node2->lock_wq, \t\t\t!test_bit(HFS_BNODE_NEW, &node2->flags)); \t\treturn node2; \t} ```  However, hfs_bnode_find() requires each call to take a reference. Here both threads end up setting refcnt=1. When they later put the node, this triggers:  BUG_ON(!atomic_read(&node->refcnt))  In this scenario, Thread B in fact finds the node in the hash table rather than creating a new one, and thus must take a reference.  Fix this by calling hfs_bnode_get() when reusing a bnode newly created by another thread to ensure the refcount is updated correctly.  A similar bug was fixed in HFS long ago in commit a9dc087fd3c4 (\"fix missing hfs_bnode_get() in __hfs_bnode_create\") but the same issue remained in HFS+ until now.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71067",
                                "url": "https://ubuntu.com/security/CVE-2025-71067",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ntfs: set dummy blocksize to read boot_block when mounting  When mounting, sb->s_blocksize is used to read the boot_block without being defined or validated. Set a dummy blocksize before attempting to read the boot_block.  The issue can be triggered with the following syz reproducer:    mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\\x00', 0x0)   r4 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000040), 0x121403, 0x0)   ioctl$FS_IOC_SETFLAGS(r4, 0x40081271, &(0x7f0000000980)=0x4000)   mount(&(0x7f0000000140)=@nullb, &(0x7f0000000040)='./cgroup\\x00',         &(0x7f0000000000)='ntfs3\\x00', 0x2208004, 0x0)   syz_clone(0x88200200, 0x0, 0x0, 0x0, 0x0, 0x0)  Here, the ioctl sets the bdev block size to 16384. During mount, get_tree_bdev_flags() calls sb_set_blocksize(sb, block_size(bdev)), but since block_size(bdev) > PAGE_SIZE, sb_set_blocksize() leaves sb->s_blocksize at zero.  Later, ntfs_init_from_boot() attempts to read the boot_block while sb->s_blocksize is still zero, which triggers the bug.  [almaz.alexandrovich@paragon-software.com: changed comment style, added return value handling]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71118",
                                "url": "https://ubuntu.com/security/CVE-2025-71118",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  ACPICA: Avoid walking the Namespace if start_node is NULL  Although commit 0c9992315e73 (\"ACPICA: Avoid walking the ACPI Namespace if it is not there\") fixed the situation when both start_node and acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed on Honor Magicbook 14 Pro [1].  That happens due to the access to the member of parent_node in acpi_ns_get_next_node().  The NULL pointer dereference will always happen, no matter whether or not the start_node is equal to ACPI_ROOT_OBJECT, so move the check of start_node being NULL out of the if block.  Unfortunately, all the attempts to contact Honor have failed, they refused to provide any technical support for Linux.  The bad DSDT table's dump could be found on GitHub [2].  DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025  [ rjw: Subject adjustment, changelog edits ]",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-14 15:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68780",
                                "url": "https://ubuntu.com/security/CVE-2025-68780",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  sched/deadline: only set free_cpus for online runqueues  Commit 16b269436b72 (\"sched/deadline: Modify cpudl::free_cpus to reflect rd->online\") introduced the cpudl_set/clear_freecpu functions to allow the cpu_dl::free_cpus mask to be manipulated by the deadline scheduler class rq_on/offline callbacks so the mask would also reflect this state.  Commit 9659e1eeee28 (\"sched/deadline: Remove cpu_active_mask from cpudl_find()\") removed the check of the cpu_active_mask to save some processing on the premise that the cpudl::free_cpus mask already reflected the runqueue online state.  Unfortunately, there are cases where it is possible for the cpudl_clear function to set the free_cpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudl_find sees its free_cpus bit is set. If this happens the task will not have the opportunity to run.  One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com  Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeue_task member of the deadline scheduler class will eventually call cpudl_clear and set the free_cpus bit for the CPU.  This commit modifies the cpudl_clear function to be aware of the online state of the deadline runqueue so that the free_cpus mask can be updated appropriately.  It is no longer necessary to manage the mask outside of the cpudl_set/clear functions so the cpudl_set/clear_freecpu functions are removed. In addition, since the free_cpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic __cpumask functions.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68798",
                                "url": "https://ubuntu.com/security/CVE-2025-68798",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  perf/x86/amd: Check event before enable to avoid GPF  On AMD machines cpuc->events[idx] can become NULL in a subtle race condition with NMI->throttle->x86_pmu_stop().  Check event for NULL in amd_pmu_enable_all() before enable to avoid a GPF. This appears to be an AMD only issue.  Syzkaller reported a GPF in amd_pmu_enable_all.  INFO: NMI handler (perf_event_nmi_handler) took too long to run: 13.143     msecs Oops: general protection fault, probably for non-canonical address     0xdffffc0000000034: 0000  PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x00000000000001a0-0x00000000000001a7] CPU: 0 UID: 0 PID: 328415 Comm: repro_36674776 Not tainted 6.12.0-rc1-syzk RIP: 0010:x86_pmu_enable_event (arch/x86/events/perf_event.h:1195     arch/x86/events/core.c:1430) RSP: 0018:ffff888118009d60 EFLAGS: 00010012 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000034 RSI: 0000000000000000 RDI: 00000000000001a0 RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000002 R13: ffff88811802a440 R14: ffff88811802a240 R15: ffff8881132d8601 FS:  00007f097dfaa700(0000) GS:ffff888118000000(0000) GS:0000000000000000 CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200001c0 CR3: 0000000103d56000 CR4: 00000000000006f0 Call Trace:  <IRQ> amd_pmu_enable_all (arch/x86/events/amd/core.c:760 (discriminator 2)) x86_pmu_enable (arch/x86/events/core.c:1360) event_sched_out (kernel/events/core.c:1191 kernel/events/core.c:1186     kernel/events/core.c:2346) __perf_remove_from_context (kernel/events/core.c:2435) event_function (kernel/events/core.c:259) remote_function (kernel/events/core.c:92 (discriminator 1)     kernel/events/core.c:72 (discriminator 1)) __flush_smp_call_function_queue (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207 ./include/trace/events/csd.h:64     kernel/smp.c:135 kernel/smp.c:540) __sysvec_call_function_single (./arch/x86/include/asm/jump_label.h:27     ./include/linux/jump_label.h:207     ./arch/x86/include/asm/trace/irq_vectors.h:99 arch/x86/kernel/smp.c:272) sysvec_call_function_single (arch/x86/kernel/smp.c:266 (discriminator 47)     arch/x86/kernel/smp.c:266 (discriminator 47))  </IRQ>",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68794",
                                "url": "https://ubuntu.com/security/CVE-2025-68794",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  iomap: adjust read range correctly for non-block-aligned positions  iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio.  Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-71072",
                                "url": "https://ubuntu.com/security/CVE-2025-71072",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  shmem: fix recovery on rename failures  maple_tree insertions can fail if we are seriously short on memory; simple_offset_rename() does not recover well if it runs into that. The same goes for simple_offset_rename_exchange().  Moreover, shmem_whiteout() expects that if it succeeds, the caller will progress to d_move(), i.e. that shmem_rename2() won't fail past the successful call of shmem_whiteout().  Not hard to fix, fortunately - mtree_store() can't fail if the index we are trying to store into is already present in the tree as a singleton.  For simple_offset_rename_exchange() that's enough - we just need to be careful about the order of operations.  For simple_offset_rename() solution is to preinsert the target into the tree for new_dir; the rest can be done without any potentially failing operations.  That preinsertion has to be done in shmem_rename2() rather than in simple_offset_rename() itself - otherwise we'd need to deal with the possibility of failure after successful shmem_whiteout().",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-01-13 16:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68351",
                                "url": "https://ubuntu.com/security/CVE-2025-68351",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  exfat: fix refcount leak in exfat_find  Fix refcount leaks in `exfat_find` related to `exfat_get_dentry_set`.  Function `exfat_get_dentry_set` would increase the reference counter of `es->bh` on success. Therefore, `exfat_put_dentry_set` must be called after `exfat_get_dentry_set` to ensure refcount consistency. This patch relocate two checks to avoid possible leaks.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68736",
                                "url": "https://ubuntu.com/security/CVE-2025-68736",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  landlock: Fix handling of disconnected directories  Disconnected files or directories can appear when they are visible and opened from a bind mount, but have been renamed or moved from the source of the bind mount in a way that makes them inaccessible from the mount point (i.e. out of scope).  Previously, access rights tied to files or directories opened through a disconnected directory were collected by walking the related hierarchy down to the root of the filesystem, without taking into account the mount point because it couldn't be found. This could lead to inconsistent access results, potential access right widening, and hard-to-debug renames, especially since such paths cannot be printed.  For a sandboxed task to create a disconnected directory, it needs to have write access (i.e. FS_MAKE_REG, FS_REMOVE_FILE, and FS_REFER) to the underlying source of the bind mount, and read access to the related mount point.   Because a sandboxed task cannot acquire more access rights than those defined by its Landlock domain, this could lead to inconsistent access rights due to missing permissions that should be inherited from the mount point hierarchy, while inheriting permissions from the filesystem hierarchy hidden by this mount point instead.  Landlock now handles files and directories opened from disconnected directories by taking into account the filesystem hierarchy when the mount point is not found in the hierarchy walk, and also always taking into account the mount point from which these disconnected directories were opened.  This ensures that a rename is not allowed if it would widen access rights [1].  The rationale is that, even if disconnected hierarchies might not be visible or accessible to a sandboxed task, relying on the collected access rights from them improves the guarantee that access rights will not be widened during a rename because of the access right comparison between the source and the destination (see LANDLOCK_ACCESS_FS_REFER). It may look like this would grant more access on disconnected files and directories, but the security policies are always enforced for all the evaluated hierarchies.  This new behavior should be less surprising to users and safer from an access control perspective.  Remove a wrong WARN_ON_ONCE() canary in collect_domain_accesses() and fix the related comment.  Because opened files have their access rights stored in the related file security properties, there is no impact for disconnected or unlinked files.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68353",
                                "url": "https://ubuntu.com/security/CVE-2025-68353",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net: vxlan: prevent NULL deref in vxlan_xmit_one  Neither sock4 nor sock6 pointers are guaranteed to be non-NULL in vxlan_xmit_one, e.g. if the iface is brought down. This can lead to the following NULL dereference:    BUG: kernel NULL pointer dereference, address: 0000000000000010   Oops: Oops: 0000 [#1] SMP NOPTI   RIP: 0010:vxlan_xmit_one+0xbb3/0x1580   Call Trace:    vxlan_xmit+0x429/0x610    dev_hard_start_xmit+0x55/0xa0    __dev_queue_xmit+0x6d0/0x7f0    ip_finish_output2+0x24b/0x590    ip_output+0x63/0x110  Mentioned commits changed the code path in vxlan_xmit_one and as a side effect the sock4/6 pointer validity checks in vxlan(6)_get_route were lost. Fix this by adding back checks.  Since both commits being fixed were released in the same version (v6.7) and are strongly related, bundle the fixes in a single commit.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68745",
                                "url": "https://ubuntu.com/security/CVE-2025-68745",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  scsi: qla2xxx: Clear cmds after chip reset  Commit aefed3e5548f (\"scsi: qla2xxx: target: Fix offline port handling and host reset handling\") caused two problems:  1. Commands sent to FW, after chip reset got stuck and never freed as FW    is not going to respond to them anymore.  2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd().  Commit 26f9ce53817a    (\"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\")    attempted to fix this, but introduced another bug under different    circumstances when two different CPUs were racing to call    qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in    dma_unmap_sg_attrs().  So revert \"scsi: qla2xxx: Fix missed DMA unmap for aborted commands\" and partially revert \"scsi: qla2xxx: target: Fix offline port handling and host reset handling\" at __qla2x00_abort_all_cmds.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 13:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68365",
                                "url": "https://ubuntu.com/security/CVE-2025-68365",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  fs/ntfs3: Initialize allocated memory before use  KMSAN reports: Multiple uninitialized values detected:  - KMSAN: uninit-value in ntfs_read_hdr (3) - KMSAN: uninit-value in bcmp (3)  Memory is allocated by __getname(), which is a wrapper for kmem_cache_alloc(). This memory is used before being properly cleared. Change kmem_cache_alloc() to kmem_cache_zalloc() to properly allocate and clear memory before use.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68368",
                                "url": "https://ubuntu.com/security/CVE-2025-68368",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  md: init bioset in mddev_init  IO operations may be needed before md_run(), such as updating metadata after writing sysfs. Without bioset, this triggers a NULL pointer dereference as below:   BUG: kernel NULL pointer dereference, address: 0000000000000020  Call Trace:   md_update_sb+0x658/0xe00   new_level_store+0xc5/0x120   md_attr_store+0xc9/0x1e0   sysfs_kf_write+0x6f/0xa0   kernfs_fop_write_iter+0x141/0x2a0   vfs_write+0x1fc/0x5a0   ksys_write+0x79/0x180   __x64_sys_write+0x1d/0x30   x64_sys_call+0x2818/0x2880   do_syscall_64+0xa9/0x580   entry_SYSCALL_64_after_hwframe+0x4b/0x53  Reproducer ```   mdadm -CR /dev/md0 -l1 -n2 /dev/sd[cd]   echo inactive > /sys/block/md0/md/array_state   echo 10 > /sys/block/md0/md/new_level ```  mddev_init() can only be called once per mddev, no need to test if bioset has been initialized anymore.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2025-68725",
                                "url": "https://ubuntu.com/security/CVE-2025-68725",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  bpf: Do not let BPF test infra emit invalid GSO types to stack  Yinhao et al. reported that their fuzzer tool was able to trigger a skb_warn_bad_offload() from netif_skb_features() -> gso_features_check(). When a BPF program - triggered via BPF test infra - pushes the packet to the loopback device via bpf_clone_redirect() then mentioned offload warning can be seen. GSO-related features are then rightfully disabled.  We get into this situation due to convert___skb_to_skb() setting gso_segs and gso_size but not gso_type. Technically, it makes sense that this warning triggers since the GSO properties are malformed due to the gso_type. Potentially, the gso_type could be marked non-trustworthy through setting it at least to SKB_GSO_DODGY without any other specific assumptions, but that also feels wrong given we should not go further into the GSO engine in the first place.  The checks were added in 121d57af308d (\"gso: validate gso_type in GSO handlers\") because there were malicious (syzbot) senders that combine a protocol with a non-matching gso_type. If we would want to drop such packets, gso_features_check() currently only returns feature flags via netif_skb_features(), so one location for potentially dropping such skbs could be validate_xmit_unreadable_skb(), but then otoh it would be an additional check in the fast-path for a very corner case. Given bpf_clone_redirect() is the only place where BPF test infra could emit such packets, lets reject them right there.",
                                "cve_priority": "medium",
                                "cve_public_date": "2025-12-24 11:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23111",
                                "url": "https://ubuntu.com/security/CVE-2026-23111",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  netfilter: nf_tables: fix inverted genmask check in nft_map_catchall_activate()  nft_map_catchall_activate() has an inverted element activity check compared to its non-catchall counterpart nft_mapelem_activate() and compared to what is logically required.  nft_map_catchall_activate() is called from the abort path to re-activate catchall map elements that were deactivated during a failed transaction. It should skip elements that are already active (they don't need re-activation) and process elements that are inactive (they need to be restored). Instead, the current code does the opposite: it skips inactive elements and processes active ones.  Compare the non-catchall activate callback, which is correct:    nft_mapelem_activate():     if (nft_set_elem_active(ext, iter->genmask))         return 0;   /* skip active, process inactive */  With the buggy catchall version:    nft_map_catchall_activate():     if (!nft_set_elem_active(ext, genmask))         continue;   /* skip inactive, process active */  The consequence is that when a DELSET operation is aborted, nft_setelem_data_activate() is never called for the catchall element. For NFT_GOTO verdict elements, this means nft_data_hold() is never called to restore the chain->use reference count. Each abort cycle permanently decrements chain->use. Once chain->use reaches zero, DELCHAIN succeeds and frees the chain while catchall verdict elements still reference it, resulting in a use-after-free.  This is exploitable for local privilege escalation from an unprivileged user via user namespaces + nftables on distributions that enable CONFIG_USER_NS and CONFIG_NF_TABLES.  Fix by removing the negation so the check matches nft_mapelem_activate(): skip active elements, process inactive ones.",
                                "cve_priority": "high",
                                "cve_public_date": "2026-02-13 14:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23209",
                                "url": "https://ubuntu.com/security/CVE-2026-23209",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  macvlan: fix error recovery in macvlan_common_newlink()  valis provided a nice repro to crash the kernel:  ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2  ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20  ping -c1 -I p1 1.2.3.4  He also gave a very detailed analysis:  <quote valis>  The issue is triggered when a new macvlan link is created  with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name).  In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink():  This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry.  vlan is a pointer to the priv data of the link that is being created.  When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create():          if (ops->newlink)                 err = ops->newlink(dev, &params, extack);         else                 err = register_netdevice(dev);         if (err < 0) {                 free_netdev(dev);                 goto out;         }  and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port.  Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source().  </quote valis>  With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever \"goto destroy_macvlan_port;\" path is taken.  Many thanks to valis for following up on this issue.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-14 17:15:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23074",
                                "url": "https://ubuntu.com/security/CVE-2026-23074",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  net/sched: Enforce that teql can only be used as root qdisc  Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint.  Although not important, I will describe the scenario that unearthed this issue for the curious.  GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:  ROOT qdisc 1:0 (QFQ)   ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s   └── class 1:2 (weight=1, lmax=1514) teql  GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            },
                            {
                                "cve": "CVE-2026-23060",
                                "url": "https://ubuntu.com/security/CVE-2026-23060",
                                "cve_description": "In the Linux kernel, the following vulnerability has been resolved:  crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec  authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS).  Add a minimum AAD length check to fail fast on invalid inputs.",
                                "cve_priority": "medium",
                                "cve_public_date": "2026-02-04 17:16:00 UTC"
                            }
                        ],
                        "log": [
                            "",
                            "  * questing/linux-riscv: 6.17.0-22.22.1 -proposed tracker (LP: #2143424)",
                            "",
                            "  [ Ubuntu: 6.17.0-22.22 ]",
                            "",
                            "  * questing/linux: 6.17.0-22.22 -proposed tracker (LP: #2143428)",
                            "  * Questing preinstalled server fails to boot on QCS8300 based boards",
                            "    (LP: #2134400)",
                            "    - [Config] move qcom interconnect/pinctrl/gcc as built-in for QCS8300",
                            "  * TBT call trace while connecting TBT4 monitor on TBT5 port (LP: #2137613)",
                            "    - SAUCE: thunderbolt: log path activation failures without WARN backtraces",
                            "  * efi: Fix swapped arguments to bsearch() in efi_status_to_*() SAUCE patch",
                            "    (LP: #2141276)",
                            "    - SAUCE efi: Fix swapped arguments to bsearch() in efi_status_to_*()",
                            "  * [SRU]Fix xe GPU suspend/resume crash on Battlemage (LP: #2141377)",
                            "    - drm/xe: make xe_gt_idle_disable_c6() handle the forcewake internally",
                            "  * Accumulative updates for Intel PTL-H component enabling PV rev3.0",
                            "    (LP: #2137272)",
                            "    - drm/i915/display: Optimize panel power-on wait time",
                            "    - HID: intel-ish-hid: Use dedicated unbound workqueues to prevent resume",
                            "      blocking",
                            "    - drm/xe/guc: Recommend GUC v70.49.4 for PTL, BMG",
                            "    - HID: Intel-thc-hid: Intel-thc: Use str_true_false() helper",
                            "    - HID: intel-thc-hid: intel-quicki2c: support ACPI config for advanced",
                            "      features",
                            "    - usb: typec: ucsi: Add SET_POWER_LEVEL UCSI command to debugfs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250)",
                            "    - bpf: Fix sleepable context for async callbacks",
                            "    - bpf: extract generic helper from process_timer_func()",
                            "    - bpf: Fix handling maps with no BTF and non-constant offsets for the",
                            "      bpf_wq",
                            "    - irqchip: Drop leftover brackets",
                            "    - irqchip: Pass platform device to platform drivers",
                            "    - arm64: dts: exynos: gs101: fix clock module unit reg sizes",
                            "    - ice: move service task start out of ice_init_pf()",
                            "    - ice: move ice_init_interrupt_scheme() prior ice_init_pf()",
                            "    - ice: ice_init_pf: destroy mutexes and xarrays on memory alloc failure",
                            "    - ice: move udp_tunnel_nic and misc IRQ setup into ice_init_pf()",
                            "    - ice: move ice_init_pf() out of ice_init_dev()",
                            "    - ice: extract ice_init_dev() from ice_init()",
                            "    - ice: move ice_deinit_dev() to the end of deinit paths",
                            "    - ice: remove duplicate call to ice_deinit_hw() on error paths",
                            "    - arm64: dts: qcom: lemans: Add missing quirk for HS only USB controller",
                            "    - tools/nolibc: x86: fix section mismatch caused by asm \"mem*\" functions",
                            "    - arm64: dts: ti: k3-j784s4: Fix I2C pinmux pull configuration",
                            "    - wifi: ath12k: enforce vdev limit in ath12k_mac_vdev_create()",
                            "    - ARM: dts: am33xx: Add missing serial console speed",
                            "    - arm64: tegra: Add pinctrl definitions for pcie-ep nodes",
                            "    - arm64: mm: Move KPTI helpers to mmu.c",
                            "    - arm64/mm: Allow __create_pgd_mapping() to propagate pgtable_alloc()",
                            "      errors",
                            "    - pwm: Simplify printf to emit chip->npwm in $debugfs/pwm",
                            "    - pwm: Use %u to printf unsigned int pwm_chip::npwm and pwm_chip::id",
                            "    - soc/tegra: fuse: speedo-tegra210: Update speedo IDs",
                            "    - iio: core: add missing mutex_destroy in iio_dev_release()",
                            "    - iio: core: Clean up device correctly on iio_device_alloc() failure",
                            "    - iommu/vt-d: Set INTEL_IOMMU_FLOPPY_WA depend on BLK_DEV_FD",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_elfcorehdr()",
                            "    - of/fdt: Fix the len check in early_init_dt_check_for_usable_mem_range()",
                            "    - rtla/tests: Extend action tests to 5s",
                            "    - rtla: Fix -a overriding -t argument",
                            "    - btrfs: make sure extent and csum paths are always released in",
                            "      scrub_raid56_parity_stripe()",
                            "    - iomap: allocate s_dio_done_wq for async reads as well",
                            "    - RDMA/irdma: Remove doorbell elision logic",
                            "    - selftests/landlock: Fix makefile header list",
                            "    - io_uring/kbuf: use READ_ONCE() for userspace-mapped memory",
                            "    - ALSA: wavefront: Clear substream pointers on close",
                            "    - btrfs: do not skip logging new dentries when logging a new name",
                            "    - btrfs: fix a potential path leak in print_data_reloc_error()",
                            "    - bpf, arm64: Do not audit capability check in do_jit()",
                            "    - btrfs: fix memory leak of fs_devices in degraded seed device path",
                            "    - iomap: account for unaligned end offsets when truncating read range",
                            "    - scripts/faddr2line: Fix \"Argument list too long\" error",
                            "    - sched/fair: Revert max_newidle_lb_cost bump",
                            "    - x86/ptrace: Always inline trivial accessors",
                            "    - ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint()",
                            "      only",
                            "    - cpufreq: dt-platdev: Add JH7110S SOC to the allowlist",
                            "    - ACPI: fan: Workaround for 64-bit firmware bug",
                            "    - cpufreq: s5pv210: fix refcount leak",
                            "    - cpuidle: menu: Use residency threshold in polling state override",
                            "      decisions",
                            "    - livepatch: Match old_sympos 0 and 1 in klp_find_func()",
                            "    - fs/ntfs3: Support timestamps prior to epoch",
                            "    - kbuild: Use objtree for module signing key path",
                            "    - hfsplus: fix volume corruption issue for generic/070",
                            "    - hfsplus: fix volume corruption issue for generic/073",
                            "    - fs/ntfs3: check for shutdown in fsync",
                            "    - wifi: rtl8xxxu: Fix HT40 channel config for RTL8192CU, RTL8723AU",
                            "    - wifi: cfg80211: stop radar detection in cfg80211_leave()",
                            "    - wifi: cfg80211: use cfg80211_leave() in iftype change",
                            "    - wifi: mt76: mt792x: fix wifi init fail by setting MCU_RUNNING after CLC",
                            "      load",
                            "    - wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet",
                            "    - btrfs: scrub: always update btrfs_scrub_progress::last_physical",
                            "    - gfs2: fix remote evict for read-only filesystems",
                            "    - gfs2: Fix \"gfs2: Switch to wait_event in gfs2_quotad\"",
                            "    - smb/server: fix return value of smb2_ioctl()",
                            "    - Bluetooth: btusb: Add new VID/PID 2b89/6275 for RTL8761BUV",
                            "    - Bluetooth: btusb: MT7922: Add VID/PID 0489/e170",
                            "    - Bluetooth: btusb: MT7920: Add VID/PID 0489/e135",
                            "    - Bluetooth: btusb: Add new VID/PID 13d3/3533 for RTL8821CE",
                            "    - Bluetooth: btusb: Add new VID/PID 0x0489/0xE12F for RTL8852BE-VT",
                            "    - net: fec: ERR007885 Workaround for XDP TX path",
                            "    - ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2()",
                            "    - mlxsw: spectrum_router: Fix possible neighbour reference count leak",
                            "    - broadcom: b44: prevent uninitialized value usage",
                            "    - netfilter: nf_conncount: fix leaked ct in error paths",
                            "    - nfc: pn533: Fix error code in pn533_acr122_poweron_rdr()",
                            "    - netfilter: nf_nat: remove bogus direction check",
                            "    - netfilter: nf_tables: remove redundant chain validation on register",
                            "      store",
                            "    - selftests: netfilter: packetdrill: avoid failure on HZ=100 kernel",
                            "    - iommufd/selftest: Make it clearer to gcc that the access is not out of",
                            "      bounds",
                            "    - net/mlx5: fw reset, clear reset requested on drain_fw_reset",
                            "    - net/mlx5: Drain firmware reset in shutdown callback",
                            "    - net/mlx5: fw_tracer, Handle escaped percent properly",
                            "    - net/mlx5: Serialize firmware reset with devlink",
                            "    - net: enetc: do not transmit redirected XDP frames when the link is down",
                            "    - net: hns3: using the num_tqps to check whether tqp_index is out of range",
                            "      when vf get ring info from mbx",
                            "    - hwmon: (dell-smm) Limit fan multiplier to avoid overflow",
                            "    - hwmon: (tmp401) fix overflow caused by default conversion rate value",
                            "    - drm/me/gsc: mei interrupt top half should be in irq disabled context",
                            "    - drm/xe: Restore engine registers before restarting schedulers after GT",
                            "      reset",
                            "    - MIPS: Fix a reference leak bug in ip22_check_gio()",
                            "    - drm/panel: sony-td4353-jdi: Enable prepare_prev_first",
                            "    - x86/xen: Fix sparse warning in enlighten_pv.c",
                            "    - arm64: kdump: Fix elfcorehdr overlap caused by reserved memory",
                            "      processing reorder",
                            "    - spi: cadence-quadspi: Fix clock disable on probe failure path",
                            "    - block: rnbd-clt: Fix leaked ID in init_dev()",
                            "    - hwmon: (ltc4282): Fix reset_history file permissions",
                            "    - HID: input: map HID_GD_Z to ABS_DISTANCE for stylus/pen",
                            "    - Input: i8042 - add TUXEDO InfinityBook Max Gen10 AMD to i8042 quirk",
                            "      table",
                            "    - xfs: don't leak a locked dquot when xfs_dquot_attach_buf fails",
                            "    - can: gs_usb: gs_can_open(): fix error handling",
                            "    - soc/tegra: fuse: Do not register SoC device on ACPI boot",
                            "    - ACPI: PCC: Fix race condition by removing static qualifier",
                            "    - ACPI: CPPC: Fix missing PCC check for guaranteed_perf",
                            "    - mmc: sdhci-esdhc-imx: add alternate ARCH_S32 dependency to Kconfig",
                            "    - mmc: sdhci-of-arasan: Increase CD stable timeout to 2 seconds",
                            "    - dt-bindings: mmc: sdhci-of-aspeed: Switch ref to sdhci-common.yaml",
                            "    - x86/fpu: Fix FPU state core dump truncation on CPUs with no extended",
                            "      xfeatures",
                            "    - ALSA: vxpocket: Fix resource leak in vxpocket_probe error path",
                            "    - ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path",
                            "    - ASoC: ak4458: remove the reset operation in probe and remove",
                            "    - nfsd: fix memory leak in nfsd_create_serv error paths",
                            "    - ipmi: Fix the race between __scan_channels() and deliver_response()",
                            "    - ipmi: Fix __scan_channels() failing to rescan channels",
                            "    - scsi: ufs: host: mediatek: Fix shutdown/suspend race condition",
                            "    - firmware: imx: scu-irq: Init workqueue before request mbox channel",
                            "    - ti-sysc: allow OMAP2 and OMAP4 timers to be reserved on AM33xx",
                            "    - scsi: smartpqi: Add support for Hurray Data new controller PCI device",
                            "    - clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4",
                            "    - powerpc/addnote: Fix overflow on 32-bit builds",
                            "    - scsi: qla2xxx: Fix lost interrupts with qlini_mode=disabled",
                            "    - scsi: qla2xxx: Fix initiator mode with qlini_mode=exclusive",
                            "    - scsi: qla2xxx: Use reinit_completion on mbx_intr_comp",
                            "    - fuse: Always flush the page cache before FOPEN_DIRECT_IO write",
                            "    - fuse: Invalidate the page cache after FOPEN_DIRECT_IO write",
                            "    - reset: fix BIT macro reference",
                            "    - exfat: fix remount failure in different process environments",
                            "    - exfat: zero out post-EOF page cache on file extension",
                            "    - usbip: Fix locking bug in RT-enabled kernels",
                            "    - iio: adc: ti_am335x_adc: Limit step_avg to valid range for gcc complains",
                            "    - usb: xhci: limit run_graceperiod for only usb 3.0 devices",
                            "    - usb: usb-storage: No additional quirks need to be added to the EL-R12",
                            "      optical drive.",
                            "    - serial: sprd: Return -EPROBE_DEFER when uart clock is not ready",
                            "    - libperf cpumap: Fix perf_cpu_map__max for an empty/NULL map",
                            "    - clk: qcom: dispcc-sm7150: Fix dispcc_mdss_pclk0_clk_src",
                            "    - i2c: designware: Disable SMBus interrupts to prevent storms from mis-",
                            "      configured firmware",
                            "    - nvme-fc: don't hold rport lock when putting ctrl",
                            "    - nvme-fabrics: add ENOKEY to no retry criteria for authentication",
                            "      failures",
                            "    - scsi: scsi_debug: Fix atomic write enable module param description",
                            "    - block: rnbd-clt: Fix signedness bug in init_dev()",
                            "    - vhost/vsock: improve RCU read sections around vhost_vsock_get()",
                            "    - x86/mce: Do not clear bank's poll bit in mce_poll_banks on AMD SMCA",
                            "      systems",
                            "    - mmc: sdhci-msm: Avoid early clock doubling during HS400 transition",
                            "    - perf: arm_cspmu: fix error handling in arm_cspmu_impl_unregister()",
                            "    - lib/crypto: x86/blake2s: Fix 32-bit arg treated as 64-bit",
                            "    - s390/dasd: Fix gendisk parent after copy pair swap",
                            "    - wifi: mt76: Fix DTS power-limits on little endian systems",
                            "    - block: rate-limit capacity change info log",
                            "    - floppy: fix for PAGE_SIZE != 4KB",
                            "    - kallsyms: Fix wrong \"big\" kernel symbol type read from procfs",
                            "    - fs/ntfs3: fix mount failure for sparse runs in run_unpack()",
                            "    - ktest.pl: Fix uninitialized var in config-bisect.pl",
                            "    - ext4: clear i_state_flags when alloc inode",
                            "    - ext4: fix incorrect group number assertion in mb_check_buddy",
                            "    - ext4: align max orphan file size with e2fsprogs limit",
                            "    - jbd2: use a per-journal lock_class_key for jbd2_trans_commit_key",
                            "    - jbd2: use a weaker annotation in journal handling",
                            "    - media: v4l2-mem2mem: Fix outdated documentation",
                            "    - selftests: mptcp: pm: ensure unknown flags are ignored",
                            "    - mptcp: schedule rtx timer only after pushing data",
                            "    - usb: usb-storage: Maintain minimal modifications to the bcdDevice range.",
                            "    - media: pvrusb2: Fix incorrect variable used in trace message",
                            "    - phy: broadcom: bcm63xx-usbh: fix section mismatches",
                            "    - usb: ohci-nxp: fix device leak on probe failure",
                            "    - usb: typec: altmodes/displayport: Drop the device reference in",
                            "      dp_altmode_probe()",
                            "    - USB: lpc32xx_udc: Fix error handling in probe",
                            "    - usb: phy: isp1301: fix non-OF device reference imbalance",
                            "    - usb: gadget: lpc32xx_udc: fix clock imbalance in error path",
                            "    - usb: dwc3: of-simple: fix clock resource leak in dwc3_of_simple_probe",
                            "    - usb: dwc3: keep susphy enabled during exit to avoid controller faults",
                            "    - usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()",
                            "    - intel_th: Fix error handling in intel_th_output_open",
                            "    - mei: gsc: add dependency on Xe driver",
                            "    - serial: sh-sci: Check that the DMA cookie is valid",
                            "    - cpuidle: governors: teo: Drop misguided target residency check",
                            "    - cpufreq: nforce2: fix reference count leak in nforce2",
                            "    - NFSD: use correct reservation type in nfsd4_scsi_fence_client",
                            "    - scsi: mpi3mr: Read missing IOCFacts flag for reply queue full overflow",
                            "    - scsi: ufs: core: Add ufshcd_update_evt_hist() for UFS suspend error",
                            "    - f2fs: fix age extent cache insertion skip on counter overflow",
                            "    - f2fs: fix uninitialized one_time_gc in victim_sel_policy",
                            "    - tools/testing/nvdimm: Use per-DIMM device handle",
                            "    - KVM: x86: Don't clear async #PF queue when CR0.PG is disabled (e.g. on",
                            "      #SMI)",
                            "    - powerpc: Add reloc_offset() to font bitmap pointer used for",
                            "      bootx_printf()",
                            "    - KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with",
                            "      period=0",
                            "    - KVM: x86: Explicitly set new periodic hrtimer expiration in",
                            "      apic_timer_fn()",
                            "    - KVM: nSVM: Avoid incorrect injection of SVM_EXIT_CR0_SEL_WRITE",
                            "    - KVM: SVM: Mark VMCB_NPT as dirty on nested VMRUN",
                            "    - KVM: nSVM: Propagate SVM_EXIT_CR0_SEL_WRITE correctly for LMSW emulation",
                            "    - KVM: SVM: Mark VMCB_PERM_MAP as dirty on nested VMRUN",
                            "    - KVM: nVMX: Immediately refresh APICv controls as needed on nested VM-",
                            "      Exit",
                            "    - KVM: nSVM: Set exit_code_hi to -1 when synthesizing SVM_EXIT_ERR (failed",
                            "      VMRUN)",
                            "    - KVM: nSVM: Clear exit_code_hi in VMCB when synthesizing nested VM-Exits",
                            "    - xfs: fix a memory leak in xfs_buf_item_init()",
                            "    - xfs: fix stupid compiler warning",
                            "    - PM: runtime: Do not clear needs_force_resume with enabled runtime PM",
                            "    - r8169: fix RTL8117 Wake-on-Lan in DASH mode",
                            "    - net: phy: marvell-88q2xxx: Fix clamped value in mv88q2xxx_hwmon_write",
                            "    - NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap",
                            "    - nfsd: Mark variable __maybe_unused to avoid W=1 build break",
                            "    - svcrdma: return 0 on success from svc_rdma_copy_inline_range",
                            "    - s390/ipl: Clear SBP flag when bootprog is set",
                            "    - gpio: regmap: Fix memleak in error path in gpio_regmap_register()",
                            "    - io_uring: fix min_wait wakeups for SQPOLL",
                            "    - drm/amd/display: Use GFP_ATOMIC in dc_create_plane_state()",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN35",
                            "    - drm/amd/display: Fix scratch registers offsets for DCN351",
                            "    - drm/displayid: pass iter to drm_find_displayid_extension()",
                            "    - ALSA: wavefront: Use guard() for spin locks",
                            "    - pinctrl: renesas: rzg2l: Fix ISEL restore on resume",
                            "    - arm64: Revamp HCR_EL2.E2H RES1 detection",
                            "    - dt-bindings: PCI: qcom,pcie-sc7280: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sc8280xp: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8150: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8250: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8350: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8450: Add missing required power-domains",
                            "      and resets",
                            "    - dt-bindings: PCI: qcom,pcie-sm8550: Add missing required power-domains",
                            "      and resets",
                            "    - crypto: caam - Add check for kcalloc() in test_len()",
                            "    - amba: tegra-ahb: Fix device leak on SMMU enable",
                            "    - virtio: vdpa: Fix reference count leak in octep_sriov_enable()",
                            "    - tracing: Fix fixed array of synthetic event",
                            "    - soc: samsung: exynos-pmu: fix device leak on regmap lookup",
                            "    - soc: qcom: pbs: fix device leak on lookup",
                            "    - soc: qcom: ocmem: fix device leak on lookup",
                            "    - soc: apple: mailbox: fix device leak on lookup",
                            "    - soc: amlogic: canvas: fix device leak on lookup",
                            "    - rpmsg: glink: fix rpmsg device leak",
                            "    - platform/x86: intel: chtwc_int33fe: don't dereference swnode args",
                            "    - i2c: amd-mp2: fix reference leak in MP2 PCI device",
                            "    - interconnect: qcom: sdx75: Drop QPIC interconnect and BCM nodes",
                            "    - hwmon: (max16065) Use local variable to avoid TOCTOU",
                            "    - hwmon: (max6697) fix regmap leak on probe failure",
                            "    - hwmon: (w83l786ng) Convert macros to functions to avoid TOCTOU",
                            "    - ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32",
                            "    - x86/msi: Make irq_retrigger() functional for posted MSI",
                            "    - wifi: rtw88: limit indirect IO under powered off for RTL8822CS",
                            "    - wifi: cfg80211: sme: store capped length in __cfg80211_connect_result()",
                            "    - wifi: mac80211: do not use old MBSSID elements",
                            "    - i40e: fix scheduling in set_rx_mode",
                            "    - i40e: validate ring_len parameter against hardware-specific values",
                            "    - idpf: reduce mbx_task schedule delay to 300us",
                            "    - net: mdio: aspeed: add dummy read to avoid read-after-write issue",
                            "    - net: openvswitch: Avoid needlessly taking the RTNL on vport destroy",
                            "    - platform/mellanox: mlxbf-pmc: Remove trailing whitespaces from event",
                            "      names",
                            "    - platform/x86: msi-laptop: add missing sysfs_remove_group()",
                            "    - platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic",
                            "    - net: dsa: fix missing put_device() in dsa_tree_find_first_conduit()",
                            "    - amd-xgbe: reset retries and mode on RX adapt failures",
                            "    - Revert \"UBUNTU: SAUCE: selftests: net: fix \"buffer overflow detected\"",
                            "      for tap.c\"",
                            "    - selftests: net: fix \"buffer overflow detected\" for tap.c",
                            "    - genalloc.h: fix htmldocs warning",
                            "    - firewire: nosy: Fix dma_free_coherent() size",
                            "    - net: dsa: b53: skip multicast entries for fdb_dump()",
                            "    - kbuild: fix compilation of dtb specified on command-line without make",
                            "      rule",
                            "    - net: bridge: Describe @tunnel_hash member in net_bridge_vlan_group",
                            "      struct",
                            "    - vfio/pds: Fix memory leak in pds_vfio_dirty_enable()",
                            "    - RDMA/efa: Remove possible negative shift",
                            "    - RDMA/core: Fix logic error in ib_get_gids_from_rdma_hdr()",
                            "    - RDMA/bnxt_re: Fix incorrect BAR check in bnxt_qplib_map_creq_db()",
                            "    - RDMA/bnxt_re: Fix IB_SEND_IP_CSUM handling in post_send",
                            "    - RDMA/bnxt_re: Fix to use correct page size for PDE table",
                            "    - md: Fix static checker warning in analyze_sbs",
                            "    - RDMA/rtrs: Fix clt_path::max_pages_per_mr calculation",
                            "    - RDMA/bnxt_re: fix dma_free_coherent() pointer",
                            "    - blk-mq: skip CPU offline notify on unmapped hctx",
                            "    - selftests/ftrace: traceonoff_triggers: strip off names",
                            "    - ntfs: Do not overwrite uptodate pages",
                            "    - ASoC: codecs: wcd939x: fix regmap leak on probe failure",
                            "    - ASoC: stm32: sai: fix device leak on probe",
                            "    - ASoC: stm32: sai: fix clk prepare imbalance on probe failure",
                            "    - ASoC: codecs: lpass-tx-macro: fix SM6115 support",
                            "    - ASoC: qcom: q6apm-dai: set flags to reflect correct operation of",
                            "      appl_ptr",
                            "    - ASoC: qcom: q6asm-dai: perform correct state check before closing",
                            "    - ASoC: qcom: q6adm: the the copp device only during last instance",
                            "    - ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.",
                            "    - iommu/amd: Fix pci_segment memleak in alloc_pci_segment()",
                            "    - iommu/amd: Propagate the error code returned by __modify_irte_ga() in",
                            "      modify_irte_ga()",
                            "    - iommu/apple-dart: fix device leak on of_xlate()",
                            "    - iommu/exynos: fix device leak on of_xlate()",
                            "    - iommu/ipmmu-vmsa: fix device leak on of_xlate()",
                            "    - iommu/mediatek-v1: fix device leak on probe_device()",
                            "    - iommu/mediatek-v1: fix device leaks on probe()",
                            "    - iommu/mediatek: fix device leak on of_xlate()",
                            "    - iommu/omap: fix device leaks on probe_device()",
                            "    - iommu/qcom: fix device leak on of_xlate()",
                            "    - iommu/sun50i: fix device leak on of_xlate()",
                            "    - iommu/tegra: fix device leak on probe_device()",
                            "    - HID: logitech-dj: Remove duplicate error logging",
                            "    - fgraph: Initialize ftrace_ops->private for function graph ops",
                            "    - fgraph: Check ftrace_pids_enabled on registration for early filtering",
                            "    - PCI/PM: Reinstate clearing state_saved in legacy and !PM codepaths",
                            "    - arm64: dts: ti: k3-j721e-sk: Fix pinmux for pin Y1 used by power",
                            "      regulator",
                            "    - powerpc, mm: Fix mprotect on book3s 32-bit",
                            "    - leds: leds-cros_ec: Skip LEDs without color components",
                            "    - leds: leds-lp50xx: Allow LED 0 to be added to module bank",
                            "    - leds: leds-lp50xx: LP5009 supports 3 modules for a total of 9 LEDs",
                            "    - leds: leds-lp50xx: Enable chip before any communication",
                            "    - block: Clear BLK_ZONE_WPLUG_PLUGGED when aborting plugged BIOs",
                            "    - mfd: altera-sysmgr: Fix device leak on sysmgr regmap lookup",
                            "    - mfd: max77620: Fix potential IRQ chip conflict when probing two devices",
                            "    - media: rc: st_rc: Fix reset control resource leak",
                            "    - media: verisilicon: Fix CPU stalls on G2 bus error",
                            "    - mtd: mtdpart: ignore error -ENOENT from parsers on subpartitions",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIQ chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q01NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25Q02NWxxIM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H512NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H01NWxxAM chips",
                            "    - mtd: spi-nor: winbond: Add support for W25H02NWxxAM chips",
                            "    - parisc: entry.S: fix space adjustment on interruption for 64-bit",
                            "      userspace",
                            "    - parisc: entry: set W bit for !compat tasks in syscall_restore_rfi()",
                            "    - perf/x86/amd/uncore: Fix the return value of amd_uncore_df_event_init()",
                            "      on error",
                            "    - powerpc/pseries/cmm: call balloon_devinfo_init() also without",
                            "      CONFIG_BALLOON_COMPACTION",
                            "    - firmware: stratix10-svc: Add mutex in stratix10 memory management",
                            "    - dm-ebs: Mark full buffer dirty even on partial write",
                            "    - dm-bufio: align write boundary on physical block size",
                            "    - fbdev: gbefb: fix to use physical address instead of dma address",
                            "    - fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing",
                            "    - fbdev: tcx.c fix mem_map to correct smem_start offset",
                            "    - media: cec: Fix debugfs leak on bus_register() failure",
                            "    - media: msp3400: Avoid possible out-of-bounds array accesses in",
                            "      msp3400c_thread()",
                            "    - media: platform: mtk-mdp3: fix device leaks at probe",
                            "    - media: renesas: rcar_drif: fix device node reference leak in",
                            "      rcar_drif_bond_enabled",
                            "    - media: samsung: exynos4-is: fix potential ABBA deadlock on init",
                            "    - media: TDA1997x: Remove redundant cancel_delayed_work in probe",
                            "    - media: verisilicon: Protect G2 HEVC decoder against invalid DPB index",
                            "    - media: videobuf2: Fix device reference leak in vb2_dc_alloc error path",
                            "    - media: vpif_capture: fix section mismatch",
                            "    - media: vpif_display: fix section mismatch",
                            "    - media: amphion: Cancel message work before releasing the VPU core",
                            "    - media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe",
                            "    - media: i2c: adv7842: Remove redundant cancel_delayed_work in probe",
                            "    - media: mediatek: vcodec: Fix a reference leak in",
                            "      mtk_vcodec_fw_vpu_init()",
                            "    - LoongArch: Add new PCI ID for pci_fixup_vgadev()",
                            "    - LoongArch: Correct the calculation logic of thread_count",
                            "    - LoongArch: Fix build errors for CONFIG_RANDSTRUCT",
                            "    - LoongArch: Use __pmd()/__pte() for swap entry conversions",
                            "    - LoongArch: Use unsigned long for _end and _text",
                            "    - mm/damon/tests/sysfs-kunit: handle alloc failures on",
                            "      damon_sysfs_test_add_targets()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures in",
                            "      damon_test_split_evenly_fail()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_test_split_evenly_succ()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_at()",
                            "    - mm/damon/tests/core-kunit: handle allocation failures in",
                            "      damon_test_regions()",
                            "    - mm/damon/tests/core-kunit: handle memory failure from",
                            "      damon_test_target()",
                            "    - mm/damon/tests/core-kunit: handle memory alloc failure from",
                            "      damon_test_aggregate()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      dasmon_test_merge_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_merge_two()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_set_regions()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_update_monitoring_result()",
                            "    - mm/damon/tests/core-kunit: handle alloc failures in",
                            "      damon_test_ops_registration()",
                            "    - mm/damon/tests/core-kunit: handle alloc failure on",
                            "      damon_test_set_attrs()",
                            "    - pmdomain: imx: Fix reference count leak in imx_gpc_probe()",
                            "    - compiler_types.h: add \"auto\" as a macro for \"__auto_type\"",
                            "    - mm/kasan: fix incorrect unpoisoning in vrealloc for KASAN",
                            "    - kasan: refactor pcpu kasan vmalloc unpoison",
                            "    - kasan: unpoison vms[area] addresses with a common tag",
                            "    - lockd: fix vfs_test_lock() calls",
                            "    - idr: fix idr_alloc() returning an ID out of range",
                            "    - mm/page_owner: fix memory leak in page_owner_stack_fops->release()",
                            "    - tools/mm/page_owner_sort: fix timestamp comparison for stable sorting",
                            "    - samples/ftrace: Adjust LoongArch register restore order in direct calls",
                            "    - fjes: Add missing iounmap in fjes_hw_init()",
                            "    - LoongArch: Refactor register restoration in ftrace_common_return",
                            "    - LoongArch: BPF: Zero-extend bpf_tail_call() index",
                            "    - nfsd: Drop the client reference in client_states_open()",
                            "    - net: usb: sr9700: fix incorrect command used to write single register",
                            "    - net: macb: Relocate mog_init_rings() callback from macb_mac_link_up() to",
                            "      macb_open()",
                            "    - drm/amdgpu/gmc12: add amdgpu_vm_handle_fault() handling",
                            "    - drm/amdgpu: add missing lock to amdgpu_ttm_access_memory_sdma",
                            "    - drm/amdgpu/gmc11: add amdgpu_vm_handle_fault() handling",
                            "    - drm/msm/a6xx: Fix out of bound IO access in a6xx_get_gmu_registers",
                            "    - drm/buddy: Optimize free block management with RB tree",
                            "    - drm/buddy: Separate clear and dirty free block trees",
                            "    - drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg()",
                            "    - drm/edid: add DRM_EDID_IDENT_INIT() to initialize struct drm_edid_ident",
                            "    - drm/mediatek: Fix device node reference leak in mtk_dp_dt_parse()",
                            "    - drm/mediatek: Fix probe resource leaks",
                            "    - drm/mediatek: Fix probe memory leak",
                            "    - drm/mediatek: Fix probe device leaks",
                            "    - drm/amdkfd: Trap handler support for expert scheduling mode",
                            "    - drm/i915: Fix format string truncation warning",
                            "    - drm/mgag200: Fix big-endian support",
                            "    - drm/xe/bo: Don't include the CCS metadata in the dma-buf sg-table",
                            "    - drm/xe/oa: Disallow 0 OA property values",
                            "    - drm/xe: Adjust long-running workload timeslices to reasonable values",
                            "    - drm/xe: Use usleep_range for accurate long-running workload timeslicing",
                            "    - drm/xe: Drop preempt-fences when destroying imported dma-bufs.",
                            "    - drm/nouveau/dispnv50: Don't call drm_atomic_get_crtc_state() in",
                            "      prepare_fb",
                            "    - drm/imagination: Disallow exporting of PM/FW protected objects",
                            "    - lib/crypto: riscv/chacha: Avoid s0/fp register",
                            "    - gfs2: fix freeze error handling",
                            "    - btrfs: don't rewrite ret from inode_permission",
                            "    - sched/eevdf: Fix min_vruntime vs avg_vruntime",
                            "    - erofs: fix unexpected EIO under memory pressure",
                            "    - sched_ext: Fix incorrect sched_class settings for per-cpu migration",
                            "      tasks",
                            "    - jbd2: fix the inconsistency between checksum and data in memory for",
                            "      journal sb",
                            "    - xhci: dbgtty: fix device unregister: fixup",
                            "    - f2fs: fix to detect recoverable inode during dryrun of",
                            "      find_fsync_dnodes()",
                            "    - serial: core: Restore sysfs fwnode information",
                            "    - mptcp: pm: ignore unknown endpoint flags",
                            "    - mm/ksm: fix exec/fork inheritance support for prctl",
                            "    - ARM: dts: microchip: sama7g5: fix uart fifo size to 32",
                            "    - tpm2-sessions: Fix out of range indexing in name_size",
                            "    - tpm2-sessions: Fix tpm2_read_public range checks",
                            "    - sched_ext: Factor out local_dsq_post_enq() from dispatch_enqueue()",
                            "    - sched_ext: Fix missing post-enqueue handling in",
                            "      move_local_task_to_local_dsq()",
                            "    - drm/displayid: add quirk to ignore DisplayID checksum errors",
                            "    - serial: xilinx_uartps: fix rs485 delay_rts_after_send",
                            "    - f2fs: add timeout in f2fs_enable_checkpoint()",
                            "    - f2fs: dump more information for f2fs_{enable,disable}_checkpoint()",
                            "    - f2fs: fix to propagate error from f2fs_enable_checkpoint()",
                            "    - gpiolib: acpi: Add quirk for Dell Precision 7780",
                            "    - serial: core: Fix serial device initialization",
                            "    - media: i2c: imx219: Fix 1920x1080 mode to use 1:1 pixel aspect ratio",
                            "    - ASoC: renesas: rz-ssi: Fix channel swap issue in full duplex mode",
                            "    - block: handle zone management operations completions",
                            "    - ASoC: qcom: sdw: fix memory leak for sdw_stream_runtime",
                            "    - ASoC: renesas: rz-ssi: Fix rz_ssi_priv::hw_params_cache::sample_width",
                            "    - PCI: brcmstb: Fix disabling L0s capability",
                            "    - powerpc/pseries/cmm: adjust BALLOON_MIGRATE when migrating pages",
                            "    - media: amphion: Make some vpu_v4l2 functions static",
                            "    - media: amphion: Remove vpu_vb_is_codecconfig",
                            "    - vfio/pci: Disable qword access to the PCI ROM bar",
                            "    - mm/damon/tests/core-kunit: handle alloc failures on",
                            "      damon_test_split_regions_of()",
                            "    - mm/damon/tests/core-kunit: handle alloc failres in",
                            "      damon_test_new_filter()",
                            "    - mm/damon/tests/vaddr-kunit: handle alloc failures on",
                            "      damon_do_test_apply_three_regions()",
                            "    - block: fix NULL pointer dereference in blk_zone_reset_all_bio_endio()",
                            "    - bpf: Fix truncated dmabuf iterator reads",
                            "    - bpf: Fix verifier assumptions of bpf_d_path's output buffer",
                            "    - btrfs: fix changeset leak on mmap write after failure to reserve",
                            "      metadata",
                            "    - scripts: kdoc_parser.py: warn about Python version only once",
                            "    - crypto: ccp - Add support for PCI device 0x115A",
                            "    - hfsplus: fix volume corruption issue for generic/101",
                            "    - Bluetooth: btusb: add new custom firmwares",
                            "    - net/mlx5: make enable_mpesw idempotent",
                            "    - net: phy: realtek: eliminate priv->phycr2 variable",
                            "    - net: phy: realtek: eliminate has_phycr2 variable",
                            "    - net: phy: realtek: allow CLKOUT to be disabled on RTL8211F(D)(I)-VD-CG",
                            "    - net: phy: realtek: eliminate priv->phycr1 variable",
                            "    - net: phy: realtek: create rtl8211f_config_phy_eee() helper",
                            "    - net: phy: RTL8211FVD: Restore disabling of PHY-mode EEE",
                            "    - net: ti: icssg-prueth: add PTP_1588_CLOCK_OPTIONAL dependency",
                            "    - selftests: net: Fix build warnings",
                            "    - selftests: net: tfo: Fix build warning",
                            "    - inet: frags: avoid theoretical race in ip_frag_reinit()",
                            "    - inet: frags: add inet_frag_queue_flush()",
                            "    - selftests: netfilter: prefer xfail in case race wasn't triggered",
                            "    - can: j1939: make j1939_sk_bind() fail if device is no longer registered",
                            "    - net/mlx5e: Use ip6_dst_lookup instead of ipv6_dst_lookup_flow for MAC",
                            "      init",
                            "    - net/mlx5e: Trigger neighbor resolution for unresolved destinations",
                            "    - drm/tests: hdmi: Handle drm_kunit_helper_enable_crtc_connector()",
                            "      returning EDEADLK",
                            "    - drm/tests: Handle EDEADLK in drm_test_check_valid_clones()",
                            "    - drm/tests: Handle EDEADLK in set_up_atomic_state()",
                            "    - selftests: ublk: fix overflow in ublk_queue_auto_zc_fallback()",
                            "    - block: unify elevator tags and type xarrays into struct elv_change_ctx",
                            "    - block: move elevator tags into struct elevator_resources",
                            "    - block: introduce alloc_sched_data and free_sched_data elevator methods",
                            "    - block: use {alloc|free}_sched data methods",
                            "    - spi: microchip: rename driver file and internal identifiers",
                            "    - [Config] Remove CONFIG_SPI_MICROCHIP_CORE",
                            "    - spi: mpfs: Fix an error handling path in mpfs_spi_probe()",
                            "    - drm/xe: Fix freq kobject leak on sysfs_create_files failure",
                            "    - drm/xe: Apply Wa_14020316580 in xe_gt_idle_enable_pg()",
                            "    - drm/xe: Increase TDF timeout",
                            "    - io_uring: fix nr_segs calculation in io_import_kbuf",
                            "    - ublk: add parameter `struct io_uring_cmd *` to ublk_prep_auto_buf_reg()",
                            "    - ublk: add `union ublk_io_buf` with improved naming",
                            "    - ublk: refactor auto buffer register in ublk_dispatch_req()",
                            "    - drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME",
                            "    - amd/iommu: Preserve domain ids inside the kdump kernel",
                            "    - arm64: dts: mediatek: Apply mt8395-radxa DT overlay at build time",
                            "    - Input: apple_z2 - fix reading incorrect reports after exiting sleep",
                            "    - Input: xpad - add support for CRKD Guitars",
                            "    - platform/x86: intel_pmc_ipc: fix ACPI buffer memory leak",
                            "    - x86/mm/tlb/trace: Export the TLB_REMOTE_WRONG_CPU enum in",
                            "      <trace/events/tlb.h>",
                            "    - ASoC: fsl_sai: Constrain sample rates from audio PLLs only in master",
                            "      mode",
                            "    - ASoC: SDCA: support Q7.8 volume format",
                            "    - ASoC: ops: fix snd_soc_get_volsw for sx controls",
                            "    - scsi: lpfc: Fix reusing an ndlp that is marked NLP_DROPPED during FLOGI",
                            "    - usb: xhci: Don't unchain link TRBs on quirky HCs",
                            "    - platform/x86: wmi-gamezone: Add Legion Go 2 Quirks",
                            "    - hwmon: (emc2305) fix device node refcount leak in error path",
                            "    - hwmon: (emc2305) fix double put in emc2305_probe_childs_from_dt",
                            "    - ublk: add helpers to check ublk_device flags",
                            "    - rust/drm/gem: Fix missing header in `Object` rustdoc",
                            "    - rust: dma: add helpers for architectures without CONFIG_HAS_DMA",
                            "    - samples: rust: fix endianness issue in rust_driver_pci",
                            "    - rust: io: define ResourceSize as resource_size_t",
                            "    - rust: io: move ResourceSize to top-level io module",
                            "    - rust: io: add typedef for phys_addr_t",
                            "    - clk: keystone: syscon-clk: fix regmap leak on probe failure",
                            "    - printk: Avoid scheduling irq_work on suspend",
                            "    - sched_ext: Fix the memleak for sch->helper objects",
                            "    - sched_ext: Fix bypass depth leak on scx_enable() failure",
                            "    - dt-bindings: clock: mmcc-sdm660: Add missing MDSS reset",
                            "    - phy: exynos5-usbdrd: fix clock prepare imbalance",
                            "    - efi: Add missing static initializer for efi_mm::cpus_allowed_lock",
                            "    - crypto: scatterwalk - Fix memcpy_sglist() to always succeed",
                            "    - printk: Allow printk_trigger_flush() to flush all types",
                            "    - printk: Avoid irq_work for printk_deferred() on suspend",
                            "    - mm/huge_memory: add pmd folio to ds_queue in do_huge_zero_wp_pmd()",
                            "    - crash: let architecture decide crash memory export to iomem_resource",
                            "    - usb: typec: ucsi: huawei-gaokin: add DRM dependency",
                            "    - f2fs: clean up w/ get_left_section_blocks()",
                            "    - f2fs: fix to not account invalid blocks in get_left_section_blocks()",
                            "    - KVM: selftests: Forcefully override ARCH from x86_64 to x86",
                            "    - KVM: Fix last_boosted_vcpu index assignment bug",
                            "    - KVM: TDX: Explicitly set user-return MSRs that *may* be clobbered by the",
                            "      TDX-Module",
                            "    - KVM: x86: Apply runtime updates to current CPUID during",
                            "      KVM_SET_CPUID{,2}",
                            "    - KVM: selftests: Add missing \"break\" in rseq_test's param parsing",
                            "    - xfs: fix the zoned RT growfs check for zone alignment",
                            "    - xfs: validate that zoned RT devices are zone aligned",
                            "    - arm64/gcs: Flush the GCS locking state on exec",
                            "    - ALSA: hda/realtek: Add Asus quirk for TAS amplifiers",
                            "    - NFSD: Clear TIME_DELEG in the suppattr_exclcreat bitmap",
                            "    - cgroup: rstat: use LOCK CMPXCHG in css_rstat_updated",
                            "    - gpio: loongson: Switch 2K2000/3000 GPIO to BYTE_CTRL_MODE",
                            "    - crypto: arm64/ghash - Fix incorrect output from ghash-neon",
                            "    - zloop: fail zone append operations that are targeting full zones",
                            "    - zloop: make the write pointer of full zones invalid",
                            "    - vfio: Fix ksize arg while copying user struct in",
                            "      vfio_df_ioctl_bind_iommufd()",
                            "    - rtla/timerlat_bpf: Stop tracing on user latency",
                            "    - pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling",
                            "      channel is enabled",
                            "    - lib/crypto: riscv: Depend on RISCV_EFFICIENT_VECTOR_UNALIGNED_ACCESS",
                            "    - [Config] Disable accelerated crypto for riscv64 by default",
                            "    - io_uring/rsrc: fix lost entries after cloned range",
                            "    - ARM: dts: microchip: sama7d65: fix uart fifo size to 32",
                            "    - ice: add missing ice_deinit_hw() in devlink reinit path",
                            "    - arp: do not assume dev_hard_header() does not change skb->head",
                            "    - firmware: imx: scu-irq: Set mu_resource_id before get handle",
                            "    - tpm: Compare HMAC values in constant time",
                            "    - keys/trusted_keys: fix handle passed to tpm_buf_append_name during",
                            "      unseal",
                            "    - intel_th: fix device leak on output open()",
                            "    - Upstream stable to v6.18.2, v6.12.64, v6.18.3",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68791",
                            "    - fuse: missing copy_finish in fuse-over-io-uring argument copies",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68805",
                            "    - fuse: fix io-uring list corruption for terminated non-committed requests",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68812",
                            "    - media: iris: Add sanity check for stop streaming",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71117",
                            "    - block: Remove queue freezing from several sysfs store callbacks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71070",
                            "    - ublk: clean up user copy references on ublk server exit",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71124",
                            "    - drm/msm/a6xx: move preempt_prepare_postamble after error check",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71115",
                            "    - um: init cpu_tasks[] earlier",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68823",
                            "    - ublk: fix deadlock when reading partition table",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68793",
                            "    - drm/amdgpu: fix a job->pasid access race in gpu recovery",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68807",
                            "    - block: fix race between wbt_enable_default and IO submission",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68768",
                            "    - inet: frags: flush pending skbs in fqdir_pre_exit()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71140",
                            "    - media: mediatek: vcodec: Use spinlock for context list protection lock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71156",
                            "    - gve: defer interrupt enabling until NAPI registration",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2024-36347",
                            "    - x86/microcode/AMD: Fix Entrysign revision check for Zen5/Strix Halo",
                            "    - x86/microcode/AMD: Select which microcode patch to load",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71068",
                            "    - svcrdma: bound check rq_pages index in inline path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68772",
                            "    - f2fs: fix to avoid updating compression context during writeback",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71105",
                            "    - f2fs: use global inline_xattr_slab instead of per-sb slab cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71130",
                            "    - drm/i915/gem: Zero-initialize the eb.vma array in i915_gem_do_execbuffer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71138",
                            "    - drm/msm/dpu: Add missing NULL pointer check for pingpong interface",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71083",
                            "    - drm/ttm: Avoid NULL pointer deref for evicted BOs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71099",
                            "    - drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71079",
                            "    - net: nfc: fix deadlock between nfc_unregister_device and",
                            "      rfkill_fop_write",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71129",
                            "    - LoongArch: BPF: Sign extend kfunc call arguments",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71093",
                            "    - e1000: fix OOB in e1000_tbi_should_accept()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71084",
                            "    - RDMA/cm: Fix leaking the multicast GID table reference",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71096",
                            "    - RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71136",
                            "    - media: adv7842: Avoid possible out-of-bounds array accesses in",
                            "      adv7842_cp_log_status()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71143",
                            "    - clk: samsung: exynos-clkout: Assign .num before accessing .hws",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71078",
                            "    - powerpc/64s/slb: Fix SLB multihit issue during SLB preload",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71089",
                            "    - iommu: disable SVA when CONFIG_X86 is set",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71081",
                            "    - ASoC: stm32: sai: fix OF node leak on probe",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71153",
                            "    - ksmbd: Fix memory leak in get_file_all_info()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71135",
                            "    - md/raid5: fix possible null-pointer dereferences in",
                            "      raid5_store_group_thread_cnt()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71157",
                            "    - RDMA/core: always drop device refcount in ib_del_sub_device_and_put()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71133",
                            "    - RDMA/irdma: avoid invalid read in irdma_net_event",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71080",
                            "    - ipv6: fix a BUG in rt6_get_pcpu_route() under PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71086",
                            "    - net: rose: fix invalid array index in rose_kill_by_device()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71097",
                            "    - ipv4: Fix reference count leak when using error routes with nexthop",
                            "      objects",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71085",
                            "    - ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71095",
                            "    - net: stmmac: fix the crash issue for zero copy XDP_TX action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71137",
                            "    - octeontx2-pf: fix \"UBSAN: shift-out-of-bounds error\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71101",
                            "    - platform/x86: hp-bioscfg: Fix out-of-bounds array access in ACPI package",
                            "      parsing",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71094",
                            "    - net: usb: asix: validate PHY address before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71132",
                            "    - smc91x: fix broken irq-context in PREEMPT_RT",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71154",
                            "    - net: usb: rtl8150: fix memory leak on usb_submit_urb() failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71091",
                            "    - team: fix check for port enabled in",
                            "      team_queue_override_port_prio_changed()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71098",
                            "    - ip6_gre: make ip6gre_header() robust",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71082",
                            "    - Bluetooth: btusb: revert use of devm_kzalloc in btusb",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71131",
                            "    - crypto: seqiv - Do not use req->iv after crypto_aead_encrypt",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71087",
                            "    - iavf: fix off-by-one issues in iavf_config_rss_reg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71100",
                            "    - wifi: rtlwifi: 8192cu: fix tid out of range in rtl92cu_tx_fill_desc()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68821",
                            "    - fuse: fix readahead reclaim deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71071",
                            "    - iommu/mediatek: fix use-after-free on probe deferral",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71111",
                            "    - hwmon: (w83791d) Convert macros to functions to avoid TOCTOU",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71113",
                            "    - crypto: af_alg - zero initialize memory allocated via sock_kmalloc",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71149",
                            "    - io_uring/poll: correctly handle io_poll_add() return value on update",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68778",
                            "    - btrfs: don't log conflicting inode if it's a dir moved in the current",
                            "      transaction",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71119",
                            "    - powerpc/kexec: Enable SMT before waking offline CPUs",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71120",
                            "    - SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in",
                            "      gss_read_proxy_verf",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68811",
                            "    - svcrdma: use rc_pageoff for memcpy byte offset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68803",
                            "    - NFSD: NFSv4 file creation neglects setting ACL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71148",
                            "    - net/handshake: restore destructor on submit failure",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68788",
                            "    - fsnotify: do not generate ACCESS/MODIFY events on child for special",
                            "      files",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71125",
                            "    - tracing: Do not register unsupported perf events",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68784",
                            "    - xfs: fix a UAF problem in xattr repair",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71104",
                            "    - KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV",
                            "      timer",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71116",
                            "    - libceph: make decode_pool() more resilient against corrupted osdmaps",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71121",
                            "    - parisc: Do not reprogram affinitiy on ASP chip",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71102",
                            "    - scs: fix a wrong parameter in __scs_magic",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68804",
                            "    - platform/chrome: cros_ec_ishtp: Fix UAF after unbinding driver",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68771",
                            "    - ocfs2: fix kernel BUG in ocfs2_find_victim_chain",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68808",
                            "    - media: vidtv: initialize local pointers upon transfer of memory",
                            "      ownership",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68810",
                            "    - KVM: Disallow toggling KVM_MEM_GUEST_MEMFD on an existing memslot",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68769",
                            "    - f2fs: fix return value of f2fs_recover_fsync_data()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71069",
                            "    - f2fs: invalidate dentry cache on failed whiteout creation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68796",
                            "    - f2fs: fix to avoid updating zero-sized extent in extent cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71065",
                            "    - f2fs: fix to avoid potential deadlock",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71107",
                            "    - f2fs: ensure node page reads complete before f2fs_put_super() finishes",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68782",
                            "    - scsi: target: Reset t_task_cdb pointer in error case",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71075",
                            "    - scsi: aic94xx: fix use-after-free in device removal path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68818",
                            "    - scsi: Revert \"scsi: qla2xxx: Perform lockless command completion in",
                            "      abort path\"",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68797",
                            "    - char: applicom: fix NULL pointer dereference in ac_ioctl",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68781",
                            "    - usb: phy: fsl-usb: Fix use-after-free in delayed work during device",
                            "      removal",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68819",
                            "    - media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71126",
                            "    - mptcp: avoid deadlock on fallback while reinjecting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68820",
                            "    - ext4: xattr: fix null pointer deref in ext4_raw_inode()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71123",
                            "    - ext4: fix string copying in parse_apply_sb_mount_options()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71077",
                            "    - tpm: Cap the number of PCR banks",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68814",
                            "    - io_uring: fix filename leak in __io_openat_prep()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71147",
                            "    - KEYS: trusted: Fix a memory leak in tpm2_load_cmd",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71151",
                            "    - cifs: Fix memory and information leak in smb3_reconfigure()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71109",
                            "    - MIPS: ftrace: Fix memory corruption when kernel is located beyond 32",
                            "      bits",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71108",
                            "    - usb: typec: ucsi: Handle incorrect num_connectors capability",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71114",
                            "    - via_wdt: fix critical boot hang due to unnamed resource allocation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68783",
                            "    - ALSA: usb-mixer: us16x08: validate meter packet indices",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68776",
                            "    - net/hsr: fix NULL pointer dereference in prp_get_untagged_frame()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68773",
                            "    - spi: fsl-cpm: Check length parity before switching to 16 bit mode",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68822",
                            "    - Input: alps - fix use-after-free bugs caused by dev3_register_work",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71073",
                            "    - Input: lkkbd - disable pending work before freeing device",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68777",
                            "    - Input: ti_am335x_tsc - fix off-by-one error in wire_order validation",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68806",
                            "    - ksmbd: fix buffer validation by including null terminator size in EA",
                            "      length",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71150",
                            "    - ksmbd: Fix refcount leak when invalid session is found on session lookup",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68786",
                            "    - ksmbd: skip lock-range check on equal size to avoid size==0 underflow",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71076",
                            "    - drm/xe/oa: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68802",
                            "    - drm/xe: Limit num_syncs to prevent oversized allocations",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68789",
                            "    - hwmon: (ibmpex) fix use-after-free in high/low store",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71112",
                            "    - net: hns3: add VLAN id validation before using",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71064",
                            "    - net: hns3: using the num_tqps in the vf driver to apply for resources",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68775",
                            "    - net/handshake: duplicate handshake cancellations leak socket",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68816",
                            "    - net/mlx5: fw_tracer, Validate format string parameters",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68795",
                            "    - ethtool: Avoid overflowing userspace buffer on stats query",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71122",
                            "    - iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68815",
                            "    - net/sched: ets: Remove drr class from the active list if it changes to",
                            "      strict",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68799",
                            "    - caif: fix integer underflow in cffrml_receive()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68813",
                            "    - ipvs: fix ipv4 null-ptr-deref in route error path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68785",
                            "    - net: openvswitch: fix middle attribute validation in push_nsh() action",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68770",
                            "    - bnxt_en: Fix XDP_TX path",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68800",
                            "    - mlxsw: spectrum_mr: Fix use-after-free when updating multicast route",
                            "      stats",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68801",
                            "    - mlxsw: spectrum_router: Fix neighbour use-after-free",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71066",
                            "    - net/sched: ets: Always remove class from active list before deleting in",
                            "      ets_qdisc_change",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68787",
                            "    - netrom: Fix memory leak in nr_sendmsg()",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68809",
                            "    - ksmbd: vfs: fix race on m_flags in vfs_cache",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68817",
                            "    - ksmbd: fix use-after-free in ksmbd_tree_connect_put under concurrency",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68767",
                            "    - hfsplus: Verify inode mode when loading from disk",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68774",
                            "    - hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71067",
                            "    - ntfs: set dummy blocksize to read boot_block when mounting",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71118",
                            "    - ACPICA: Avoid walking the Namespace if start_node is NULL",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68780",
                            "    - sched/deadline: only set free_cpus for online runqueues",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68798",
                            "    - perf/x86/amd: Check event before enable to avoid GPF",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68794",
                            "    - iomap: adjust read range correctly for non-block-aligned positions",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-71072",
                            "    - shmem: fix recovery on rename failures",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68351",
                            "    - exfat: fix refcount leak in exfat_find",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68736",
                            "    - landlock: Fix handling of disconnected directories",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68353",
                            "    - net: vxlan: prevent NULL deref in vxlan_xmit_one",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68745",
                            "    - scsi: qla2xxx: Clear cmds after chip reset",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68365",
                            "    - fs/ntfs3: Initialize allocated memory before use",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68368",
                            "    - md: init bioset in mddev_init",
                            "  * Questing update: upstream stable patchset 2026-03-04 (LP: #2142250) //",
                            "    CVE-2025-68725",
                            "    - bpf: Do not let BPF test infra emit invalid GSO types to stack",
                            "  * CVE-2026-23111",
                            "    - netfilter: nf_tables: fix inverted genmask check in",
                            "      nft_map_catchall_activate()",
                            "  * CVE-2026-23209",
                            "    - macvlan: fix error recovery in macvlan_common_newlink()",
                            "  * CVE-2026-23074",
                            "    - net/sched: Enforce that teql can only be used as root qdisc",
                            "  * CVE-2026-23060",
                            "    - crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN",
                            "      spec",
                            ""
                        ],
                        "package": "linux-riscv",
                        "version": "6.17.0-22.22.1",
                        "urgency": "medium",
                        "distributions": "questing",
                        "launchpad_bugs_fixed": [
                            2143424,
                            2143428,
                            2134400,
                            2137613,
                            2141276,
                            2141377,
                            2137272,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250,
                            2142250
                        ],
                        "author": "Sarah Emery <sarah.emery@canonical.com>",
                        "date": "Wed, 25 Mar 2026 12:01:17 +0100"
                    }
                ],
                "notes": "linux-tools-6.17.0-22-generic version '6.17.0-22.22.1' (source package linux-riscv version '6.17.0-22.22.1') was added. linux-tools-6.17.0-22-generic version '6.17.0-22.22.1' has the same source package name, linux-riscv, as removed package linux-headers-6.17.0-20-generic. As such we can use the source package version of the removed package, '6.17.0-20.20.1', as the starting point in our changelog diff. Kernel packages are an example of where the binary package name changes for the same source package. Using the removed package source package version as our starting point means we can still get meaningful changelog diffs even for what appears to be a new package.",
                "is_version_downgrade": false
            }
        ],
        "snap": []
    },
    "removed": {
        "deb": [
            {
                "name": "linux-headers-6.17.0-20-generic",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-image-6.17.0-20-generic",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-modules-6.17.0-20-generic",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-riscv-headers-6.17.0-20",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-riscv-tools-6.17.0-20",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null,
                "is_version_downgrade": false
            },
            {
                "name": "linux-tools-6.17.0-20-generic",
                "from_version": {
                    "source_package_name": "linux-riscv",
                    "source_package_version": "6.17.0-20.20.1",
                    "version": "6.17.0-20.20.1"
                },
                "to_version": {
                    "source_package_name": null,
                    "source_package_version": null,
                    "version": null
                },
                "cves": [],
                "launchpad_bugs_fixed": [],
                "changes": [],
                "notes": null,
                "is_version_downgrade": false
            }
        ],
        "snap": []
    },
    "notes": "Changelog diff for Ubuntu 25.10 questing image from release image serial 20260414 to 20260428",
    "from_series": "questing",
    "to_series": "questing",
    "from_serial": "20260414",
    "to_serial": "20260428",
    "from_manifest_filename": "release_manifest.previous",
    "to_manifest_filename": "manifest.current"
}